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

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

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

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

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

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

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 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
  • PinToo帮助主页
  • 学习手册

    • 基本入门

    • 功能介绍

    • 控件说明

      • 公共属性
      • 标准控件
      • 系统控件
      • 附加控件
      • 布局控件
      • 形状控件
      • 数据控制控件
        • 1. TfxRFConnection组件
          • 1.1. 属性(Properties)
          • 1.1.1. ClientAddr属性
          • 1.1.2. ClientAddr属性
          • 1.1.3. AccessToken属性
          • 1.1.4. AccessTokenExpireTime属性
          • 1.1.5. UploadFileMaxSize属性
          • 1.1.6. DeviceID属性
          • 1.1.7. IsConnected属性
          • 1.1.8. ServerAddr属性
          • 1.1.9. ServerPort属性
          • 1.1.10. SecureKey属性
          • 1.1.11. ForceEncryption属性
          • 1.1.12. Compression属性
          • 1.1.13. ConnectionTimeout属性
          • 1.1.14. ResponseTimeout属性
          • 1.1.15. Blocking属性
          • 1.1.16. LoginOptions属性
          • 1.1.17. ConnectionCheckingMode属性
          • 1.1.18. ConnectionDefName属性
          • 1.1.19. AutoConnect属性
          • 1.2. 方法(Methods)
          • 1.2.1. Connect方法
          • 1.2.2. Disconnect方法
          • 1.2.3. GetConnectionDefNames方法
          • 1.2.4. GetTableNames方法
          • 1.2.5. ApplyUpdates方法
          • 1.2.6. Login方法
          • 1.2.7. Logout方法
          • 1.2.8. AddConnectionDef方法
          • 1.2.9. GetClients方法
          • 1.2.10. SendMessage方法
          • 1.2.11. GenerateId方法
        • 2. TfxRFDataSet组件
          • 2.1. 属性(Properties)
          • 2.1.1. Connection属性
          • 2.1.2. ConnectionDefName属性
          • 2.1.3. FetchOptions属性
          • 2.1.4. SQL属性
          • 2.1.5. UpdateOptions属性
          • 2.1.6. PagingOptions属性
          • 2.1.7. Conditions属性
          • 2.1.8. PageCount属性
          • 2.1.9. RecordCount属性
          • 2.2. 事件(Events)
          • 2.2.1. AfterClose事件
          • 2.2.2. AfterDelete事件
          • 2.2.3. AfterEdit事件
          • 2.2.4. AfterInsert事件
          • 2.2.5. AfterOpen事件
          • 2.2.6. AfterPost事件
          • 2.2.7. AfterScroll事件
          • 2.2.8. BeforeClose事件
          • 2.2.9. BeforeDelete事件
          • 2.2.10. BeforeEdit事件
          • 2.2.11. BeforeInsert事件
          • 2.2.12. BeforeOpen事件
          • 2.2.13. BeforePost事件
          • 2.2.14. BeforeScroll事件
          • 2.2.15. OnNewRecord事件
          • 2.3. 方法(Methods)
          • 2.3.1. Active 方法
          • 2.3.2. Append 方法
          • 2.3.3. AddWhere 方法
          • 2.3.4. Close 方法
          • 2.3.5. OpenData 方法
          • 2.3.6. OpenSQL 方法
          • 2.3.7. ExecSQL 方法
          • 2.3.8. Execute 方法
          • 2.3.9. FieldByName 方法
          • 2.3.10. FirstPage 方法
          • 2.3.11. NextPage 方法
          • 2.3.12. PriorPage 方法
          • 2.3.13. LastPage 方法
          • 2.3.14. NextRecordset 方法
          • 2.3.15. Insert 方法
          • 2.3.16. First 方法
          • 2.3.17. Prior 方法
          • 2.3.18. Next 方法
          • 2.3.19. Last 方法
          • 2.3.20. PriorRecordset 方法
          • 2.3.21. Post 方法
          • 2.3.22. ApplyUpdates 方法
        • 3. TfxRFStoredProc
          • 3.1. 属性
          • 3.1.1. ExecProc
        • 4. TfxRFWechatMP组件
          • 4.1. 方法(Methods)
          • 4.1.1. SendCustomMessage 方法
          • 4.1.2. SendTemplateMessage 方法
        • 5. TfxRFFileTransfer组件
          • 5.1. 属性
          • 5.2. 事件
          • 5.3. 方法
          • 5.3.1. Upload 方法
          • 5.3.2. Download 方法
          • 5.3.3. Delete 方法
          • 5.3.4. FileMD5 方法
          • 5.3.5. CreateDir 方法
          • 5.3.6. MoveFile 方法
          • 5.3.7. CopyFile 方法
          • 5.3.8. RenameFile 方法
          • 5.3.9. FileExists 方法
        • 6. TfxRFSMSSender组件
          • 6.1. 7.6.1.属性
          • 6.2. 方法
          • 6.2.1. Execute 方法
        • 7. TfxDataSource组件
          • 7.1. 7.5.1.属性
        • 8. TfxDBData组件
          • 8.1. 属性
          • 8.2. 方法
          • 8.2.1. CreateDataSet
          • 8.2.2. Open
          • 8.2.3. First
          • 8.2.4. Prior
          • 8.2.5. Next
          • 8.2.6. Last
          • 8.2.7. Edit
          • 8.2.8. Cancel
          • 8.2.9. Post
          • 8.2.10. Insert
          • 8.2.11. Append
          • 8.2.12. Delete
          • 8.2.13. Refresh
          • 8.2.14. SubmitUpdates
          • 8.2.15. ToJSONObjectString
          • 8.2.16. ToJSONArrayString
          • 8.2.17. ToJSONObject
          • 8.2.18. ToJSONArray
          • 8.2.19. SaveStructure
          • 8.2.20. LoadStructureJSONArray
          • 8.2.21. LoadStructureJSONString
          • 8.2.22. LoadFromJSONObject
          • 8.2.23. LoadFromJSONArray
          • 8.2.24. LoadFromJSONString
          • 8.2.25. MergeFromJSONObject
          • 8.2.26. MergeFromJSONString
          • 8.2.27. ValidateJSONObject
          • 8.2.28. ValidateJSONString
      • 手势控件
      • 仪表盘控件
      • 快速设计控件
      • 多媒体控件
      • 物联网控件
      • 地图控件
      • 数据表格控件
      • 特效控件
      • 动画控件
      • SVG控件
      • IsoBean控件
    • 功能用法

    • 专用模板

    • 开发流程

    • 函数程序

  • 开发手册

目录

数据控制控件

# PinToo 控件使用(数据控件)

  该组件中包含了用于与数据库建立连接的常用控件与配套。

# 1. TfxRFConnection组件

  • 引用单元 TARSCompClient

  TfxRFConnection是一个与TARS中间件进行呼叫的连接组件。

  可以通过双击TfxRFConnection组件进行连接设置。

# 1.1. 属性(Properties)

  • TfxRFConnection组件主要属性
属性 功能说明
Active 指定是否激活连接
ClientAddr 指客户端地址
ServerDateTime 获取服务器时间
AccessToken 获取访问令牌
AccessTokenExpireTime 指示访问令牌到期时间
DeviceID 设备唯一ID
UploadFileMaxSize 指定文件上传大小
IsConnected 判断是否处于连接状态
ServerAddr 指定TARS中间件地址
ServerPort 指定TARS中间件端口
SecureKey 指定TARS安全密钥
ForceEncryption 指定是否启用强制加密数据
Compression 数据压缩级别,默认为:cFast(快速压缩)
ConnectionTimeout 指定连接超时,单位为毫秒
ResponseTimeout 指定响应超时,单位为毫秒
Blocking 指定是否阻塞模式
LoginOptions 用户验证设置
ConnectionCheckingMode 指定连接检检测模式
AutoConnect 指定是否自动连接服务端

# 1.1.1. ClientAddr属性

    /// <summary>当前客户端的IP地址</summary>
    property ClientAddr: string read GetClientAddr;
1
2

# 1.1.2. ClientAddr属性

    /// <summary>服务器时间</summary>
    property ServerDateTime: TDateTime read GetServerDateTime;
1
2

# 1.1.3. AccessToken属性

    /// <summary>访问令牌</summary>
    property AccessToken: string read FAccessToken;
1
2

# 1.1.4. AccessTokenExpireTime属性

    /// <summary>访问令牌到期时间</summary>
    property AccessTokenExpireTime: TDateTime read FAccessTokenExpireTime;
1
2

# 1.1.5. UploadFileMaxSize属性

    /// <summary>上传文件大小</summary>
    property UploadFileMaxSize: Int64 read GetUploadFileMaxSize;
1
2

# 1.1.6. DeviceID属性

    /// <summary>设备唯一ID</summary>
    property DeviceID: string read GetDeviceID;
1
2

# 1.1.7. IsConnected属性

    /// <summary>判断是否处于连接状态</summary>
    property IsConnected: Boolean read GetIsConnected;
1
2

# 1.1.8. ServerAddr属性

    /// <summary>服务器地址</summary>
    property ServerAddr: string read GetServerAddr write SetServerAddr;
1
2

# 1.1.9. ServerPort属性

    /// <summary> 服务器端口</summary>
    property ServerPort: string read GetServerPort write SetServerPort;
1
2

# 1.1.10. SecureKey属性

    /// <summary>安全密钥,客户端和服务端需要配对,同时需要设置 ForceEncryption = True。 </summary>
    property SecureKey: string read GetSecureKey write SetSecureKey;
1
2

# 1.1.11. ForceEncryption属性

    /// <summary> 强制加密数据</summary>
    property ForceEncryption: Boolean read GetForceEncryption write SetForceEncryption;
1
2

# 1.1.12. Compression属性

    /// <summary>数据压缩级别,默认为:cFast(快速压缩)。</summary>
    property Compression: TRtcCompressLevel read GetCompression write SetCompression;
1
2

  Compression数据压缩级别分为:cNote(不压缩)、cFast(快速压缩)、cDefault(缺省压缩)、cMax(最大压缩)。

# 1.1.13. ConnectionTimeout属性

    /// <summary>连接超时,单位为毫秒</summary>
    property ConnectionTimeout: Integer read GetConnectionTimeout write SetConnectionTimeout;
1
2

# 1.1.14. ResponseTimeout属性

    /// <summary>响应超时,单位为毫秒</summary>
    property ResponseTimeout: Integer read GetResponseTimeout write SetResponseTimeout;
1
2

# 1.1.15. Blocking属性

    /// <summary>阻塞模式</summary>
    property Blocking: Boolean read FBlocking write FBlocking default True;
1
2

# 1.1.16. LoginOptions属性

    /// <summary>用户验证设置</summary>
    property LoginOptions: TLoginOptions read FLoginOptions write FLoginOptions;
1
2

  LoginOptions属性包含三个子属性:MD5Salt(MD5盐值)、Password(用户密码)、UserName(用户名称)。

  这个需要与TARS中间件配合使用,当TARS中间件勾选了需要用户验证时可用。

# 1.1.17. ConnectionCheckingMode属性

    /// <summary>连接检检测模式</summary>
    property ConnectionCheckingMode: TConnectionCheckingMode read FConnectionCheckingMode write FConnectionCheckingMode;
1
2

  ConnectionCheckingMode属性包含:cmAlways(总是)、cmTiming(定期)、cmNone(从不)。

# 1.1.18. ConnectionDefName属性

    /// <summary> 连接名称</summary>
    property ConnectionDefName: string read GetConnectionDefName write SetConnectionDefName;
1
2

# 1.1.19. AutoConnect属性

    /// <summary>自动连接服务端</summary>
    property AutoConnect: Boolean read GetAutoConnect write SetAutoConnect default True;
1
2

# 1.2. 方法(Methods)

  • TfxRFConnection组件主要方法
方法 功能说明
Connect 连接服务端
Disconnect 断开连接
GetConnectionDefNames 获取数据库连接名称列表
ApplyUpdates 批量事务更新多个TfxRFDataSet数据集
Login 登录验证
Logout 注销登录
AddConnectionDef 增加数据库连接配置
GetClients 客户端类型,包含普通客户端,Websocket 客户端
SendMessage 向客户端发送消息
GenerateId 生成ID

# 1.2.1. Connect方法

    /// <summary> 连接服务端 </summary>
    function Connect(const ASilent: Boolean = False): Boolean;
1
2

# 1.2.2. Disconnect方法

    /// <summary> 断开连接 </summary>
    procedure Disconnect;
1
2

# 1.2.3. GetConnectionDefNames方法

    /// <summary> 获取数据库连接名称列表 </summary>
    procedure GetConnectionDefNames(const ADefNames: TStrings = nil);
1
2

# 1.2.4. GetTableNames方法

    /// <summary>获取数据库表名列表</summary>
    procedure GetTableNames(const ACatalogName, ASchemaName, APattern: string; AList: TStrings);
1
2

# 1.2.5. ApplyUpdates方法

    /// <summary> 批量事务更新多个TRFDataSet </summary>
    procedure ApplyUpdates(const ADataSets: array of TRFDataSet; const ASQL: string = '');
1
2

# 1.2.6. Login方法

    /// <summary> 登录验证 </summary>
    function Login: Boolean;
1
2

# 1.2.7. Logout方法

    /// <summary>注销登录</summary>
    procedure Logout;
1
2

# 1.2.8. AddConnectionDef方法

    /// <summary>增加数据库连接配置</summary>
    function AddConnectionDef(const AName, AConnectionString: string): Boolean;
1
2

# 1.2.9. GetClients方法

    /// <param name="AClientTypes">客户端类型,包含普通客户端,Websocket 客户端</param>
    function GetClients(const AClientTypes: TClientTypes = [ctNormalClient, ctWebSocketClient]): TArray<TClient>;
1
2

# 1.2.10. SendMessage方法

    function SendMessage(AClient: TClient; const AMessage: string): Boolean;
1

# 1.2.11. GenerateId方法

    function GenerateId: Int64;
1

# 2. TfxRFDataSet组件

  • 引用单元 TARSCompClient

  TfxRFDataSet 是一个数据集组件。它可与 TfxRFConnection组件配合使用。

  该组件用于从数据库中获取数据形成数据集信息。数据集组件是数据感知组中组件的数据来源,也是数据图表等的数据来源。

  • TfxRFDataSet组件主要属性
属性 功能说明
Connection 指定一个TfxRFConnection对象
ConnectionDefName 指定一个连接名称
FetchOptions 表示用于控制数据提取的选项集
SQL 指定数据集SQL语句
UpdateOptions 更新选项
PagingOptions 分页选项
Conditions SQL条件
PageCount 表示分页的页数
RecordCount 记录数

# 2.1. 属性(Properties)

# 2.1.1. Connection属性

  指定数据集连接的来源。连接的来源有两种,一种来自TfxRFConnection组件,另一种来自于PinToo的TARS连接设置。

  //连接来源可以来自同一窗体中的TfxRFConnection组件
  fxRFDataSet1.Connection := FfxRFConnection1;
  //连接来源也可以来自PinToo的帐套设置
  fxRFDataSet1.Connection := fxDM.DBConn;
1
2
3
4

# 2.1.2. ConnectionDefName属性

  指定默认TARS连接帐套名称,TfxRFConnection组件通过指定帐套与TARS进行数据交互。

  //指定帐套名称
  fxRFDataSet1.ConnectionDefName := 'FastERP';
1
2

# 2.1.3. FetchOptions属性

  用于控制数据和元数据提取的一组选项。

  所述TFetchOptions类表示属性集控制FireDAC组件以及如何的物理学层命令接口获取数据和元数据:

  • 如何获取(CursorKind,Mode,RowsetSize)。例如,可以一次获取所有结果集记录,也可以按需获取记录。
  • 如何保留资源(Unidirectional,AutoClose,Cache,AutoFetchAll)。
  • 如何获取和缓存BLOB字段,嵌套记录集和元数据(Items,Cache)。
  • 如何处理主从数据集关系(DetailDelay,DetailOptimize,DetailCascade)。
  • 行集分页(RecsMax,RecsSkip)。
  • TFDTable操作模式(CursorKind,LiveWindowParanoic,LiveWindowFastFirst)。
  • 如何对数据集中的记录进行计数(RecordCountMode)。

# 2.1.4. SQL属性

  该属性是构造数据集使用的SQL语句。

示例

fxRFDataSet1.SQL.Text := 'SELECT * FROM Table_Test';
1

# 2.1.5. UpdateOptions属性

  指数据集的更新选项,如指定更新表名、主键字段、更新方式等。

属性说明

  • KeyFields 数据表主键字段名。
  • UpdateMode 数据数提交模式,分别有三种:upWhereAll、upWhereChanged、upWhereKeyOnly。
  • UpdateTableName 提交数据集用于更新的数据表名。

# 2.1.6. PagingOptions属性

  指定数据集分页参数。

属性说明

  • PageIndex 页索引,从0到N。0表示第一页。
  • PageSize 每页显示记录数。

示例

//每页显示500条记录
fxRFDataSet1.PagingOptions.PageSize := 500;
1
2

# 2.1.7. Conditions属性

  指定SQL语句Where条件。

示例

    fxRFDataSet1.Conditions.Disable;//必需先禁用
    fxRFDataSet1.Conditions.Add('FilterSQL', 'FInterID=1', true);
    fxRFDataSet1.Conditions.Enable;
1
2
3

# 2.1.8. PageCount属性

  表示分页的页数。

示例

var
 PageCount:integer;
begin
    PageCount := fxRFDataSet1.PageCount;
end;
1
2
3
4
5

# 2.1.9. RecordCount属性

  该属性用于显示当前数据集中包含的记录的数目。

示例

var
 RecordCount :integer;
begin
    RecordCount  := fxRFDataSet1.RecordCount;
    if RecordCount = 0 then
    begin
      Showmessage('数据集为空!')
    end;
end;
1
2
3
4
5
6
7
8
9

# 2.2. 事件(Events)

  • TfxRFDataSet组件主要事件
事件 何时触发
AfterClose 在应用程序关闭数据集之后发生
AfterDelete 在应用程序删除记录后发生
AfterEdit 在应用程序开始编辑记录后发生
AfterInsert 在应用程序插入新记录后发生
AfterOpen 在应用程序完成打开数据集之后且发生任何数据访问之前发生
AfterPost 在应用程序将活动记录写入数据库或更改日志并返回浏览状态之后发生
AfterScroll 在应用程序从一条记录滚动到另一条记录后发生
BeforeClose 在数据集关闭之前立即发生
BeforeDelete 在应用程序尝试删除活动记录之前发生
BeforeEdit 在应用程序进入活动记录的编辑模式之前发生
BeforeInsert 在应用程序进入插入模式之前发生
BeforeOpen 在应用程序执行打开数据集的请求之前发生
BeforePost 在应用程序将活动记录的更改发布到数据库或更改日志之前发生。
BeforeScroll 在应用程序从一条记录滚动到另一条记录之前发生
OnNewRecord 当应用程序插入或附加新的数据集记录时发生

# 2.2.1. AfterClose事件

  在应用程序完成取消对活动记录的修改的请求之后发生。

  编写AfterCancel事件处理程序,以在应用程序取消对活动记录的更改后采取特定的措施。在更新当前位置后,由Cancel方法调用AfterCancel,并在必要时释放对活动记录的锁定,并将数据集状态设置为dsBrowse。如果应用程序在Cancel事件之后将控制权返回给用户之前需要其他处理,请在AfterCancel事件中对其进行编码。

# 2.2.2. AfterDelete事件

  在应用程序删除记录后发生。

  编写AfterDelete事件处理程序,以在应用程序删除数据集中的活动记录后立即采取特定措施。在删除记录,将数据集状态设置为dsBrowse并重新定位当前记录后,Delete会调用AfterDelete。

# 2.2.3. AfterEdit事件

  在应用程序开始编辑记录后发生。

  编写AfterEdit事件处理程序,以在数据集进入编辑模式后立即采取特定措施。AfterEdit在启用记录编辑,重新计算计算的字段并调用数据事件处理程序以处理记录更改之后,由Edit调用。

# 2.2.4. AfterInsert事件

  在应用程序插入新记录后发生。

  编写AfterInsert事件处理程序,以在应用程序插入记录后立即采取特定措施。插入或追加新记录后,Insert和Append方法会生成AfterInsert事件。

# 2.2.5. AfterOpen事件

  在应用程序完成打开数据集之后且发生任何数据访问之前发生。

  编写AfterOpen事件处理程序,以在应用程序打开数据集后立即采取特定措施。AfterOpen数据集建立后访问其数据和数据集被放入dsBrowse状态被调用。例如,AfterOpen事件处理程序可能会检查ini文件,以确定应用程序上次运行时在数据集中触摸的最后一条记录,并将数据集放置在该记录上。

# 2.2.6. AfterPost事件

  在应用程序将活动记录写入数据库或更改日志并返回浏览状态之后发生。

  编写AfterPost事件处理程序,以在应用程序将更改发布到活动记录后立即采取特定措施。在对记录进行修改或插入后调用AfterPost。

# 2.2.7. AfterScroll事件

  在应用程序从一条记录滚动到另一条记录后发生。

  编写AfterScroll事件处理程序,以在应用程序滚动到另一个记录后立即执行特定操作,该操作是调用First,Last,MoveBy,Next,Prior,FindKey,FindFirst,FindNext,FindLast,FindPrior和Locate方法的结果。在这些方法以及在数据集中的记录之间切换的所有其他方法触发的所有其他事件之后,将调用AfterScroll。

# 2.2.8. BeforeClose事件

  在数据集关闭之前立即发生。

  编写一个BeforeClose事件,以在应用程序关闭数据集之前采取特定的措施。调用Close或将Active属性设置为false会导致调用BeforeClose事件处理程序。

# 2.2.9. BeforeDelete事件

  在应用程序尝试删除活动记录之前发生。

  在应用程序删除活动记录之前,编写一个BeforeDelete事件处理程序以执行特定的操作。在实际删除记录之前,Delete会调用BeforeDelete。

  在PinToo中,利用此事件,例如,应用程序可能会显示一个对话框,要求您在删除记录之前进行确认。拒绝确认后,应用程序可以通过调用中止过程中止删除。

# 2.2.10. BeforeEdit事件

  在应用程序进入活动记录的编辑模式之前发生。

  在应用程序启用对活动记录的编辑之前,编写一个BeforeEdit事件处理程序以执行特定的操作。例如,保留数据库编辑日志的应用程序可以使用BeforeEdit事件在进入编辑状态之前记录编辑请求,时间和用户。

# 2.2.11. BeforeInsert事件

  在应用程序进入插入模式之前发生。

  编写BeforeInsert事件处理程序,以便在应用程序插入或附加新记录之前采取特定的操作。Insert或Append方法在将数据集设置为dsInsert状态之前生成BeforeInsert方法。

# 2.2.12. BeforeOpen事件

  在应用程序执行打开数据集的请求之前发生。

  在应用程序打开数据集进行查看或编辑之前,编写一个BeforeOpen事件处理程序以执行特定的操作。当应用程序将数据集的Active属性设置为true或应用程序调用Open时,将触发BeforeOpen。

# 2.2.13. BeforePost事件

  在应用程序将活动记录的更改发布到数据库或更改日志之前发生。

  编写一个BeforePost事件处理程序,以在应用程序发布数据集更改之前执行特定的操作。当应用程序调用Post方法时,将触发BeforePost。发布检查以确保存在所有必填字段,然后在发布记录之前调用BeforePost。

  应用程序可以使用BeforePost对数据更改进行有效性检查,然后再提交。如果遇到有效性问题,则可以调用Abort取消Post操作或引发异常。

# 2.2.14. BeforeScroll事件

  在应用程序从一条记录滚动到另一条记录之前发生。

  编写一个BeforeScroll事件处理程序,以在应用程序滚动到另一个记录之前立即执行特定操作,该操作是调用First,Last,MoveBy,Next,Prior,FindKey,FindFirst,FindNext,FindLast,FindPrior和Locate方法的结果。在这些方法触发的所有其他事件以及在数据集中的记录之间切换的所有其他方法触发的所有其他事件之前,调用BeforeScroll。

# 2.2.15. OnNewRecord事件

  当应用程序插入或附加新的数据集记录时发生。

  编写OnNewRecord事件处理程序,以在应用程序插入或追加新记录时执行特定的操作。OnNewRecord被称为插入或追加过程的一部分。应用程序可以使用OnNewRecord事件来设置记录的初始值,或作为在相关数据集中实现级联插入的一种方式。

# 2.3. 方法(Methods)

  • TfxRFDataSet组件主要方法
方法 功能说明
Active 是否激活数据集
Append 在数据集的末尾添加一个新的空记录
AddWhere 添加Where条件
Close 关闭数据集
OpenData 打开数据集
OpenSQL 打开指定的SQL命令
ExecSQL 执行指定的SQL命令
Execute 执行SQL命令
FieldByName 根据名称查找字段
FirstPage 定位到数据集分页的第一页
NextPage 定位到数据集分页的下一页
PriorPage 定位到数据集分页的上一页
LastPage 定位到数据集分页的最末页
NextRecordset 下一个数据集
PriorRecordset 上一个数据集
Insert 在数据集中插入新的空记录
First 移动到数据集中的第一条记录
Prior 移动到数据集中上一条记录
Next 移动到数据集中的下一条记录
Last 移动到数据集中的最后一条记录
Post 提交数据集
ApplyUpdates 更新数据集

# 2.3.1. Active 方法

  是否激活数据集

示例

  //激活数据集时,确保fxRFDateSet1.SQL.Text属性有SQL命令
  fxRFDateSet1.Active := True;
1
2

# 2.3.2. Append 方法

  在数据集的末尾添加一个新的空记录

示例

  //新增一条记录
  fxRFDateSet1.Append;
  fxRFDateSet1.FieldByName('ID').asIngter := 1;
  fxRFDateSet1.FieldByName('Qty').asFloat := 100.23;
1
2
3
4

# 2.3.3. AddWhere 方法

  添加Where条件

示例

  //新增SQL Where 条件
  fxRFDateSet1.AddWhere('ID=123');
  fxRFDateSet1.AddWhere('Qty=100');
1
2
3

# 2.3.4. Close 方法

  关闭数据集

示例

  fxRFDateSet1.Close;
1

# 2.3.5. OpenData 方法

  打开数据集

示例

  fxRFDateSet1.SQL.Text := 'Select * from Table_Cust where ID = 123';
  fxRFDateSet1.Execute;
1
2

# 2.3.6. OpenSQL 方法

  指定SQL语句打开数据集

示例

  fxRFDateSet1.OpenSQL('Select * from Table_Cust where ID = 123');
1

# 2.3.7. ExecSQL 方法

  执行指定的SQL命令

示例

  fxRFDateSet1.ExecSQL('Update Table_Cust Set Qty = 100 where ID = 123');
1

# 2.3.8. Execute 方法

  执行SQL命令

示例

  fxRFDateSet1.SQL.Text := 'Update Table_Cust Set Qty = 100 where ID = 123';
  fxRFDateSet1.Execute;
1
2

# 2.3.9. FieldByName 方法

  根据名称查找字段

示例

  fxRFDateSet1.Edit;
  fxRFDateSet1.FiledByName('Qty').asFloat := 100;
1
2

# 2.3.10. FirstPage 方法

  定位到数据集分页的第一页

# 2.3.11. NextPage 方法

  定位到数据集分页的下一页

# 2.3.12. PriorPage 方法

  定位到数据集分页的上一页

# 2.3.13. LastPage 方法

  定位到数据集分页的最末页

# 2.3.14. NextRecordset 方法

  下一个数据集

示例

//获取当前数据集的上一个数据集
//当数据集周时执行两个SQL命令时,并且FetchOptions.AutoClose = false。
var
 vDataSet:TfxRFDateSet;
begin
 vDataSet := fxRFDateSet1.NextRecordset;
end;
1
2
3
4
5
6
7

# 2.3.15. Insert 方法

  在数据集中插入新的空记录

# 2.3.16. First 方法

  移动到数据集中的第一条记录

# 2.3.17. Prior 方法

  移动到数据集中上一条记录

# 2.3.18. Next 方法

  移动到数据集中的下一条记录

# 2.3.19. Last 方法

  移动到数据集中的最后一条记录

# 2.3.20. PriorRecordset 方法

  上一个数据集

示例

//获取当前数据集的上一个数据集
//当数据集周时执行两个SQL命令时,并且FetchOptions.AutoClose = false。
var
 vDataSet:TfxRFDateSet;
begin
 vDataSet := fxRFDateSet1.PriorRecordset;
end;
1
2
3
4
5
6
7

# 2.3.21. Post 方法

  提交数据集

示例

  fxRFDateSet1.Edit;
  fxRFDateSet1.FiledByName('Qty').asFloat := 100;
  fxRFDateSet1.Post;
1
2
3

# 2.3.22. ApplyUpdates 方法

  更新数据集,数据集中的数据将保存到更新表中。

示例

   //提交数据
   if fxRFDataSet1.ApplyUpdates(-1) = 0 then
   begin
      Showmessage('数据保存成功!');
   end;
1
2
3
4
5

# 3. TfxRFStoredProc

  • 引用单元 TARSCompClient

  该组件用于执行数据库中的存储过程。

  该组件用于执行数据库中的存储过程。按照要求将存储过程的名称及参数信息获取输入,可执行相应的存储过程。

# 3.1. 属性

名称 说明
Active 数据集是否开启
Aggregrates 为数据集定义的客户端汇总的集合
AggregratesActive 是否自动计算汇总值
AutoCalcFields 确定何时触发OnCalcFields事件以及何时计算查找字段值
Connection 指定控件使用的连接控件
Filter 设置过滤条件
Filtered 是否开启过滤器
Params 设置存储过程使用的参数
StoredProcName 指定在服务器端调用的存储过程的名称

# 3.1.1. ExecProc

procedure ExecProc; 
function ExecProc(const AProcName: String): LongInt; 
function ExecProc(const AProcName: String; const AParams: array of Variant): LongInt;
function ExecProc(const AProcName: String; const AParams: array of Variant;  const ATypes: array of TFieldType): LongInt;
1
2
3
4

  执行存储过程。

//1
RFStoredProc1.StoredProcName := 'myproc';
RFStoredProc1.Prepare;
RFStoredProc1.ParamByName('inval').Value := 100;
RFStoredProc1.ExecProc;
ShowMessage(RFStoredProc1.ParamByName('outval').AsString);

//2
RFStoredProc1.ExecProc('myproc');

//3
RFStoredProc1.ExecProc('myproc;2', [100, 'qweqwe']);

//4
RFStoredProc1.ExecProc('myproc', [100, 'qweqwe'], [ftInteger, ftWideString]);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 4. TfxRFWechatMP组件

  • 引用单元 TARSCompClient   DataSource组件用来为数据感知组中的组件提供数据来源。

  • TfxRFWechatMP组件主要属性

属性 功能说明
AccountName 微信公众号的名称,在TARS中有相关设置
Connection 设置连接方式,可选方式有TfxRFConnection组件/PinToo帐套设置

# 4.1. 方法(Methods)

  • TfxRFWechatMP组件主要方法
方法 功能说明
SendCustomMessage 发送客文本消息
SendTemplateMessage 发送模板消息

# 4.1.1. SendCustomMessage 方法

    //功能:发送客文本消息
    //返回值:Boolean ,True=成功,False=发送失败
    //参数:AOpenID 用户 OpenID, AContent 发送内容
    function SendCustomMessage(const AOpenID, AContent: string): Boolean;
1
2
3
4

示例

begin
  fxRFWechatMP1.SendCustomMessage('oTpfe0VB-9vClZ4uSpTD05XbBNyI','消息内容');
End;
1
2
3

# 4.1.2. SendTemplateMessage 方法

    //功能:发送模板消息
    //返回值:Boolean ,True=成功,False=发送失败
    //参数:AJsonContent 发送内容 Json格式
    function SendTemplateMessage(const AJsonContent: string): Boolean;
1
2
3
4

示例

 JsonObject:TJSONObject;
begin
  JsonObject := TJSONObject.Create
    .AddPair('touser', 'oTpfe0VB-9vClZ4uSpTD05XbBNyI')
    .AddPair('template_id', 'kAWKL_v_H8wH0H8vdJq01n1W-EUKcmQ2Hxv3tJyGXlo')
    .AddPair('url', 'www.isoface.cn')
    .AddPair('topcolor', '#FF0000')
    .AddPair('data', TJSONObject.Create
      .AddPair('Caption', TJSONObject.Create
        .AddPair('value', '这是由PInToo发出的一条消息!')
        .AddPair('color', '#173177')
      )
    );
   fxRFWechatMP1.SendTemplateMessage(JsonObject.ToJson);
End;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 5. TfxRFFileTransfer组件

  • 引用单元 TARSCompClient

  该组件用于与TARS服务器进行文件传输。

# 5.1. 属性

属性 功能说明
Connection 设置连接方式,可选方式有TRFConnection组件/帐套设置

# 5.2. 事件

事件 何时触发
OnDeleteDone 当TARS云端文件删除完成后触发该事件
OnDownloadDone 当文件下载完成后触发该事件
OnDownloadProgress 当正在下载文件时触发该事件,可用于展示文件下载进度
OnUploadDone 当文件上传完成后触发该事件
OnUploadProgress 当文件正在上传时触发该事件

# 5.3. 方法

# 5.3.1. Upload 方法

function Upload(ALocalFileName: String; ARemoteFilPath: String; 
  ARemoteFileName: String): Boolean;
1
2

  该方法可将本地文件上传到TARS服务器。

  • ALocalFileName: 本地文件(需在Smart程序目录下)地址。
  • ARemoteFilePath: TARS服务器上传地址所在目录。
  • ARemoteFileName: TARS服务器上传文件的地址。

  文件上传示例代码如下:

procedure TMyHandler.Button1Click;
//点击按钮以上传文件
begin
  fxRFFileTransfer1.Connection := fxDM.DBConn;
  if fxRFFileTransfer1.Upload('icon.ico','upload','icon.ico') then
  ShowMessage('文件上传成功!');
end;
1
2
3
4
5
6
7

# 5.3.2. Download 方法

function Download(ARemoteFileName: String; ALocalNewFileName: String): Boolean;
1

  从TARS服务器指定的文件目录中将指定文件下载到本地。

  • ARemoteFileName: TARS文件服务器指定的文件地址。
  • ALocalNewFileName: 下载到本地的文件地址。

  文件下载示例代码如下:

//点击按钮以下载文件
begin
  fxRFFileTransfer1.Connection := fxDM.DBConn;
  if fxRFFileTransfer1.Download('upload\icon.ico','icon.ico') then
  ShowMessage('文件下载成功!');
end;
1
2
3
4
5
6

# 5.3.3. Delete 方法

function Delete(ARemoteFileName: String): Boolean;
1

  删除TARS文件服务器中指定的文件。

  • ARemoteFileName: TARS文件服务器指定的文件地址。

  文件删除示例代码如下:

//点击按钮以删除文件
begin
  fxRFFileTransfer1.Connection := fxDM.DBConn;
  if fxRFFileTransfer1.Delete('upload\icon.ico') then
  ShowMessage('文件删除成功!');
end;
1
2
3
4
5
6

# 5.3.4. FileMD5 方法

function FileMD5(ARemoteFileName: String): String;
1

  返回位于TARS服务器中的文件的MD5校验值。可用于检测文件是否被恶意修改。

  • ARemoteFileName: TARS文件服务器指定的文件地址。

  获取文件校验值的示例代码如下:

procedure TMyHandler.Button1Click;
//点击按钮以获取文件校验码
begin
  fxRFFileTransfer1.Connection := fxDM.DBConn;
  fxLabel1.Caption := FThis.RFFileTransfer1.FileMD5('upload\icon.ico');
end;
1
2
3
4
5
6

# 5.3.5. CreateDir 方法

function CreateDir(AFilePath: String): Boolean;
1

  在TARS服务器中创建文件目录。

  • AFilePath: 创建的文件夹的目录路径,如果该目录的上级目录不存在则会同时新建此目录。

  创建文件目录的示例代码如下:

//点击按钮新增目录
begin
  fxRFFileTransfer1.Connection := fxDM.DBConn;
  if fxRFFileTransfer1.CreateDir('upload\downloads') then
  ShowMessage('新增目录成功!');
end;
1
2
3
4
5
6

# 5.3.6. MoveFile 方法

function MoveFile(ARemoteFileName: String; ANewFileName: String): Boolean;
1

  将TARS服务器中的文件移动至新的目录中。

  • ARemoteFileName: TARS文件服务器指定的文件地址。
  • ANewFileName: TARS文件服务器指定的移动文件地址。

  移动文件的示例代码如下:

//点击移动文件
begin
  fxRFFileTransfer1.Connection := fxDM.DBConn;
  if fxRFFileTransfer1.MoveFile('upload\icon.ico','icon.ico') then
  ShowMessage('文件移动成功!');
end;
1
2
3
4
5
6

# 5.3.7. CopyFile 方法

function CopyFile(ARemoteFileName: String; ANewFileName: String): Boolean;
1

  将TARS服务器中的文件复制到新的目录中。

  • ARemoteFileName: TARS文件服务器指定的文件地址。
  • ANewFileName: TARS文件服务器指定的复制文件地址。

  移动文件的示例代码如下:

//点击复制文件
begin
  fxRFFileTransfer1.Connection := fxDM.DBConn;
  if fxRFFileTransfer1.CopyFile('icon.ico','upload\icon.ico') then
  ShowMessage('文件复制成功!');
end;
1
2
3
4
5
6

# 5.3.8. RenameFile 方法

function RenameFile(ARemoteFileName: String; ANewFileName: String): Boolean;
1

  将TARS服务器中的文件进行重新命名。

  • ARemoteFileName: TARS文件服务器指定的文件地址。
  • ANewFileName: TARS文件服务器指定的新命名的文件地址。

  重命名文件的示例代码如下:

//点击重命名文件
begin
  fxRFFileTransfer1.Connection := fxDM.DBConn;
  if fxRFFileTransfer1.RenameFile('upload\icon.ico','upload\icon111.ico') then
  ShowMessage('文件重命名成功!');
end;
1
2
3
4
5
6

# 5.3.9. FileExists 方法

function FileExists(ARemoteFileName: String): Boolean;
1

  检验TARS服务器中指定目录的文件是否存在。

  • ARemoteFileName: TARS文件服务器指定的文件地址。

  检验文件是否存在的示例代码如下:

//点击以检验文件是否存在
begin
  fxRFFileTransfer1.Connection := fxDM.DBConn;
  if fxRFFileTransfer1.FileExists('upload\icon.ico') then
  ShowMessage('icon.ico文件存在于upload目录中!');
end;
1
2
3
4
5
6

# 6. TfxRFSMSSender组件

  该组件可用于对接短信平台实现在TARS上使用短信发送的功能。具体使用方法可参考PinToo之阿里云短信发送。

# 6.1. 7.6.1.属性

属性 功能说明
AccessKeyId 短信服务提供商的AccessKeyId
AcessKeySecret 短信服务提供商的AccessKeySecret
Connection 指定连接的来源
PhoneNumbers 接收短信的手机号码,如有多个号码请用;分隔
Provider 短信服务提供商选择,有阿里云和阿里大于可选
SigName 短信签名显示
TemplateCode 短信模板名称
TemplateParam 短信模板参数

  以上参数的详细说明请参考阿里云短信服务文档 (opens new window)。

# 6.2. 方法

# 6.2.1. Execute 方法

  执行短信发送的操作。

//不经过TARS发送短信
var
  SendSmsRequest: TSendSmsRequest;
begin
  SendSmsRequest := TSendSmsRequest.Create;
  try
    SendSmsRequest.AccessKeyId := edtAccessKeyId.Text;
    SendSmsRequest.AccessKeySecret := edtAccessKeySecret.Text;
    SendSmsRequest.TemplateCode := edtTemplateCode.Text;
    SendSmsRequest.TemplateParam := edtTemplateContent.Text;
    SendSmsRequest.SignName := edtFreeSignName.Text;
    SendSmsRequest.PhoneNumbers := edtMobileNumber.Text;
    SendSmsRequest.Provider := cbbApiProviders.ItemIndex;
    if SendSmsRequest.Execute then
      Showmessage('短信下发成功!')
    else
      Showmessage(SendSmsRequest.ResultMessage);
  finally
    FreeAndNil(SendSmsRequest);
  end;
end;

  //经过TARS发送短信
  //以下两个参数如果为空,则使用服务端预设值
  fxRFSMSSender1.AccessKeyId := edtAccessKeyId.Text;
  fxRFSMSSender1.AccessKeySecret := edtAccessKeySecret.Text;
  fxRFSMSSender1.TemplateCode := edtTemplatecode.Text;
  fxRFSMSSender1.TemplateParam := edtTemplatecontent.Text;
  fxRFSMSSender1.SignName := edtFreesignname.Text;
  fxRFSMSSender1.PhoneNumbers := edtMobilenumber.Text;
  fxRFSMSSender1.Provider := TSmsApiProvider(FThis.cbbApiProviders.ItemIndex);
  if fxRFSMSSender1.Execute then
    Showmessage('短信下发成功!');
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

# 7. TfxDataSource组件

  • 引用单元 DataDB

  TfxDataSource组件用来为数据感知组中的组件提供数据来源。

# 7.1. 7.5.1.属性

属性 功能说明
DataSet 设定使用的数据集名称
Enabled 是否启用该组件

# 8. TfxDBData组件

  • 引用单元 DataDB

  TfxDBData组件是内存中的数据集组件。

# 8.1. 属性

属性 说明
Aggregates 统计合计信息
Constraints 设置字段的限制类型信息
DataNodeName 设置连接的node节点数据库的名称
FieldDefs 设计数据表字段的相关信息
IndexDefs 设计数据表的索引信息
Params 设计数据查询使用的参数信息
FileName 设置数据存储文件的名称

# 8.2. 方法

# 8.2.1. CreateDataSet

procedure CreateDataSet;
1

  创建数据集。

# 8.2.2. Open

procedure Open;
1

  打开数据集。

# 8.2.3. First

procedure Open;
1

  跳转至第一条记录。

# 8.2.4. Prior

procedure Prior;
1

  跳转至前一条记录。

# 8.2.5. Next

procedure Next;
1

  跳转至后一条记录。

# 8.2.6. Last

procedure Last;
1

  跳转至最后一条记录。

# 8.2.7. Edit

procedure Edit;
1

  编辑当前指向的记录。

# 8.2.8. Cancel

procedure Cancel;
1

  取消对当前记录的修改。

# 8.2.9. Post

procedure Post;
1

  提交数据。

# 8.2.10. Insert

procedure Insert;
1

  插入记录。

# 8.2.11. Append

procedure Append;
1

  添加记录。

# 8.2.12. Delete

procedure Delete;
1

  删除记录。

# 8.2.13. Refresh

procedure Refresh;
1

  刷新记录。

# 8.2.14. SubmitUpdates

procedure SubmitUpdates;
1

  保存并提交数据。

# 8.2.15. ToJSONObjectString

function ToJSONObjectString(const AOnlyUpdatedRecords: Boolean = False; const AChildRecords: Boolean = True; const AValueRecords: Boolean = True; const AEncodeBase64Blob: Boolean = True): string;
1

  将数据集中当前选择的的数据行转换为JSON对象的数据集。输出的格式为字段名称与字段值组成的键值对。

{"code":"Code1","name":1}
1

# 8.2.16. ToJSONArrayString

function ToJSONArrayString(const AOnlyUpdatedRecords: Boolean = False; const AChildRecords: Boolean = True; const AValueRecords: Boolean = True; const AEncodeBase64Blob: Boolean = True): string;
1

  将数据集中的数据转换为JSONArray。是由JSON对象组成的队列。

[{"code":"Code1","name":1},{"code":"Code2","name":2}]
1

# 8.2.17. ToJSONObject

function ToJSONObject(const AOnlyUpdatedRecords: Boolean = False; const AChildRecords: Boolean = True; const AValueRecords: Boolean = True; const AEncodeBase64Blob: Boolean = True): TJSONObject;
1

  将数据集中当前指向的数据行转换为JSON对象类型。

# 8.2.18. ToJSONArray

function ToJSONArray(const AOnlyUpdatedRecords: Boolean = False; const AChildRecords: Boolean = True; const AValueRecords: Boolean = True; const AEncodeBase64Blob: Boolean = True): TJSONArray;
1

  将数据集中的数据转换为JSON对象序列类型。

# 8.2.19. SaveStructure

function SaveStructure: TJSONArray;
1

  获取当前的数据集的结构信息,以JSONArray的方式输出,包括数据表的字段名称、数据类型、大小等信息。

# 8.2.20. LoadStructureJSONArray

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

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

# 8.2.21. LoadStructureJSONString

procedure LoadStructureJSONString(const AJSONString: string); overload;
1

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

# 8.2.22. LoadFromJSONObject

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

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

# 8.2.23. LoadFromJSONArray

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

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

# 8.2.24. LoadFromJSONString

procedure LoadFromJSONString(const AJSONString: string);
1

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

# 8.2.25. MergeFromJSONObject

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

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

# 8.2.26. MergeFromJSONString

procedure MergeFromJSONString(const AJSONString: string);
1

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

# 8.2.27. ValidateJSONObject

function ValidateJSONObject(const AJSONObject: TJSONObject; const ALang: TLanguageType = enUS; const AOwns: Boolean = True): TJSONArray;
1

  用于验证JSON对象组件是否有效。

# 8.2.28. ValidateJSONString

function ValidateJSONString(const AJSONString: string; const ALang: TLanguageType = enUS): TJSONArray;
1

  用于验证JSON对象字符串是否有效。

形状控件
手势控件

← 形状控件 手势控件→

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