预设资料
# 预设资料
在预设资料中,可以对SQL资料与Python资料进行统一管理。

# 1. 创建预设资料
在预设资料
界面中,点击[新增]
按钮,打开新建窗口,填写资料编号、资料类型、资料内容等信息。
# 2. SQL预设资料
# 2.1. 编辑SQL预设资料
在预设资料
编辑窗口中,如果资料类型选择SQL
,需要选择数据库连接名称,在资料内容中填写SQL语句。SQL语句支持参数化查询。例如:
Insert Into Table_Test(FCode,FName) values(:F1,:F2)
1

如果需要检查SQL编写是否正确,可点击[SQL校验]
进行检查,如果语法正确,则不会弹出错误提示。该功能仅支持有返回结果集的SQL语句。
编辑完成后,点击[保存]
按钮保存预设资料。
# 2.2. 使用SQL预设资料
TaskRunner中可以通过以下方式来使用SQL预设资料:
通过WebSocket呼叫调用SQL预设资料以执行。
在自定程序、RestAPI 的程序编辑中使用UGMM.GetSQL来实现。比如使用以下方式来获取引用的SQL语句。
{ var D,DB; DB = UGMM.GetDBConnection("demo"); D = new TFDQuery(nil); D.Connection = DB; try{ D.SQL.Text = UGMM.GetSQL("SQL001"); D.ParamByName("F1").AsString = "001"; D.ParamByName("F2").AsString = "name"; D.ExecSQL; } finally{ D.Free; DB.Free; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 3. Python预设资料
# 3.1. 编辑Python预设资料
在预设资料
编辑窗口中,如果资料类型选择Python
,在资料内容中填写Python语句。
Python语句中支持外部传入参数,比如定义input
是外部可以使用的传入参数名称。则在Python脚本中,可以使用input.value
来获取传入参数的取值。

填写完成后,点击[保存]
按钮。
# 3.2. 使用Python预设资料
TaskRunner中可以通过以下方式来调用Python预设资料运行:
- 通过RestAPI呼叫,将Python脚本加入到任务队列中,等待运行完成。
- 通过WebSocket呼叫,将Python脚本加入到任务队列中,等待运行完成。
- 通过MQTT呼叫,将Python脚本加入到任务队列中,等待运行完成。
- 在自定程序的脚本编辑框中使用UGMM.AddPythonScriptTask,将Python脚本加入到任务队列中,等待运行完成。
TaskRunner中,通过UGMM.GetPython获取Python预设资料中创建的Python脚本:
//当python语句中出现引用`test.Value`时,触发此事件 function pvOnGetData(Sender,Data) { Data = "F:\\Program Files (x86)\\IsoFace\\TaskRunner\\File"; } //当python语句中出现给`test.Value`赋值的语句时,触发此事件 function pvOnSetData(Sender,Data) { UGMM.AddLog("test.Value = "+Data); } { var sl,pv; sl = new TStringList; pv = new TPythonDelphiVar(nil); try{ //从预设资料编号为`dcc_pid_train`的预设资料中获取Python脚本内容,其中包含了test的引用 sl.Text = UGMM.GetPython("dcc_pid_train"); //设定运行的python模块名称,主运行模块名称通常为__main__ pv.Module = "__main__"; //需要注入至python模块中的变量名称 pv.VarName = "test"; pv.OnGetData = &pvOnGetData; pv.OnSetData = &pvOnSetData; //使用设置中设定的Python引擎运行上述脚本 UGMM.PyEngineAndGIL_ExecStrings(sl,'',pv); } finally{ sl.Free; pv.Free; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32