自定程序
# Smart 自定程序
# 1. BaseFrom基类程序
基类程序在脚本中调用时,必须以FThis.开头。
# 1.1. AddDataSet
procedure AddDataSet(QDataSet: TRFDataSet);
说明: 将数据集加入到窗体DataSetList数据集合
- DoFirst程序语法中各部分说明
部分 | 说明 |
---|---|
QDataSet | 数据集对象 |
- 示例
Begin
//将数据集加入到DataSetList集合中
FThis.AddDataSet(FThis.DataSet1);
end;
2
3
4
# 1.2. DataSetMoveRowDown
procedure DataSetMoveRowDown(QDataSet: TRFDataSet; QSort: string =
'FEntryID');
2
说明: 数据集记录下移
- DataSetMoveRowDown程序语法中各部分说明
部分 | 说明 |
---|---|
QDataSet | 指定一个需要操作的数据集对象 |
QSort | 排序字段名称,默认FEntryID |
- 示例
Begin
//下移记录
FThis.DataSetMoveRowDown(FThis.dts1);
End;
2
3
4
# 1.3. DataSetMoveRowUp
procedure DataSetMoveRowUp(QDataSet: TRFDataSet; QSort: string =
'FEntryID');
2
说明: 数据集记录上移
- DataSetMoveRowUp程序语法中各部分说明
部分 | 说明 |
---|---|
QDataSet | 指定一个需要操作的数据集对象 |
QSort | 排序字段名称,默认FEntryID |
- 示例
Begin
//上移记录
FThis.DataSetMoveRowUp(FThis.dts1);
End;
2
3
4
# 1.4. DataSetRowCopy
procedure DataSetRowCopy(QDataSet: TRFDataSet);
说明: 复制一条数据集记录
- DataSetRowCopy程序语法中各部分说明
部分 | 说明 |
---|---|
QDataSet | 指定一个需要操作的数据集对象 |
- 示例
Begin
//复制一条记录
FThis.DataSetRowCopy (FThis.dts1);
End;
2
3
4
# 1.5. DataSetSort
procedure DataSetSort(QDataSet: TRFDataSet; QSort: string = 'FEntryID');
说明: 数据集排序
- DataSetSort程序语法中各部分说明
部分 | 说明 |
---|---|
QDataSet | 指定一个需要操作的数据集对象 |
QSort | 数据集排序字段名称,默认是FEntryID |
- 示例
begin
//排序数据集
FThis.DataSetSort(FThis.dts1);
end;
2
3
4
# 1.6. OpenModbusThread
Procedure OpenModbusThread;
说明: 激活窗体上所有Modbus线程
- 示例
Begin
FThis.OpenModbusThread;
end;
2
3
# 1.7. PostData
procedure TBaseForm.PostData(QDataSet: TRFDataSet);
说明: 保存数据
- DoFirst程序语法中各部分说明
部分 | 说明 |
---|---|
QDataSet | 数据集对象 |
- 示例
Begin
//提交数据集数据
FThis.PostData (FThis.DataSet1);
end;
2
3
4
# 1.8. PostData
procedure PostData(QDataSet: TRFDataSet);
说明: 提交数据集
- PostData程序语法中各部分说明
部分 | 说明 |
---|---|
QDataSet | 指定一个需要Post的数据集对象 |
- 示例
begin
//dts0数据集Post
FThis.PostData(FThis.dts0);
//也可以这样写
if FThis.dts0.State in dsEditModes then
FThis.dts0.Post;
end;
2
3
4
5
6
7
# 1.9. SetBookMark
procedure SetBookMark(QDataSet: TRFDataSet; QBK: Integer);
说明: 设置数据集书签
- SetBookMark程序语法中各部分说明
部分 | 说明 |
---|---|
QDataSet | 指定一个需要设置书签的数据集 |
QBK | 书签操作类型 0,1,2 |
- 示例
Begin
//获取数据集当前书签记录位置
FTHis.SetBookMark(FThis.dts0,1);
代码片段…
//回到原书签记录位置
FTHis.SetBookMark(FThis.dts0,2);
代码片段…
end;
2
3
4
5
6
7
8
# 1.10. SetDataParamValue
procedure SetDataParamValue(QDataSet: TRFDataSet; QIndex: Integer; QVar:
Variant);
2
说明: 数据集参数赋值
- SetDataParamValue程序语法中各部分说明
部分 | 说明 |
---|---|
QDataSet | 指定一个需要操作的数据集对象 |
QIndex | 数据集参数索引号 |
QVar | 参数值 |
- 示例
begin
//数据集参数赋值
FThis.SetDataParamValue(FThis.dts1,0, '123');
end;
2
3
4
# 1.11. StopModbusThread
Procedure StopModbusThread;
说明: 关闭窗体上所有Modbus线程
- 示例
Begin
FThis.StopModbusThread;
end;
2
3
# 1.12. TransSQLToDataSet
procedure TransSQLToDataSet(QSQLs: UnicodeString; QDataSets: TRFDataSet;
bTrans: Boolean = true);
2
说明: SQL通用数据传递
- TransSQLToDataSet程序语法中各部分说明
部分 | 说明 |
---|---|
QSQLs | SQL字符串,用来获取源数据 |
QDataSets | 目标数据集,需要接收数据的数据集对象 |
bTrans | 当目标字段不为空时,是否进行覆盖 |
- 示例
Var
vSQL:string;
Begin
vSQL:= 'select * from Basic_Process Order By FEntryID';
//将SQL语句执行结果传递到数据集dts1上
FThis.TransSQLToDataSet(vSQL,FThis.dts1);
End;
2
3
4
5
6
7
# 2. DM程序
DM程序在脚本中调用时,必须以DM.开头
# 2.1. CreateDataSet
procedure CreateDataSet(var QDataSet: TRFDataSet; AOwner: TComponent = nil);
说明: 创建数据集对象
- 程序语法中各部分说明
部分 | 说明 |
---|---|
QDataSet | 数据集变量 |
AOwner | 所有者 |
- 示例
Var
vDataSet:TRFDataSet;
begin
//创建vDataSet对象
DM.CreateDataSet(vDataSet,nil);
//下面创建方法与CreateDataSet效果一样
vDataSet:= TRFDataSet.Create(nil);
vDataSet.Connection := DM.SQDBConnection;
end;
2
3
4
5
6
7
8
9
# 2.2. CreateTableToSqlScript
procedure CreateTableToSqlScript(ATable, AKeyFiled, ACurrID: string;
AFileName: string = '');
2
说明: 将表数据导出
- CreateTableToSqlScript程序语法中各部分说明
部分 | 说明 |
---|---|
ATable | 数据表名 |
AKeyFiled | 主键字段名 |
ACurrID | 主键值 |
AFileName | 导出文件名称 |
- 示例
begin
//导出Basic_Item表的全部数据
DM.CreateTableToSqlScript('Basic_Item','','');
//导出Basic_Item表主键值为123的数据
DM.CreateTableToSqlScript('Basic_Item','FInterID','123','');
//导出Basic_Item表的全部数据,并指定文件名称
DM.CreateTableToSqlScript('Basic_Item','','Data_Basic_Item');
end;
2
3
4
5
6
7
8
# 2.3. FillComboBox
procedure FillComboBox(QControl: TComboBox; QSQL: string);
2
说明: 填充TComboBox下拉控件
- FillComboBox程序语法中各部分说明
部分 | 说明 |
---|---|
QControl | 指定一个需要填充数据的TComboBox对象 |
QSQL | 指定一个SQL字符串,用来获取填充数据 |
# 2.4. FillDBComboBox
procedure FillDBComboBox(QControl: TComboBox; QSQL: string);
说明: 填充TDBComboBox下拉控件
- FillDBComboBox程序语法中各部分说明
部分 | 说明 |
---|---|
QControl | 指定一个需要填充数据的TcxDBComboBox对象 |
QSQL | 指定一个SQL字符串,用来获取填充数据 |
- 示例
Var
vSQL:String;
begin
vSQL:= 'Select FWhsName as FName from Basic_Whs';
DM.FillDBComboBox(FThis.ComboBox1, vSQL);
end;
2
3
4
5
6
# 2.5. SetData
Procedure SetData(QSourceDataSet, QTargetDataSet: TRFDataSet);
说明: 数据集对拷
- SetData程序语法中各部分说明
部分 | 说明 |
---|---|
QSourceDataSet | 源数据集 |
QTargetDataSet | 目标数据集 |
- 示例
Var
vTargetDataSet: TRFDataSet;
begin
//将dts0数据集数据拷贝给vTargetDataSet
vTargetDataSet:= TRFDataSet.Create(nil);
DBFun.SetData(FThis.dts0, vTargetDataSet);
end;
2
3
4
5
6
7
# 2.6. SetDataParamValue
procedure SetDataParamValue(QDataSet: TRFDataSet; QIndex: Integer; QVar:
Variant);
2
说明: 数据集参数赋值
- SetDataParamValue程序语法中各部分说明
部分 | 说明 |
---|---|
QDataSet | 指定一个需要操作的数据集对象 |
QIndex | 数据集参数索引号 |
QVar | 参数值 |
- 示例
begin
//数据集参数赋值
DM.SetDataParamValue(FThis.dts1,0, '123');
end;
2
3
4
# 2.7. SetPictureFileToFieldBlob
Procedure SetPictureFileToFieldBlob(QFileName: string; QFiled: TField);
说明: 将图片保存到数据字段
- SetPictureFileToFieldBlob程序语法中各部分说明
部分 | 说明 |
---|---|
QFileName | 图片名称,来自文件 |
QFiled | 数据集字段 |
- 示例
begin
//将c:\\Temp.jpg,保存到数据字段 FPicture中
DM.SetPictureFileToFieldBlob('c:\\Temp.jpg',FThis.dts0.FieldByName('FPicture'));
end;
2
3
4
# 3. PaxFunc程序
PaxFunc注册程序在脚本中调用时,必须以PaxFunc.开头。
# 3.1. AdvancedInfo
Procedure AdvancedInfo(AMapView: TAMapView);
说明: 加载高德地图信息
- AdvancedInfo程序语法中各部分说明
部分 | 说明 |
---|---|
AMapView | 高德地图控件 |
- 示例
Begin
paxfunc.AdvancedInfo(FThis.AMapView1);
FThis.AMapView1.LoadMap;
End;
2
3
4
# 3.2. Base64Put
procedure Base64Put(Base64Str,FileName:String);
说明: base64字符串保存为文件
- Base64Put程序语法中各部分说明
部分 | 说明 |
---|---|
Base64Str | 指定一个Base64编码字符串。 |
FileName | 需要保存的文件路径。 |
# 3.3. ChangeCamera
Procedure ChangeCamera(QcomboBox: TcomboBox; QRVCamera: TRVCamera);
说明: 选择视频列表
- ChangeCamera程序语法中各部分说明
部分 | 说明 |
---|---|
QcomboBox | 视频下拉列表控件 |
QRVCamera | 摄像头控件 |
- 示例
Begin
PaxFunc.ChangeCamera(FThis.cmbCamera,FThis.RVCamera1);
End;
2
3
# 3.4. CloseCamera
Procedure CloseCamera(QRVCamera: TRVCamera);
说明: 关闭摄像头
- CloseCamera程序语法中各部分说明
部分 | 说明 |
---|---|
QRVCamera | 摄像头控件 |
- 示例
Begin
PaxFunc.CloseCamera(FThis.RVCamera1);
End;
2
3
# 3.5. GetMarkerAddress
Procedure GetMarkerAddress(AMapView: TVCLCCAMapView; ALocation: TCCLngLat;
AFrom:TBaseForm);
2
说明: 获取地图标记地址
- GetMarkerAddress程序语法中各部分说明
部分 | 说明 |
---|---|
AMapView | 高德地图控件 |
ALocation | 经纬度对象 |
AFrom | 窗体对象 |
- 示例
procedure TMyHandler.VCLCCAMAPVIEW1MAPCLICKEVENT(ASender: TObject; APos:TCCLngLat);
var
vTCCAMapMarker:TCCAMapMarker;
begin
//点击地图时的经纬坐标
FPos:=APos;
//显示经纬度到标签上
FThis.lbJW.Caption := FloatToStr(APos.Longitude)+','+ FloatToStr(APos.Latitude);
FThis.TagString := '';
//获取经纬度的地址
paxfunc.GetMarkerAddress(FThis.VCLCCAMapView1,APos,FThis);
//清除地图标记
FThis.VCLCCAMapView1.Markers.Clear;
//增加一个标记到地图上
vTCCAMapMarker := paxfunc.AddMarker(FThis.VCLCCAMapView1);
if FThis.VCLCCAMapView1.MapLoadCompleted then
begin
with vTCCAMapMarker do
begin
//标记地图信息
Title := FThis.TagString;
Position.Longitude := APos.Longitude;
Position.Latitude := APos.Latitude;
// 设置了Content属性Icon属性失效。要自定义丰富的标记就用Content属性吧
Content:='<div>';
Content:=Content+'<imagesrc="http://webapi.amap.com/theme/v1.3/markers/n/mark_r.png"></image>';
//Content:=Content+'<span style="white-space: nowrap;border:1px solid#fff;background-color:#ff0000;font-size: 12px;color:white; padding: 4px10px;">'+FThis.TagString+'</span>';
// 图片19 x 31 pixels
Content:=Content+'</div>'; // 必须有根div元素 不然缩放时图标位置不会更新
// 绘制
draw;
end;
end;
end;
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
33
34
35
36
37
38
39
40
41
42
# 3.6. keybdEvent
Procedure keybdEvent(bVk, bScan: Byte; dwFlags: Cardinal;dwExtraInfo:
Cardinal);
2
说明: 模拟键盘操作
- keybdEvent程序语法中各部分说明
部分 | 说明 |
---|---|
bVk | 虚拟键值,如回车键为vk_return, tab键为vk_tab。 |
bScan | 扫描码,一般不用设置,用0代替就行。 |
dwFlags | 选项标志,如果为keydown则置0即可,如果为keyup则设成“KEYEVENTF_KEYUP”。 |
dwExtraInfo | 额外信息,一般不用设置,用0代替就行。 |
- 示例
Begin
//例子1:模拟按下'A'键
PaxFunc.keybdEvent (65,0,0,0);
PaxFunc.keybdEvent (65,0,KEYEVENTF_KEYUP,0);
//例子2:模拟按下'ALT+F4'键
PaxFunc.keybdEvent (18,0,0,0);
PaxFunc.keybdEvent (115,0,0,0);
PaxFunc.keybdEvent (115,0,KEYEVENTF_KEYUP,0);
PaxFunc.keybdEvent (18,0,KEYEVENTF_KEYUP,0);
End;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 3.7. LoadCamerasList
Procedure LoadCamerasList(QCamerasList,QCameraSourceList: TStrings);
说明: 加载视频列表
- LoadCamerasList程序语法中各部分说明
部分 | 说明 |
---|---|
QCamerasList | 摄像头列表 |
QCameraSourceList | 摄像头资源列表 |
- 示例
Begin
End;
2
3
# 3.8. Msg
Procedure Msg(aMsg: string; aTitle: string = ''; iTime: Integer = 2; bTime:
Boolean = true);
2
**说明:**消息对话框
- 程序语法中各部分说明
部分 | 说明 |
---|---|
aMsg | 消息内容 |
aTitle | 消息对话框标题 |
iTime | 自动关闭时间(秒) |
bTime | 是否启用自动关闭定时器 |
- 示例
Begin
PaxFunc.Msg('你好!这是一个消息对话框!','提示',2,true);
End;
2
3
- 运行结果
# 3.9. OpenAPP
procedure OpenAPP(QFileName:string;QParam:string='';QShowCmd:integer=2);
说明: 打开第三方程序
- OpenAPP程序语法中各部分说明
部分 | 说明 |
---|---|
QFileName | 程序名称带路径 |
QParam | 传输进去的参数 |
QShowCmd |
- 示例
Begin
//打开Smart
PaxFunc.OpenAPP('Smart.exe','',2);
End;
2
3
4
# 3.10. OpenCamera
Procedure OpenCamera(QRVCamera: TRVCamera);
说明: ChangeCamera打开摄像头
- OpenCamera程序语法中各部分说明
部分 | 说明 |
---|---|
QRVCamera | 摄像头控件 |
- 示例
Begin
paxfunc.OpenForm('WebCamera','WebCamera');
End;
2
3
# 3.11. OpenPlugProc
procedure OpenPlugProc(const PlugName,ProcName: string);
说明: 调用插件功能
- 程序语法中各部分说明
部分 | 说明 |
---|---|
PlugName | 插件名称 |
ProcName | 插件中注册的方法 |
- 示例
Begin
//调用插件Test中的ShowFrom方法
PaxFunc.OpenPlugProc('Test','ShowFrom');
End;
2
3
4
# 3.12. SetCamView
Procedure SetCamView(QCamView: TRVCamView; QRVCamera: TRVCamera);
说明:绑定摄像头到视频显示控件
SetCamView程序语法中各部分说明
部分 | 说明 |
---|---|
QCamView | 视频显示控件 |
QRVCamera | 摄像头控件 |
示例
Begin
PaxFunc.SetCamView(FThis.RVCamView, FThis.RVCamera1);
End;
2
3
# 3.13. SetFocus
Procedure SetFocus(QControl: TWinControl);
**说明:**设置控件焦点
- SetFocus程序语法中各部分说明
部分 | 说明 |
---|---|
QControl | 需要设置焦点的控件 |
- 示例
Begin
PaxFunc.SetFocus(FThis.Edit1);
End;
2
3
# 3.14. SetPropValue
Procedure SetPropValue(QControl:TComponent; QControlProp: string; QValue:
Variant);
2
说明: 设置控件属性
- SetPropValue程序语法中各部分说明
部分 | 说明 |
---|---|
QControl | 控件对象 |
QControlProp | 控件属性 |
QValue | 属性值 |
- 示例
Begin
//将控件FThis.dbdts0FCustCode的Enable设置成Fasle
PaxFunc.SetPropValue(FThis.dbdts0FCustCode, 'Enable',False);
End;
2
3
4
# 3.15. ShowReport
Procedure ShowReport(QModuleID: string; QBaseForm: TBaseForm; QCurrID:
string = ''; QMXID: string = '';QShowPrintDlg: Boolean = true; QPreview:
Boolean = true);
2
3
说明: 打开报表设计窗体
- ShowReport程序语法中各部分说明
部分 | 说明 |
---|---|
QModuleID | 模块ID |
QBaseForm | 窗体对象 |
QCurrID | 主键值 |
QMXID | 报表ID |
QShowPrintDlg | 是否打开打印对话框 |
QPreview | 是否预览 |
- 示例
begin
//打开报表配置
PaxFunc.ShowReport('ReportPrint',FThis,'','',false,false);
//预览报表
PaxFunc.ShowReport('ReportPrint',FThis,'','EB8BA008-4730-4BAC-AD5F-2D469C2FB732',false,True);
end;
2
3
4
5
6
# 3.16. Speak
procedure Speak(QSpeak: string);
说明: 将字符串转成语音
- 程序语法中各部分说明
部分 | 说明 |
---|---|
QSpeak | 需要转换成语音的内容 |
- 示例
Begin
PaxFunc.Speak('我是中国人,I am Chinese!');
End;
2
3
# 3.17. WriteErrorLog
procedure WriteErrorLog(AErrorText: string);
说明: 写入错误日志
- WriteErrorLog程序语法中各部分说明
部分 | 说明 |
---|---|
AErrorText | 错误日志内容 |
- 示例
Begin
//指定日志文件增加日志内容
PaxFunc. WriteErrorLog('数据读取失败失败!');
End;
2
3
4
# 3.18. WriteLog
procedure WriteLog(aFileName: string; ALog: string);
说明: 指定文件写入日志
- WriteLog程序语法中各部分说明
部分 | 说明 |
---|---|
aFileName | 日志文件名称 |
ALog | 日志内容 |
- 示例
Begin
//指定日志文件增加日志内容
PaxFunc.WriteLog ('2019072301.txt', '测试');
End;
2
3
4
# 3.19. LoadStructureJSONArray
procedure LoadStructureJSONArray(ADataSet:TDataSet;const AJSONArray: TJSONArray; const AOwns: Boolean = True);
说明: 将数据集的数据表结构从JSONArrary中加载。
- LoadStructureJSONArray程序语法中各部分说明
部分 | 说明 |
---|---|
ADataSet | 设置要加载的数据集 |
AJSONArray | 设置源JSON队列 |
AOwns | 是否占用 |
# 3.20. LoadStructureJSONString
procedure LoadStructureJSONString(ADataSet:TDataSet;const AJSONString: string);
说明: 将数据集的数据表结构从JSON格式的字符串中读取加载。
- LoadStructureJSONString程序语法中各部分说明
部分 | 说明 |
---|---|
ADataSet | 设置要加载的数据集 |
AJSONString | 设置源JSON字符串 |
# 3.21. LoadFromJSONObject
procedure LoadFromJSONObject(ADataSet:TDataSet;const AJSONObject: TJSONObject; const AOwns: Boolean = True)
说明: 数据集从JSON对象中获取加载单条记录。
- LoadFromJSONObject程序语法中各部分说明
部分 | 说明 |
---|---|
ADataSet | 设置要加载的数据集 |
AJSONObject | 设置源JSON对象 |
AOwns | 是否占用 |
# 3.22. LoadFromJSONArray
procedure LoadFromJSONArray(ADataSet:TDataSet;const AJSONArray: TJSONArray; const AOwns: Boolean = True);
说明: 数据集从JSON对象序列中获取加载多条记录。
- LoadFromJSONArray程序语法中各部分说明
部分 | 说明 |
---|---|
ADataSet | 设置要加载的数据集 |
AJSONArray | 设置源JSON队列 |
AOwns | 是否占用 |
# 3.23. LoadFromJSONString
procedure LoadFromJSONString(ADataSet:TDataSet;const AJSONString: string);
说明: 数据集从JSON对象的字符串中获取加载数据记录。
- LoadFromJSONString程序语法中各部分说明
部分 | 说明 |
---|---|
ADataSet | 设置要加载的数据集 |
AJSONString | 设置源JSON字符串 |
# 3.24. MergeFromJSONObject
procedure MergeFromJSONObject(ADataSet:TDataSet;const AJSONObject: TJSONObject; const AOwns: Boolean = True);
说明: 数据集从JSON对象中读取单条数据记录并合并至数据集中。
- MergeFromJSONObject程序语法中各部分说明
部分 | 说明 |
---|---|
ADataSet | 设置要加载的数据集 |
AJSONObject | 设置源JSON对象 |
AOwns | 是否占用 |
# 3.25. MergeFromJSONString
procedure MergeFromJSONString(ADataSet:TDataSet;const AJSONString: string);
说明: 数据集从JSON对象字符串中读取数据记录并合并至数据集中。
- MergeFromJSONString程序语法中各部分说明
部分 | 说明 |
---|---|
ADataSet | 设置要加载的数据集 |
AJSONString | 设置源JSON字符串 |
# 4. IOT程序
IOT程序在脚本中调用时,必须以IOT.开头。
# 4.1. ComAddList
procedure ComAddList(ATComboBox: TComboBox; AComPort: TComPort);
- ComAddList程序语法中各部分说明
部分 | 说明 |
---|---|
ATComboBox | 下拉控件用来显示串口列表 |
AComPort | 串口通讯控件 |
- 示例
Begin
//将设备所有串口端口加入到下拉列表控件中
IOT.ComAddList(FThis.ComPort1, FThis.ComboBox1);
End;
2
3
4
# 4.2. ComClose
procedure ComClose(AComPort: TComPort);
说明: 关闭串口
- 示例
Begin
//关闭串口
IOT.ComClose(FThis.ComPort1);
End;
2
3
4
# 4.3. ComConfig
procedure ComConfig(AComPort: TComPort);
说明: 调用串口配置窗体
- ComConfig程序语法中各部分说明
部分 | 说明 |
---|---|
AComPort | 串口通讯控件 |
- 示例
Begin
//打开串口配置窗体
IOT.ComConfig(FThis.ComPort1);
End;
2
3
4
# 4.4. ComOpen
procedure ComOpen(AComPort: TComPort);
2
说明: 打开串口
- ComOpen程序语法中各部分说明
部分 | 说明 |
---|---|
AComPort | 串口通讯控件 |
- 示例
Begin
//打开串口
IOT.ComOpen(FThis.ComPort1);
End;
2
3
4
# 4.5. ComWriteAnsiChar
procedure ComWriteAnsiChar(AComPort:TComPort;const Value: AnsiChar);
说明: 向串口发送AnsiChar数据
ComWriteAnsiChar程序语法中各部分说明
示例
Begin
IOT.ComWriteAnsiChar(FThis.ComPort1, 'A');
End;
2
3
# 4.6. ComWriteAnsiLine
procedure ComWriteAnsiLine(AComPort:TComPort;const Value: AnsiString);
说明: 向串口发送AnsiString数据
ComWriteAnsiLine程序语法中各部分说明
示例
Begin
// FThis.Memo1.Lines.Text 内容
//begin
SIZE 40 mm,30 mm
CLS
TEXT 50,30,"TSS24.BF2",0,1,1,"商品清单"
TEXT 50,45,"4",0,1,1,"--------------------"
TEXT 50,60,"TSS24.BF2",0,1,1,"红塔山 1 15 15 "
TEXT 50,90,"TSS24.BF2",0,1,1,"娃哈哈 1 15 15 "
TEXT 50,120,"TSS24.BF2",0,1,1,"牛肉干 1 15 15 "
TEXT 50,150,"TSS24.BF2",0,1,1,"红牛 1 15 15 "
TEXT 50,170,"4",0,1,1,"--------------------"
TEXT 50,190,"TSS24.BF2",0,1,1,"合计 1 15 15 "
QRCODE 50,20,L,4,A,0,"www.gainscha.com"
PRINT 1
EOP
//end
IOT.ComWriteAnsiLine(FThis.ComPort1,FThis.Memo1.Lines.Text);
End;
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
33
# 4.7. ComWriteChar
procedure ComWriteChar(AComPort:TComPort;const Value: Char);
说明: 向串口发送Char数据
ComWriteChar程序语法中各部分说明
示例
Begin
IOT.ComWriteChar(FThis.ComPort1, 'T');
End;
2
3
# 4.8. ComWriteString
procedure ComWriteString(AComPort:TComPort;const Value: String);
说明: 向串口发送String数据
ComWriteString程序语法中各部分说明
示例
Begin
IOT.ComWriteString (FThis.ComPort1, 'AABBCC');
End;
2
3
# 4.9. MQTTWrite
procedure MQTTWrite(QMQTTChannel:TMQTTChannel;QItemIndex:Integer; QTopic,
QPayload: string);
2
说明: 向MQTT发送数据
- MQTTWrite程序语法中各部分说明
部分 | 说明 |
---|---|
QMQTTChannel | MQTT集合对象 |
QItemIndex | MQTTItem索引 |
QTopic | 主题 |
QPayload | 内容 |
- 示例
Begin
IOT. MQTTWrite(FThis. MQTTChannel1,0, 'T','T');
End;
2
3
# 4.10. OPCWrite
Procedure OPCWrite(QOPCServer:TdOPCDAClient;QGroupIndex,QItemIndex:Integer;QValue:Variant);
说明: 向OPC Item发送数据
- OPCWrite程序语法中各部分说明
部分 | 说明 |
---|---|
QOPCServer | OPCServer |
QGroupIndex | OPC分组ID |
QItemIndex | OPC Item 索引 |
QValue | 发送的数据 |
- 示例
Begin
IOT.OPCWrite (FThis.dOPCDAClient1,0,0,1);
End;
2
3
# 4.11. RTUWrite
procedure RTUWrite(QItem:TModbusRTUWriteChannel;QIndex:Integer);
说明: 执行Modbus RTU写数据操作
- RTUWrite程序语法中各部分说明
部分 | 说明 |
---|---|
QItem | ModbusRTU集合 |
QIndex | ModbusRTU Item索引 |
- 示例
Begin
FThis.ModbusRTUWriteChannel1.ModbusList[0].DataValue := 1;
IOT.RTUWrite(FThis.ModbusRTUWriteChannel1,0);
End;
2
3
4
# 4.12. TCPWrite
procedure TCPWrite(QItem:TModbusTCPWriteChannel;QIndex:Integer);
说明: 执行Modbus TCP写数据操作
- TCPWrite程序语法中各部分说明
部分 | 说明 |
---|---|
QItem | ModbusTCP集合 |
QIndex | ModbusTCP Item索引 |
- 示例
Begin
FThis.ModbusTCPWriteChannel1.ModbusList[0].DataValue := 1;
IOT.TCPWrite(FThis.ModbusTCPWriteChannel1,0);
End;
2
3
4