爱招飞帮助手册 爱招飞帮助手册
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
  • Smart帮助主页
  • 学习手册

    • 基本入门

    • 功能介绍

    • 控件说明

    • 功能用法

    • 专用模板

    • 开发流程

    • 函数程序

      • 系统函数
      • 系统程序
      • 自定函数
      • 自定程序
        • 1. BaseFrom基类程序
          • 1.1. AddDataSet
          • 1.2. DataSetMoveRowDown
          • 1.3. DataSetMoveRowUp
          • 1.4. DataSetRowCopy
          • 1.5. DataSetSort
          • 1.6. OpenModbusThread
          • 1.7. PostData
          • 1.8. PostData
          • 1.9. SetBookMark
          • 1.10. SetDataParamValue
          • 1.11. StopModbusThread
          • 1.12. TransSQLToDataSet
        • 2. DM程序
          • 2.1. CreateDataSet
          • 2.2. CreateTableToSqlScript
          • 2.3. FillComboBox
          • 2.4. FillDBComboBox
          • 2.5. SetData
          • 2.6. SetDataParamValue
          • 2.7. SetPictureFileToFieldBlob
        • 3. PaxFunc程序
          • 3.1. AdvancedInfo
          • 3.2. Base64Put
          • 3.3. ChangeCamera
          • 3.4. CloseCamera
          • 3.5. GetMarkerAddress
          • 3.6. keybdEvent
          • 3.7. LoadCamerasList
          • 3.8. Msg
          • 3.9. OpenAPP
          • 3.10. OpenCamera
          • 3.11. OpenPlugProc
          • 3.12. SetCamView
          • 3.13. SetFocus
          • 3.14. SetPropValue
          • 3.15. ShowReport
          • 3.16. Speak
          • 3.17. WriteErrorLog
          • 3.18. WriteLog
          • 3.19. LoadStructureJSONArray
          • 3.20. LoadStructureJSONString
          • 3.21. LoadFromJSONObject
          • 3.22. LoadFromJSONArray
          • 3.23. LoadFromJSONString
          • 3.24. MergeFromJSONObject
          • 3.25. MergeFromJSONString
        • 4. IOT程序
          • 4.1. ComAddList
          • 4.2. ComClose
          • 4.3. ComConfig
          • 4.4. ComOpen
          • 4.5. ComWriteAnsiChar
          • 4.6. ComWriteAnsiLine
          • 4.7. ComWriteChar
          • 4.8. ComWriteString
          • 4.9. MQTTWrite
          • 4.10. OPCWrite
          • 4.11. RTUWrite
          • 4.12. TCPWrite
  • 开发手册

目录

自定程序

# Smart 自定程序

# 1. BaseFrom基类程序

基类程序在脚本中调用时,必须以FThis.开头。

# 1.1. AddDataSet

procedure AddDataSet(QDataSet: TRFDataSet);
1

说明: 将数据集加入到窗体DataSetList数据集合

  • DoFirst程序语法中各部分说明
部分 说明
QDataSet 数据集对象
  • 示例
Begin
    //将数据集加入到DataSetList集合中
	FThis.AddDataSet(FThis.DataSet1);
end;
1
2
3
4

# 1.2. DataSetMoveRowDown

procedure DataSetMoveRowDown(QDataSet: TRFDataSet; QSort: string =
    'FEntryID');
1
2

说明: 数据集记录下移

  • DataSetMoveRowDown程序语法中各部分说明
部分 说明
QDataSet 指定一个需要操作的数据集对象
QSort 排序字段名称,默认FEntryID
  • 示例
Begin
    //下移记录
    FThis.DataSetMoveRowDown(FThis.dts1);
End;
1
2
3
4

# 1.3. DataSetMoveRowUp

procedure DataSetMoveRowUp(QDataSet: TRFDataSet; QSort: string =
    'FEntryID');
1
2

说明: 数据集记录上移

  • DataSetMoveRowUp程序语法中各部分说明
部分 说明
QDataSet 指定一个需要操作的数据集对象
QSort 排序字段名称,默认FEntryID
  • 示例
Begin
    //上移记录
    FThis.DataSetMoveRowUp(FThis.dts1);
End;
1
2
3
4

# 1.4. DataSetRowCopy

procedure DataSetRowCopy(QDataSet: TRFDataSet);
1

说明: 复制一条数据集记录

  • DataSetRowCopy程序语法中各部分说明
部分 说明
QDataSet 指定一个需要操作的数据集对象
  • 示例
Begin
    //复制一条记录
    FThis.DataSetRowCopy (FThis.dts1);
End;
1
2
3
4

# 1.5. DataSetSort

procedure DataSetSort(QDataSet: TRFDataSet; QSort: string = 'FEntryID');
1

说明: 数据集排序

  • DataSetSort程序语法中各部分说明
部分 说明
QDataSet 指定一个需要操作的数据集对象
QSort 数据集排序字段名称,默认是FEntryID
  • 示例
begin
    //排序数据集
    FThis.DataSetSort(FThis.dts1);
end;
1
2
3
4

# 1.6. OpenModbusThread

Procedure OpenModbusThread;
1

说明: 激活窗体上所有Modbus线程

  • 示例
Begin
	FThis.OpenModbusThread;
end;
1
2
3

# 1.7. PostData

procedure TBaseForm.PostData(QDataSet: TRFDataSet);
1

说明: 保存数据

  • DoFirst程序语法中各部分说明
部分 说明
QDataSet 数据集对象
  • 示例
Begin
    //提交数据集数据
    FThis.PostData (FThis.DataSet1);
end;
1
2
3
4

# 1.8. PostData

procedure PostData(QDataSet: TRFDataSet);
1

说明: 提交数据集

  • PostData程序语法中各部分说明
部分 说明
QDataSet 指定一个需要Post的数据集对象
  • 示例
begin
    //dts0数据集Post
    FThis.PostData(FThis.dts0);
    //也可以这样写
    if FThis.dts0.State in dsEditModes then
    FThis.dts0.Post;
end;
1
2
3
4
5
6
7

# 1.9. SetBookMark

procedure SetBookMark(QDataSet: TRFDataSet; QBK: Integer);
1

说明: 设置数据集书签

  • SetBookMark程序语法中各部分说明
部分 说明
QDataSet 指定一个需要设置书签的数据集
QBK 书签操作类型 0,1,2
  • 示例
Begin
    //获取数据集当前书签记录位置
    FTHis.SetBookMark(FThis.dts0,1);
    代码片段…
    //回到原书签记录位置
    FTHis.SetBookMark(FThis.dts0,2);
    代码片段…
end;
1
2
3
4
5
6
7
8

# 1.10. SetDataParamValue

procedure SetDataParamValue(QDataSet: TRFDataSet; QIndex: Integer; QVar:
    Variant);
1
2

说明: 数据集参数赋值

  • SetDataParamValue程序语法中各部分说明
部分 说明
QDataSet 指定一个需要操作的数据集对象
QIndex 数据集参数索引号
QVar 参数值
  • 示例
begin
    //数据集参数赋值
    FThis.SetDataParamValue(FThis.dts1,0, '123');
end;
1
2
3
4

# 1.11. StopModbusThread

Procedure StopModbusThread;
1

说明: 关闭窗体上所有Modbus线程

  • 示例
Begin
	FThis.StopModbusThread;
end;
1
2
3

# 1.12. TransSQLToDataSet

procedure TransSQLToDataSet(QSQLs: UnicodeString; QDataSets: TRFDataSet;
    bTrans: Boolean = true);
1
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;
1
2
3
4
5
6
7

# 2. DM程序

DM程序在脚本中调用时,必须以DM.开头

# 2.1. CreateDataSet

procedure CreateDataSet(var QDataSet: TRFDataSet; AOwner: TComponent = nil);
1

说明: 创建数据集对象

  • 程序语法中各部分说明
部分 说明
QDataSet 数据集变量
AOwner 所有者
  • 示例
Var
    vDataSet:TRFDataSet;
begin
    //创建vDataSet对象
    DM.CreateDataSet(vDataSet,nil);
    //下面创建方法与CreateDataSet效果一样
    vDataSet:= TRFDataSet.Create(nil);
    vDataSet.Connection := DM.SQDBConnection;
end;
1
2
3
4
5
6
7
8
9

# 2.2. CreateTableToSqlScript

procedure CreateTableToSqlScript(ATable, AKeyFiled, ACurrID: string;
    AFileName: string = '');
1
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;
1
2
3
4
5
6
7
8

# 2.3. FillComboBox

procedure FillComboBox(QControl: TComboBox; QSQL: string);

1
2

说明: 填充TComboBox下拉控件

  • FillComboBox程序语法中各部分说明
部分 说明
QControl 指定一个需要填充数据的TComboBox对象
QSQL 指定一个SQL字符串,用来获取填充数据

# 2.4. FillDBComboBox

procedure FillDBComboBox(QControl: TComboBox; QSQL: string);
1

说明: 填充TDBComboBox下拉控件

  • FillDBComboBox程序语法中各部分说明
部分 说明
QControl 指定一个需要填充数据的TcxDBComboBox对象
QSQL 指定一个SQL字符串,用来获取填充数据
  • 示例
Var
    vSQL:String;
begin
    vSQL:= 'Select FWhsName as FName from Basic_Whs';
    DM.FillDBComboBox(FThis.ComboBox1, vSQL);
end;
1
2
3
4
5
6

# 2.5. SetData

Procedure SetData(QSourceDataSet, QTargetDataSet: TRFDataSet);
1

说明: 数据集对拷

  • SetData程序语法中各部分说明
部分 说明
QSourceDataSet 源数据集
QTargetDataSet 目标数据集
  • 示例
Var
    vTargetDataSet: TRFDataSet;
begin
    //将dts0数据集数据拷贝给vTargetDataSet
    vTargetDataSet:= TRFDataSet.Create(nil);
    DBFun.SetData(FThis.dts0, vTargetDataSet);
end;
1
2
3
4
5
6
7

# 2.6. SetDataParamValue

procedure SetDataParamValue(QDataSet: TRFDataSet; QIndex: Integer; QVar:
    Variant);
1
2

说明: 数据集参数赋值

  • SetDataParamValue程序语法中各部分说明
部分 说明
QDataSet 指定一个需要操作的数据集对象
QIndex 数据集参数索引号
QVar 参数值
  • 示例
begin
    //数据集参数赋值
    DM.SetDataParamValue(FThis.dts1,0, '123');
end;
1
2
3
4

# 2.7. SetPictureFileToFieldBlob

Procedure SetPictureFileToFieldBlob(QFileName: string; QFiled: TField);
1

说明: 将图片保存到数据字段

  • SetPictureFileToFieldBlob程序语法中各部分说明
部分 说明
QFileName 图片名称,来自文件
QFiled 数据集字段
  • 示例
begin
    //将c:\\Temp.jpg,保存到数据字段 FPicture中
    DM.SetPictureFileToFieldBlob('c:\\Temp.jpg',FThis.dts0.FieldByName('FPicture'));
end;
1
2
3
4

# 3. PaxFunc程序

PaxFunc注册程序在脚本中调用时,必须以PaxFunc.开头。

# 3.1. AdvancedInfo

Procedure AdvancedInfo(AMapView: TAMapView);
1

说明: 加载高德地图信息

  • AdvancedInfo程序语法中各部分说明
部分 说明
AMapView 高德地图控件
  • 示例
Begin
    paxfunc.AdvancedInfo(FThis.AMapView1);
    FThis.AMapView1.LoadMap;
End;
1
2
3
4

# 3.2. Base64Put

procedure Base64Put(Base64Str,FileName:String);
1

说明: base64字符串保存为文件

  • Base64Put程序语法中各部分说明
部分 说明
Base64Str 指定一个Base64编码字符串。
FileName 需要保存的文件路径。

# 3.3. ChangeCamera

Procedure ChangeCamera(QcomboBox: TcomboBox; QRVCamera: TRVCamera);
1

说明: 选择视频列表

  • ChangeCamera程序语法中各部分说明
部分 说明
QcomboBox 视频下拉列表控件
QRVCamera 摄像头控件
  • 示例
Begin
    PaxFunc.ChangeCamera(FThis.cmbCamera,FThis.RVCamera1);
End;
1
2
3

# 3.4. CloseCamera

Procedure CloseCamera(QRVCamera: TRVCamera);
1

说明: 关闭摄像头

  • CloseCamera程序语法中各部分说明
部分 说明
QRVCamera 摄像头控件
  • 示例
Begin
    PaxFunc.CloseCamera(FThis.RVCamera1);
End;
1
2
3

# 3.5. GetMarkerAddress

Procedure GetMarkerAddress(AMapView: TVCLCCAMapView; ALocation: TCCLngLat;
    AFrom:TBaseForm);
1
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;

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
33
34
35
36
37
38
39
40
41
42

# 3.6. keybdEvent

Procedure keybdEvent(bVk, bScan: Byte; dwFlags: Cardinal;dwExtraInfo:
    Cardinal);
1
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;
1
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);
1

说明: 加载视频列表

  • LoadCamerasList程序语法中各部分说明
部分 说明
QCamerasList 摄像头列表
QCameraSourceList 摄像头资源列表
  • 示例
Begin

End;
1
2
3

# 3.8. Msg

Procedure Msg(aMsg: string; aTitle: string = ''; iTime: Integer = 2; bTime:
    Boolean = true);
1
2

**说明:**消息对话框

  • 程序语法中各部分说明
部分 说明
aMsg 消息内容
aTitle 消息对话框标题
iTime 自动关闭时间(秒)
bTime 是否启用自动关闭定时器
  • 示例
Begin
    PaxFunc.Msg('你好!这是一个消息对话框!','提示',2,true);
End;
1
2
3
  • 运行结果

# 3.9. OpenAPP

procedure OpenAPP(QFileName:string;QParam:string='';QShowCmd:integer=2);
1

说明: 打开第三方程序

  • OpenAPP程序语法中各部分说明
部分 说明
QFileName 程序名称带路径
QParam 传输进去的参数
QShowCmd
  • 示例
Begin
    //打开Smart
    PaxFunc.OpenAPP('Smart.exe','',2);
End;
1
2
3
4

# 3.10. OpenCamera

Procedure OpenCamera(QRVCamera: TRVCamera);
1

说明: ChangeCamera打开摄像头

  • OpenCamera程序语法中各部分说明
部分 说明
QRVCamera 摄像头控件
  • 示例
Begin
    paxfunc.OpenForm('WebCamera','WebCamera');
End;
1
2
3

# 3.11. OpenPlugProc

procedure OpenPlugProc(const PlugName,ProcName: string);
1

说明: 调用插件功能

  • 程序语法中各部分说明
部分 说明
PlugName 插件名称
ProcName 插件中注册的方法
  • 示例
Begin
    //调用插件Test中的ShowFrom方法
    PaxFunc.OpenPlugProc('Test','ShowFrom');
End;
1
2
3
4

# 3.12. SetCamView

Procedure SetCamView(QCamView: TRVCamView; QRVCamera: TRVCamera);
1

说明:绑定摄像头到视频显示控件

SetCamView程序语法中各部分说明

部分 说明
QCamView 视频显示控件
QRVCamera 摄像头控件

示例

Begin
    PaxFunc.SetCamView(FThis.RVCamView, FThis.RVCamera1);
End;
1
2
3

# 3.13. SetFocus

Procedure SetFocus(QControl: TWinControl);
1

**说明:**设置控件焦点

  • SetFocus程序语法中各部分说明
部分 说明
QControl 需要设置焦点的控件
  • 示例
Begin
    PaxFunc.SetFocus(FThis.Edit1);
End;
1
2
3

# 3.14. SetPropValue

Procedure SetPropValue(QControl:TComponent; QControlProp: string; QValue:
    Variant);
1
2

说明: 设置控件属性

  • SetPropValue程序语法中各部分说明
部分 说明
QControl 控件对象
QControlProp 控件属性
QValue 属性值
  • 示例
Begin
    //将控件FThis.dbdts0FCustCode的Enable设置成Fasle
    PaxFunc.SetPropValue(FThis.dbdts0FCustCode, 'Enable',False);
End;
1
2
3
4

# 3.15. ShowReport

Procedure ShowReport(QModuleID: string; QBaseForm: TBaseForm; QCurrID:
    string = ''; QMXID: string = '';QShowPrintDlg: Boolean = true; QPreview:
    Boolean = true);
1
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;
1
2
3
4
5
6

# 3.16. Speak

procedure Speak(QSpeak: string);
1

说明: 将字符串转成语音

  • 程序语法中各部分说明
部分 说明
QSpeak 需要转换成语音的内容
  • 示例
Begin
    PaxFunc.Speak('我是中国人,I am Chinese!');
End;
1
2
3

# 3.17. WriteErrorLog

procedure WriteErrorLog(AErrorText: string);
1

说明: 写入错误日志

  • WriteErrorLog程序语法中各部分说明
部分 说明
AErrorText 错误日志内容
  • 示例
Begin
    //指定日志文件增加日志内容
    PaxFunc. WriteErrorLog('数据读取失败失败!');
End;
1
2
3
4

# 3.18. WriteLog

procedure WriteLog(aFileName: string; ALog: string);
1

说明: 指定文件写入日志

  • WriteLog程序语法中各部分说明
部分 说明
aFileName 日志文件名称
ALog 日志内容
  • 示例
Begin
    //指定日志文件增加日志内容
    PaxFunc.WriteLog ('2019072301.txt', '测试');
End;
1
2
3
4

# 3.19. LoadStructureJSONArray

procedure LoadStructureJSONArray(ADataSet:TDataSet;const AJSONArray: TJSONArray; const AOwns: Boolean = True);
1

说明: 将数据集的数据表结构从JSONArrary中加载。

  • LoadStructureJSONArray程序语法中各部分说明
部分 说明
ADataSet 设置要加载的数据集
AJSONArray 设置源JSON队列
AOwns 是否占用

# 3.20. LoadStructureJSONString

procedure LoadStructureJSONString(ADataSet:TDataSet;const AJSONString: string); 
1

说明: 将数据集的数据表结构从JSON格式的字符串中读取加载。

  • LoadStructureJSONString程序语法中各部分说明
部分 说明
ADataSet 设置要加载的数据集
AJSONString 设置源JSON字符串

# 3.21. LoadFromJSONObject

procedure LoadFromJSONObject(ADataSet:TDataSet;const AJSONObject: TJSONObject; const AOwns: Boolean = True)
1

说明: 数据集从JSON对象中获取加载单条记录。

  • LoadFromJSONObject程序语法中各部分说明
部分 说明
ADataSet 设置要加载的数据集
AJSONObject 设置源JSON对象
AOwns 是否占用

# 3.22. LoadFromJSONArray

procedure LoadFromJSONArray(ADataSet:TDataSet;const AJSONArray: TJSONArray; const AOwns: Boolean = True);
1

说明: 数据集从JSON对象序列中获取加载多条记录。

  • LoadFromJSONArray程序语法中各部分说明
部分 说明
ADataSet 设置要加载的数据集
AJSONArray 设置源JSON队列
AOwns 是否占用

# 3.23. LoadFromJSONString

procedure LoadFromJSONString(ADataSet:TDataSet;const AJSONString: string);
1

说明: 数据集从JSON对象的字符串中获取加载数据记录。

  • LoadFromJSONString程序语法中各部分说明
部分 说明
ADataSet 设置要加载的数据集
AJSONString 设置源JSON字符串

# 3.24. MergeFromJSONObject

procedure MergeFromJSONObject(ADataSet:TDataSet;const AJSONObject: TJSONObject; const AOwns: Boolean = True);
1

说明: 数据集从JSON对象中读取单条数据记录并合并至数据集中。

  • MergeFromJSONObject程序语法中各部分说明
部分 说明
ADataSet 设置要加载的数据集
AJSONObject 设置源JSON对象
AOwns 是否占用

# 3.25. MergeFromJSONString

procedure MergeFromJSONString(ADataSet:TDataSet;const AJSONString: string);
1

说明: 数据集从JSON对象字符串中读取数据记录并合并至数据集中。

  • MergeFromJSONString程序语法中各部分说明
部分 说明
ADataSet 设置要加载的数据集
AJSONString 设置源JSON字符串

# 4. IOT程序

  IOT程序在脚本中调用时,必须以IOT.开头。

# 4.1. ComAddList

procedure ComAddList(ATComboBox: TComboBox; AComPort: TComPort);
1
  • ComAddList程序语法中各部分说明
部分 说明
ATComboBox 下拉控件用来显示串口列表
AComPort 串口通讯控件
  • 示例
Begin
    //将设备所有串口端口加入到下拉列表控件中
    IOT.ComAddList(FThis.ComPort1, FThis.ComboBox1);
End;
1
2
3
4

# 4.2. ComClose

procedure ComClose(AComPort: TComPort);
1

说明: 关闭串口

  • 示例
Begin
    //关闭串口
    IOT.ComClose(FThis.ComPort1);
End;
1
2
3
4

# 4.3. ComConfig

procedure ComConfig(AComPort: TComPort);
1

说明: 调用串口配置窗体

  • ComConfig程序语法中各部分说明
部分 说明
AComPort 串口通讯控件
  • 示例
Begin
    //打开串口配置窗体
    IOT.ComConfig(FThis.ComPort1);
End;
1
2
3
4

# 4.4. ComOpen

procedure ComOpen(AComPort: TComPort);

1
2

说明: 打开串口

  • ComOpen程序语法中各部分说明
部分 说明
AComPort 串口通讯控件
  • 示例
Begin
    //打开串口
    IOT.ComOpen(FThis.ComPort1);
End;
1
2
3
4

# 4.5. ComWriteAnsiChar

procedure ComWriteAnsiChar(AComPort:TComPort;const Value: AnsiChar);
1

说明: 向串口发送AnsiChar数据

  • ComWriteAnsiChar程序语法中各部分说明

  • 示例

Begin
    IOT.ComWriteAnsiChar(FThis.ComPort1, 'A');
End;
1
2
3

# 4.6. ComWriteAnsiLine

procedure ComWriteAnsiLine(AComPort:TComPort;const Value: AnsiString);
1

说明: 向串口发送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;
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
33

# 4.7. ComWriteChar

procedure ComWriteChar(AComPort:TComPort;const Value: Char);
1

说明: 向串口发送Char数据

  • ComWriteChar程序语法中各部分说明

  • 示例

Begin
    IOT.ComWriteChar(FThis.ComPort1, 'T');
End;
1
2
3

# 4.8. ComWriteString

procedure ComWriteString(AComPort:TComPort;const Value: String);
1

说明: 向串口发送String数据

  • ComWriteString程序语法中各部分说明

  • 示例

Begin
    IOT.ComWriteString (FThis.ComPort1, 'AABBCC');
End;
1
2
3

# 4.9. MQTTWrite

procedure MQTTWrite(QMQTTChannel:TMQTTChannel;QItemIndex:Integer; QTopic,
    QPayload: string);
1
2

说明: 向MQTT发送数据

  • MQTTWrite程序语法中各部分说明
部分 说明
QMQTTChannel MQTT集合对象
QItemIndex MQTTItem索引
QTopic 主题
QPayload 内容
  • 示例
Begin
    IOT. MQTTWrite(FThis. MQTTChannel1,0, 'T','T');
End;
1
2
3

# 4.10. OPCWrite

Procedure OPCWrite(QOPCServer:TdOPCDAClient;QGroupIndex,QItemIndex:Integer;QValue:Variant);
1

说明: 向OPC Item发送数据

  • OPCWrite程序语法中各部分说明
部分 说明
QOPCServer OPCServer
QGroupIndex OPC分组ID
QItemIndex OPC Item 索引
QValue 发送的数据
  • 示例
Begin
    IOT.OPCWrite (FThis.dOPCDAClient1,0,0,1);
End;
1
2
3

# 4.11. RTUWrite

procedure RTUWrite(QItem:TModbusRTUWriteChannel;QIndex:Integer);
1

说明: 执行Modbus RTU写数据操作

  • RTUWrite程序语法中各部分说明
部分 说明
QItem ModbusRTU集合
QIndex ModbusRTU Item索引
  • 示例
Begin
    FThis.ModbusRTUWriteChannel1.ModbusList[0].DataValue := 1;
    IOT.RTUWrite(FThis.ModbusRTUWriteChannel1,0);
End;
1
2
3
4

# 4.12. TCPWrite

procedure TCPWrite(QItem:TModbusTCPWriteChannel;QIndex:Integer);
1

说明: 执行Modbus TCP写数据操作

  • TCPWrite程序语法中各部分说明
部分 说明
QItem ModbusTCP集合
QIndex ModbusTCP Item索引
  • 示例
Begin
    FThis.ModbusTCPWriteChannel1.ModbusList[0].DataValue := 1;
    IOT.TCPWrite(FThis.ModbusTCPWriteChannel1,0);
End;
1
2
3
4

自定函数
串口打印机

← 自定函数 串口打印机→

Copyright © 2021-2025 爱招飞IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式