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

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

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

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

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

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

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

    • 基本入门

    • 功能介绍

    • 控件说明

      • 属性与事件
      • 桌面控件

        • 标准控件
        • 附加控件
        • 数据控制控件
        • 图表控件
        • 仪表控件
        • 制图控件
        • 数据库控件
        • 通讯控件
          • 1. TUgNetHttpClient
            • 1.1. 属性
            • 1.1.1. Accept
            • 1.1.2. AcceptCharSet
            • 1.1.3. AcceptEncoding
            • 1.1.4. AcceptLanguage
            • 1.1.5. AllowCookies
            • 1.1.6. Asynchronous
            • 1.1.7. ConnectionTimeOut
            • 1.1.8. ContentType
            • 1.1.9. HandleRedirects
            • 1.1.10. MaxRedirects
            • 1.1.11. RedirectsWithGET
            • 1.1.12. ResponseTimeOut
            • 1.1.13. SecureProtocols
            • 1.1.14. UserAgent
            • 1.2. 事件
          • 2. TUgNetHttpRequest
            • 2.1. 属性
            • 2.1.1. Accept
            • 2.1.2. AcceptCharSet
            • 2.1.3. AcceptEncoding
            • 2.1.4. AcceptLanguage
            • 2.1.5. Asynchronous
            • 2.1.6. Client
            • 2.1.7. ConnectionTimeOut
            • 2.1.8. MethodString
            • 2.1.9. ResponseTimeOut
            • 2.1.10. URL
            • 2.2. 事件
          • 3. TUgIdHttp
            • 3.1. 方法
            • 3.1.1. Get
            • 3.1.2. Post
            • 3.1.3. Post1
            • 3.1.4. Post2
            • 3.1.5. Post3
            • 3.1.6. Post4
            • 3.1.7. Post5
            • 3.1.8. Post6
            • 3.1.9. Post7
            • 3.1.10. Post8
          • 4. TUgIdFTP
            • 4.1. 属性
            • 4.1.1. Account
            • 4.1.2. AUTHCmd
            • 4.1.3. AutoLogin
            • 4.1.4. ClientInfo
            • 4.1.5. DataPort
            • 4.1.6. DataPortMax
            • 4.1.7. DataPortMin
            • 4.1.8. DataPortProtection
            • 4.1.9. ExternalIP
            • 4.1.10. Host
            • 4.1.11. Passive
            • 4.1.12. Password
            • 4.1.13. Port
            • 4.1.14. ProxySettings
            • 4.1.15. ReadTimeout
            • 4.1.16. TransferTimeout
            • 4.1.17. TransferType
            • 4.1.18. TryNATFastTrack
            • 4.1.19. UseCCC
            • 4.1.20. UseExtensionDataPort
            • 4.1.21. UseMLIS
            • 4.1.22. UserName
            • 4.2. 事件
            • 4.3. 方法
            • 4.3.1. Allocate
            • 4.3.2. ChangeDir
            • 4.3.3. ChangeDirUp
            • 4.3.4. Connect
            • 4.3.5. CRC
            • 4.3.6. Delete
            • 4.3.7. FileDate
            • 4.3.8. Get
            • 4.3.9. List
            • 4.3.10. Login
            • 4.3.11. MakeDir
            • 4.3.12. Noop
            • 4.3.13. Put
            • 4.3.14. Quit
            • 4.3.15. RemoveDir
            • 4.3.16. ReName
            • 4.3.17. RetrieveCurrentDir
            • 4.3.18. SetModTime
            • 4.3.19. SetModTimeGMT
            • 4.3.20. Size
          • 5. TUgEmailMsg
            • 5.1. 属性
            • 5.2. 方法
          • 6. TUgRestApi
            • 6.1. 属性
            • 6.1.1. Body
            • 6.1.2. ContentType
            • 6.1.3. GUID
            • 6.1.4. Headers
            • 6.1.5. Method
            • 6.1.6. Params
            • 6.1.7. Script
            • 6.1.8. Server
            • 6.1.9. Url
            • 6.2. 事件
            • 6.2.1. ResultData
            • 6.3. 方法
            • 6.3.1. Send
            • 6.3.2. Init
          • 7. TUgModbusTCPClient
            • 7.1. 属性
            • 7.1.1. Host
            • 7.1.2. Port
            • 7.2. 方法
            • 7.2.1. Connect
            • 7.2.2. ReadCoil
            • 7.2.3. ReadCoils
            • 7.2.4. ReadHoldingRegister
            • 7.2.5. ReadHoldingRegisters
            • 7.2.6. ReadInputBit
            • 7.2.7. ReadInputBits
            • 7.2.8. ReadInputRegister
            • 7.2.9. ReadInputRegisters
            • 7.2.10. WriteCoil
            • 7.2.11. WriteCoils
            • 7.2.12. WriteRegister
            • 7.2.13. WriteRegisters
          • 8. TUgMQTTClient
            • 8.1. 属性
            • 8.1.1. BrokerHostName
            • 8.1.2. BrokerPort
            • 8.1.3. ClientID
            • 8.2. 事件
            • 8.2.1. OnPublishReceivedA事件
            • 8.3. 方法
            • 8.3.1. Connect
            • 8.3.2. Disconnect
            • 8.3.3. Subscribe
            • 8.3.4. UnSubscribe
            • 8.3.5. Publish
          • 9. TUgMQTTws
            • 9.1. 属性
            • 9.2. 事件
            • 9.2.1. OnConnect
            • 9.2.2. OnMessage
            • 9.2.3. OnConnectionLost
            • 9.3. 方法
            • 9.3.1. SubScribe
            • 9.3.2. UnSubScribe
            • 9.3.3. Publish
          • 10. TUgWebSerial
            • 10.1. 属性
            • 10.1.1. SerailOptions
            • 10.1.1.1. BaudRate
            • 10.1.1.2. BufferSize
            • 10.1.1.3. DataBits
            • 10.1.1.4. Filters
            • 10.1.1.5. FlowControl
            • 10.1.1.6. Parity
            • 10.1.1.7. StopBits
            • 10.2. 事件
            • 10.2.1. OnReceived
            • 10.3. 方法
            • 10.3.1. Init
            • 10.3.2. Request
            • 10.3.3. Open
            • 10.3.4. Close
            • 10.3.5. Write
            • 10.3.6. WriteLines
            • 10.3.7. GetPorts
            • 10.3.8. GetPortInfo
        • 服务器控件
        • 多媒体控件
        • 3D-AI控件
        • IsoBean控件
        • 附控控件
      • 移动控件

    • 系统工具

    • 系统管理

    • 云服务工具

    • 数据库工具

    • 专用模板

    • 外部功能

    • 开发流程

    • 函数程序

  • 开发手册

目录

通讯控件

# FastWeb通讯控件

  • 适用平台: WEB(桌面)

  该组中的控件为通过工业通讯协定的设定,连接物联网设备采集资料的程序,进行数据的连接采集功能。

# 1. TUgNetHttpClient

  此组件为Http服务请求使用的客户端组件。是作为TUgRestApi的基础组件存在,如需要使用完整的RestAPI请求功能请查阅 TUgRestApi,以下属性仅作简单说明。

# 1.1. 属性

# 1.1.1. Accept

property Accept: string;
1

  用于设置客户端允许接收的内容类型,用于与服务端进行通信连接。

# 1.1.2. AcceptCharSet

property AcceptCharSet: string;
1

  用于设置客户端允许接收的字符集类型。

# 1.1.3. AcceptEncoding

property AcceptEncoding: string;
1

  用于设置客户端允许接收的内容编码压缩类型。

# 1.1.4. AcceptLanguage

property AcceptLanguage: string;
1

  设置客户端优先响应的语言类型。

# 1.1.5. AllowCookies

property AllowCookies: Boolean;
1

  设置客户端是否接受来自服务端的cookie信息。

# 1.1.6. Asynchronous

property Asynchronous: Boolean;
1

  设置请求的方式是异步(True)还是同步(False)。

# 1.1.7. ConnectionTimeOut

property ConnectionTimeout: Integer;
1

  建立 HTTP 客户端连接之前的超时数值,单位为ms(毫秒)。

# 1.1.8. ContentType

property ContentType: string;
1

  设置请求的实体主体的媒体类型。

# 1.1.9. HandleRedirects

property HandleRedirects: Boolean;
1

  如果此项设置为 True,则客户端组件会自动处理重定向。否则不处理重定向信息。

# 1.1.10. MaxRedirects

property MaxRedirects: Integer;
1

  设置客户端允许的最大重定向的次数。

# 1.1.11. RedirectsWithGET

property RedirectsWithGET: THTTPRedirectsWithGET;
1

  设置允许的重定向类型。

# 1.1.12. ResponseTimeOut

property ResponseTimeout: Integer;
1

  表示给定 HTTP 客户端请求中部分 HTTP 响应之间的最大超时,单位为毫秒。

# 1.1.13. SecureProtocols

property SecureProtocols: THTTPSecureProtocols;
1

  设置客户端的连接安全协议类型。

# 1.1.14. UserAgent

property UserAgent: string;
1

  设置用户代理标识,用于标识客户端的类型。

# 1.2. 事件

名称 触发条件
OnAuthEvent 当需要向代理验证用户名时触发事件
OnNeedClientCertificate 需要客户端证书时触发事件
OnReceiveData 在您的 HTTP 客户端接收请求的响应数据时会触发一次或者多次,它可以用于响应下载的进度
OnRequestCompleted 在请求完成时触发事件
OnRequestError 在请求发生错误时触发事件
OnValidateServerCertificate 在检查服务器证书的有效性时触发事件

# 2. TUgNetHttpRequest

  此组件为Http服务请求的模板组件。是作为TUgRestApi的基础组件存在,如需要使用完整的RestAPI请求功能请查阅 TUgRestApi,以下属性仅作简单说明。

# 2.1. 属性

# 2.1.1. Accept

property Accept: string;
1

  用于设置客户端允许接收的内容类型,用于与服务端进行通信连接。

# 2.1.2. AcceptCharSet

property AcceptCharSet: string;
1

  用于设置客户端允许接收的字符集类型。

# 2.1.3. AcceptEncoding

property AcceptEncoding: string;
1

  用于设置客户端允许接收的内容编码压缩类型。

# 2.1.4. AcceptLanguage

property AcceptLanguage: string;
1

  设置客户端优先响应的语言类型。

# 2.1.5. Asynchronous

property Asynchronous: Boolean;
1

  设置请求的方式是异步(True)还是同步(False)。

# 2.1.6. Client

property Client: TUgNetHTTPClient
1

  指定请求绑定的HTTP客户端组件。

# 2.1.7. ConnectionTimeOut

property ConnectionTimeout: Integer;
1

  建立 HTTP 客户端连接之前的超时数值,单位为ms(毫秒)。

# 2.1.8. MethodString

property MethodString: string;
1

  设置从请求中访问方法字符串的属性。

# 2.1.9. ResponseTimeOut

property ResponseTimeout: Integer;
1

  表示给定 HTTP 客户端请求中部分 HTTP 响应之间的最大超时,单位为毫秒。

# 2.1.10. URL

property URL: string;
1

  设置允许的URL链接。

# 2.2. 事件

名称 触发条件
OnNeedClientCertificate 需要客户端证书时触发事件
OnReceiveData 在您的 HTTP 客户端接收请求的响应数据时会触发一次或者多次,它可以用于响应下载的进度
OnRequestCompleted 在请求完成时触发事件
OnRequestError 在请求发生错误时触发事件
OnValidateServerCertificate 在检查服务器证书的有效性时触发事件

# 3. TUgIdHttp

  该组件为Http服务的提供组件,用于设置并接收http请求,可作为HTTP请求的客户端使用。

# 3.1. 方法

# 3.1.1. Get

function Get(AURL: string): string;
1

  设置GET的请求。返回响应的内容。

# 3.1.2. Post

function Post(AURL: string; ASource: TStringList): string;
1

  通过Post方式发送请求。

# 3.1.3. Post1

function Post1(AURL: string; const ASourceFile: String): string;
1

  通过Post方式,将来自文件的数据作为请求体发送到指定的URL。

    //JScript
    var Response;
    try{
        // 发送POST请求,并将来自文件的数据发送到指定的URL
        Response = UgIdHTTP01.Post1("http://example.com/api", "path_to_folder\\path_to_file");
        // 处理响应数据
    }
    except{
        // 处理异常
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //PasScript
    var
      Response: string;
    begin
      try
        // 发送POST请求,并将来自文件的数据发送到指定的URL
        Response := UgIdHTTP01.Post1('http://example.com/api', 'path_to_folder\path_to_file');
        // 处理响应数据
      except
        on E: Exception do
        begin
          // 处理异常
        end;
      end;
    end;
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    // Make sure to add code blocks to your code group

    # 3.1.4. Post2

    function Post2(AURL: string; ASource: TStrings): string;
    
    1

      通过Post方式,将TStrings对象中的数据作为表单数据发送到指定的URL。当使用这种方式发送POST请求时,数据会以application/x-www-form-urlencoded格式发送到服务器,这是HTTP POST请求的一种常见方式。

      //JScript
      var Params,Response;
      
      Params = new TStringList();
      
      try{
          // 添加表单参数到TStrings对象中
          Params.Add("param1=value1");
          Params.Add("param2=value2");
          // 发送POST请求,并将来自文件的数据发送到指定的URL
          Response = UgIdHTTP01.Post2("http://example.com/api", Params);
          // 处理服务器响应
          // ...
      }
      finally{
          Params.Free;
      }
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      //PasScript
      var
        Params: TStringList;
        Response: string;
      begin
        Params := TStringList.Create;
        try
          // 添加表单参数到TStrings对象中
          Params.Add('param1=value1');
          Params.Add('param2=value2');
          
          // 发送POST请求,并将TStrings对象中的数据作为表单数据发送到指定的URL
          Response := UgIdHTTP01.Post2('http://example.com/api', Params);
          
          // 处理服务器响应
          // ...
        finally
          Params.Free;
        end;
      end;
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      // Make sure to add code blocks to your code group

      # 3.1.5. Post3

      function Post3(AURL: string; ASource: TStream): string;
      
      1

        通过Post方式,将TStream中的数据作为请求体发送到指定的URL。这种方法通常用于向服务器上传文件或其他二进制数据。

        //JScript
        var FileStream,Response;
        // 创建要发送的数据流,只读模式
        FileStream = new TFileStream("path_to_folder\\path_to_file", 0);
        
        try{
            // 发送POST请求,并将数据流中的内容作为请求体发送到指定的URL
            Response = UgIdHTTP01.Post("http://example.com/api", FileStream);
            // 处理服务器响应
            // ...
        }
        finally{
            FileStream.Free;
        }
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        //PasScript
        var
          FileStream: TFileStream;
          Response: string;
        begin
          // 创建要发送的数据流,只读模式
          FileStream := TFileStream.Create('path_to_folder\path_to_file', 0);
          try
            // 发送POST请求,并将数据流中的内容作为请求体发送到指定的URL
            Response := UgIdHTTP01.Post('http://example.com/api', FileStream);
            // 处理服务器响应
            // ...
          finally
            FileStream.Free;
          end;
        end;
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        // Make sure to add code blocks to your code group

        # 3.1.6. Post4

        function Post4(AURL: string; ASource: TIdMultiPartFormDataStream): string;
        
        1

          通过Post方式,将TIdMultiPartFormDataStream对象中的数据作为多部分表单数据发送到指定的URL。这在需要上传文件或发送包含文件和其他表单字段的表单时非常有用。

          //JScript
          var FormData,Response;
          // 创建TIdMultiPartFormDataStream对象
          FormData = new TIdMultiPartFormDataStream();
          
          try{
              // 添加要发送的表单字段
              FormData.AddFormField("param1", "value1","","","");
              FormData.AddFormField("param2", "value2","","","");
              
              // 添加要上传的文件
              FormData.AddFile("file1", "path_to_folder\\path_to_file1","application/octet-stream");
              FormData.AddFile("file2", "path_to_folder\\path_to_file2","application/octet-stream");
              
              // 发送POST请求,并将TIdMultiPartFormDataStream对象中的数据作为多部分表单数据发送到指定的URL
              Response = UgIdHTTP01.Post4("http://example.com/api", FormData);
              
              // 处理服务器响应
              // ...
          }
          finally{
              FormData.Free;
          }
          
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          21
          22
          23
          //PasScript
          var
            FormData: TIdMultiPartFormDataStream;
            Response: string;
          begin
            // 创建TIdMultiPartFormDataStream对象
            FormData := TIdMultiPartFormDataStream.Create;
            try
              // 添加要发送的表单字段
              FormData.AddFormField('param1', 'value1','','','');
              FormData.AddFormField('param2', 'value2','','','');
              
              // 添加要上传的文件
              FormData.AddFile('file1', 'path_to_folder\path_to_file1','application/octet-stream');
              FormData.AddFile('file2', 'path_to_folder\path_to_file2','application/octet-stream');
              
              // 发送POST请求,并将TIdMultiPartFormDataStream对象中的数据作为多部分表单数据发送到指定的URL
              Response := UgIdHTTP01.Post4('http://example.com/api', FormData);
              
              // 处理服务器响应
              // ...
            finally
              FormData.Free;
            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
          // Make sure to add code blocks to your code group

          # 3.1.7. Post5

          procedure Post5(AURL: string; const ASourceFile: String; AResponseContent: TStream);
          
          1

            通过Post方式,将来自文件的数据作为请求体发送到指定的URL。这个方法还允许你将服务器的响应内容写入到指定的TStream中。这种方法适用于需要发送文件数据并且需要获取服务器响应内容的情况。

            //JScript
            var ResponseStream;
            ResponseStream = new TMemoryStream();
            
            try{
                // 发送POST请求,并将来自文件的数据发送到指定的URL,同时将服务器的响应内容写入到ResponseStream中
                UgIdHTTP01.Post5("http://example.com/api", "path_to_folder\\path_to_file", ResponseStream);
                // 处理服务器响应内容,可以从ResponseStream中读取
                // ...
            }
            finally{
                ResponseStream.Free;
            }
            
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            //PasScript
            var
              ResponseStream: TMemoryStream;
            begin
              ResponseStream := TMemoryStream.Create;
              try
                // 发送POST请求,并将来自文件的数据发送到指定的URL,同时将服务器的响应内容写入到ResponseStream中
                UgIdHTTP01.Post5('http://example.com/api', 'path_to_file', ResponseStream);
                // 处理服务器响应内容,可以从ResponseStream中读取
                // ...
              finally
                ResponseStream.Free;
              end;
            end;
            
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            // Make sure to add code blocks to your code group

            # 3.1.8. Post6

            procedure Post6(AURL: string; ASource: TStrings; AResponseContent: TStream);
            
            1

              通过Post方式,将TStrings对象中的数据作为表单数据发送到指定的URL。这个方法还允许你将服务器的响应内容写入到指定的TStream中。

              //JScript
              var Params,ResponseStream;
              Params = new TStringList();
              ResponseStream = new TMemoryStream();
              
              try{
                  // 添加表单参数到TStrings对象中
                  Params.Add("param1=value1");
                  Params.Add("param2=value2");
                  // 发送POST请求,并将TStrings对象中的数据作为表单数据发送到指定的URL,同时将服务器的响应内容写入到ResponseStream中
                  UgIdHTTP01.Post6("http://example.com/api", Params, ResponseStream);
                  // 处理服务器响应内容,可以从ResponseStream中读取
                  // ...
              }
              finally{
                  Params.Free;
                  ResponseStream.Free;
              }
              
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              17
              18
              //PasScript
              var
                Params: TStringList;
                ResponseStream: TMemoryStream;
              begin
                Params := TStringList.Create;
                ResponseStream := TMemoryStream.Create;
                try
                  // 添加表单参数到TStrings对象中
                  Params.Add('param1=value1');
                  Params.Add('param2=value2');
                  
                  // 发送POST请求,并将TStrings对象中的数据作为表单数据发送到指定的URL,同时将服务器的响应内容写入到ResponseStream中
                  IdHTTP1.Post('http://example.com/api', Params, ResponseStream);
                  
                  // 处理服务器响应内容,可以从ResponseStream中读取
                  // ...
                finally
                  Params.Free;
                  ResponseStream.Free;
                end;
              end;
              
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              17
              18
              19
              20
              21
              22
              // Make sure to add code blocks to your code group

              # 3.1.9. Post7

              procedure Post7(AURL: string; ASource, AResponseContent: TStream);
              
              1

                通过Post方式,将TStream中的数据作为请求体发送到指定的URL。这个方法还允许你将服务器的响应内容写入到另一个TStream中。

                //JScript
                var FileStream, ResponseStream;
                // 创建要发送的数据流,只读模式
                FileStream = new TFileStream("path_to_folder\\path_to_file", 0);
                ResponseStream = new TMemoryStream();
                
                try{
                    
                    // 发送POST请求,并将RequestStream中的数据作为请求体发送到指定的URL,同时将服务器的响应内容写入到ResponseStream中
                    UgIdHTTP01.Post7("http://example.com/api", FileStream, ResponseStream);
                    
                    // 处理服务器响应内容,可以从ResponseStream中读取
                    // ...
                }
                finally{
                    FileStream.Free;
                    ResponseStream.Free;
                }
                
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                17
                18
                //PasScript
                var
                  FileStream: TFileStream
                  ResponseStream: TMemoryStream;
                begin
                  // 创建要发送的数据流,只读模式
                  FileStream := TFileStream.Create('path_to_folder\path_to_file', 0);
                  ResponseStream := TMemoryStream.Create;
                  try
                    
                    // 发送POST请求,并将FileStream中的数据作为请求体发送到指定的URL,同时将服务器的响应内容写入到ResponseStream中
                    UgIdHTTP01.Post7('http://example.com/api', FileStream, ResponseStream);
                    
                    // 处理服务器响应内容,可以从ResponseStream中读取
                    // ...
                  finally
                    FileStream.Free;
                    ResponseStream.Free;
                  end;
                end;
                
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                17
                18
                19
                20
                // Make sure to add code blocks to your code group

                # 3.1.10. Post8

                procedure Post8(AURL: string; ASource: TIdMultiPartFormDataStream; AResponseContent: TStream);
                
                1

                  通过Post方式,将TIdMultiPartFormDataStream对象中的数据作为多部分表单数据发送到指定的URL。这个方法还允许你将服务器的响应内容写入到另一个TStream中。这种方法适用于需要发送包含文件和其他表单字段的表单,并且需要获取服务器响应内容的情况。

                  //JScript
                  var FormData,ResponseStream;
                  // 创建TIdMultiPartFormDataStream对象
                  FormData = new TIdMultiPartFormDataStream();
                  ResponseStream = new TMemoryStream();
                  
                  try{
                      // 添加要发送的表单字段
                      FormData.AddFormField("param1", "value1","","","");
                      FormData.AddFormField("param2", "value2","","","");
                      
                      // 添加要上传的文件
                      FormData.AddFile("file1", "path_to_folder\\path_to_file1","application/octet-stream");
                      FormData.AddFile("file2", "path_to_folder\\path_to_file2","application/octet-stream");
                      
                      // 发送POST请求,并将TIdMultiPartFormDataStream对象中的数据作为多部分表单数据发送到指定的URL,同时将服务器的响应内容写入到ResponseStream中
                      UgIdHTTP01.Post8("http://example.com/api", FormData,ResponseStream);
                      
                      // 处理服务器响应
                      // ...
                  }
                  finally{
                      FormData.Free;
                      ResponseStream.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
                  //PasScript
                  var
                    FormData: TIdMultiPartFormDataStream;
                    ResponseStream: TMemoryStream;
                  begin
                    // 创建TIdMultiPartFormDataStream对象
                    FormData := TIdMultiPartFormDataStream.Create;
                    ResponseStream := TMemoryStream.Create;
                    try
                      // 添加要发送的表单字段
                      FormData.AddFormField('param1', 'value1','','','');
                      FormData.AddFormField('param2', 'value2','','','');
                      
                      // 添加要上传的文件
                      FormData.AddFile('file1', 'path_to_folder\path_to_file1','application/octet-stream');
                      FormData.AddFile('file2', 'path_to_folder\path_to_file2','application/octet-stream');
                      
                      // 发送POST请求,并将TIdMultiPartFormDataStream对象中的数据作为多部分表单数据发送到指定的URL,同时将服务器的响应内容写入到ResponseStream中
                      UgIdHTTP01.Post8('http://example.com/api', FormData,ResponseStream);
                      
                      // 处理服务器响应
                      // ...
                    finally
                      FormData.Free;
                      ResponseStream.Free;
                    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
                  // Make sure to add code blocks to your code group

                  # 4. TUgIdFTP

                    此控件为FTP发送的基础控件。

                    FTP 是一种促进共享文件、高效上传和下载文件以及隔离远程主机计算机文件系统差异的协议。

                    TUgIdFTP 提供了 FTP 协议解释器的封装,该解释器充当 FTP 命令及其特定 FTP 回复交换的控制通道或通信路径。 几个关键属性和方法用于为 FTP 会话建立控制通道,包括:Host、Port、UserName、Password、ClientInfo、ProxySettings、UseTLS、AutoLogin、Connect、Login、Quit。

                    使用 Connect 或 Login 创建控制通道连接后,可以使用以下属性检查 FTP 回复的内容和在此过程中检测到的设置:Greeting、LoginMsg、SystemDesc、TZInfo、UsingSFTP、LastCmdResult、LangsSupported。

                  # 4.1. 属性

                  属性 说明
                  Account FTP登录的用户账户信息
                  AUTHCmd 指示登录到 FTP 服务器时执行身份验证时使用的机制
                  AutoLogin 表示FTP 客户端在FTP 服务器连接打开时是否自动登录
                  ClientInfo 有关 FTP CLNT 命令的 FTP 客户端软件、修订版和平台的附加信息
                  DataPort 表示结合用于FTP客户端会话的数据信道时使用的端口号
                  DataPortMax FTP客户端绑定活动数据通道时允许的端口号上限
                  DataPortMin FTP客户端绑定活动数据通道时允许的端口号下限
                  DataPortProtection 指示 FTP 客户端中数据通道连接所需的安全级别
                  ExternalIP 指定客户端在基于 NAT 的防火墙后面发送 FTP PORT 或 EPRT 命令时使用的 IP 地址
                  Host 表示远程 FTP 服务器的 IP 地址或主机名
                  Passive FTP 数据通道连接方式是否为被动模式
                  Password 登录 FTP 服务器时使用的身份验证凭据
                  Port 控制通道连接到远程 FTP 服务器的端口号
                  ProxySettings 指示用于使用 FTP 代理服务器打开的连接的设置
                  ReadTimeout 等待 FTP 协议响应的毫秒数
                  TransferTimeout FTP 客户端数据通道上读取操作的超时值
                  TransferType 文件传输类型
                  TryNATFastTrack 表示使用“快速路径”连接来穿越防火墙和 NAT
                  UseCCC 指示 FTP 客户端是否需要使用清除命令通道 (CCC) 命令
                  UseExtensionDataPort 指示是否在 FTP 协议交换中使用端口和被动设置的 IPv6 扩展
                  UseMLIS 指示 FTP MLST 和 MLSD 命令是否用于目录列表
                  UserName 登录 FTP 服务器时使用的身份验证身份

                  # 4.1.1. Account

                  property Account: string;
                  
                  1

                    设置FTP登录的用户账户信息。

                  # 4.1.2. AUTHCmd

                  property AUTHCmd: TAuthCmd;
                  
                  1

                    指示登录到 FTP 服务器时执行身份验证时使用的机制。

                  • tAuthSSL:使用SSL认证。
                  • tAuthTLS:使用TLS认证。
                  • tAuthTLSC:使用TLSC认证。
                  • tAuthTLSP:使用TLSP认证。

                  # 4.1.3. AutoLogin

                  property AutoLogin: Boolean;
                  
                  1

                    表示FTP 客户端在FTP 服务器连接打开时是否自动登录。

                  # 4.1.4. ClientInfo

                  property ClientInfo: TIdFTPClientIdentifier;
                  
                  1

                    有关 FTP CLNT 命令的 FTP 客户端软件、修订版和平台的附加信息。

                  • ClientName:客户端的名称。
                  • ClientVersion:客户端的版本。
                  • PlatformDescription:平台的描述信息。

                  # 4.1.5. DataPort

                  property DataPort: Integer;
                  
                  1

                    表示结合用于FTP客户端会话的数据信道时使用的端口号。

                  # 4.1.6. DataPortMax

                  property DataPortMax: Integer;
                  
                  1

                    FTP客户端绑定活动数据通道时允许的端口号上限。

                  # 4.1.7. DataPortMin

                  property DataPortMin: Integer;
                  
                  1

                  # 4.1.8. DataPortProtection

                  property DataPortProtection: TIdFTPDataPortSecurity;
                  
                  1

                    指示 FTP 客户端中数据通道连接所需的安全级别。

                  • ftpdpsClear:清除个人信息的安全级别。
                  • ftpdpsPrivate:开启个人模式的安全级别。

                  # 4.1.9. ExternalIP

                  property ExternalIP: String;
                  
                  1

                    指定客户端在基于 NAT 的防火墙后面发送 FTP PORT 或 EPRT 命令时使用的 IP 地址。

                  # 4.1.10. Host

                  property Host;
                  
                  1

                    表示远程 FTP 服务器的 IP 地址或主机名。

                  # 4.1.11. Passive

                  property Passive: boolean;
                  
                  1

                    FTP 数据通道连接方式是否为被动模式。

                  # 4.1.12. Password

                  property Password;
                  
                  1

                    登录 FTP 服务器时使用的身份验证凭据。

                  # 4.1.13. Port

                  property Port;
                  
                  1

                    控制通道连接到远程 FTP 服务器的端口号。

                  # 4.1.14. ProxySettings

                  property ProxySettings: TIdFtpProxySettings;
                  
                  1

                    指示用于使用 FTP 代理服务器打开的连接的设置。

                  • Host:代理服务器的地址。
                  • Password:代理服务器的连接密码。
                  • Port:代理服务器的连接端口号。
                  • ProxyType:代理连接的类型。
                  取值 说明
                  fpcmNone 发送在 FTP 客户端中找到的用户名和可选密码
                  fpcmUserSite 在 ProxySettings 中发送用户名和可选密码,紧接着是在 FTP 客户端中找到的用户名和可选密码
                  fpcmSite 发送 ProxySettings 中的用户名和可选密码、SITE 命令和 Host 属性中的值,以及 FTP 客户端中的用户名和可选密码
                  fpcmOpen 发送 ProxySettings 中的用户名和可选密码,发送带有 Host 值的 OPEN 命令,以及 FTP 客户端的用户名和可选密码
                  fpcmUserPass 使用命令 USER user@proxyuser@host 调用 SendCmd,使用命令 PASS pwd@proxypwd 或可选的 PASS pwd 调用 SendCmd
                  fpcmTransparent 发送 ProxySettings 用户名和可选密码,紧接着是 FTP 客户端用户名和可选密码
                  fpcmHttpProxyWithFtp 目前未实现
                  fpcmCustomProxy 向 OnCustomFTPProxy 事件处理程序发出信号以执行 FTP 协议交换
                  • UserName:代理服务器连接使用的用户名称。

                  # 4.1.15. ReadTimeout

                  property ReadTimeout: Integer;
                  
                  1

                    等待 FTP 协议响应的毫秒数。

                  # 4.1.16. TransferTimeout

                  property TransferTimeout: Integer;
                  
                  1

                    FTP 客户端数据通道上读取操作的超时值。

                  # 4.1.17. TransferType

                  property TransferType: TIdFTPTransferType;
                  
                  1

                     文件传输类型。

                  • ftBinary:二进制传输。
                  • ftASCII:ASCII码传输。

                  # 4.1.18. TryNATFastTrack

                  property TryNATFastTrack: Boolean;
                  
                  1

                    表示使用“快速路径”连接来穿越防火墙和 NAT。

                  # 4.1.19. UseCCC

                  property UseCCC: Boolean;
                  
                  1

                    指示 FTP 客户端是否需要使用清除命令通道 (CCC) 命令。

                  # 4.1.20. UseExtensionDataPort

                  property UsingExtDataPort: Boolean;
                  
                  1

                    指示是否在 FTP 协议交换中使用端口和被动设置的 IPv6 扩展 。

                  # 4.1.21. UseMLIS

                  property UseMLIS: Boolean;
                  
                  1

                    指示 FTP MLST 和 MLSD 命令是否用于目录列表。

                  # 4.1.22. UserName

                  property Username;
                  
                  1

                    登录 FTP 服务器时使用的身份验证身份。

                  # 4.2. 事件

                  事件名称 说明
                  OnAfterClientLogin 当客户端登录后触发事件
                  OnAfterGet 当获取服务器上的内容后触发事件
                  OnAfterPut 当向服务器上传内容后触发事件
                  OnBeforeGet 当客户端获取内容前触发事件
                  OnBeforePut 当客户端上传内容前触发事件
                  OnConnected 当客户端连接后触发事件
                  OnDisconnected 当客户端断开连接时触发事件
                  OnNeedAccount 当需要账户时触发事件

                  # 4.3. 方法

                  # 4.3.1. Allocate

                  procedure Allocate(AAllocateBytes: Integer);
                  
                  1

                    在上传文件之前在 FTP 服务器上预先分配空间。

                  # 4.3.2. ChangeDir

                  procedure ChangeDir(const ADirName: string);
                  
                  1

                    切换 FTP 服务器文件系统上的当前目录。

                  # 4.3.3. ChangeDirUp

                  procedure ChangeDirUp;
                  
                  1

                    切换为 FTP 服务器上的父目录。

                  # 4.3.4. Connect

                  procedure Connect; 
                  
                  1

                    为 FTP 会话打开与服务器的连接。

                  # 4.3.5. CRC

                  function CRC(const AFIleName: string; const AStartPoint: Int64; const AEndPoint: Int64): Int64
                  
                  1

                    计算 FTP 服务器上指定文件的循环冗余校验(或 CRC)。

                  # 4.3.6. Delete

                  procedure Delete(const AFilename: string);
                  
                  1

                    删除 FTP 服务器文件系统上的文件。

                  # 4.3.7. FileDate

                  function FileDate(const AFileName: string; const AsGMT: Boolean): TDateTime
                  
                  1

                    检索上次在远程系统上修改文件的日期和时间。

                  # 4.3.8. Get

                  procedure Get(const ASourceFile: string; ADest: TStream; AResume: Boolean)
                  procedure Get(const ASourceFile: string; const ADestFile: string; const ACanOverwrite: Boolean; AResume: Boolean)
                  
                  1
                  2

                    使用 FTP 协议检索文件。

                  # 4.3.9. List

                  procedure List
                  procedure List(const ASpecifier: string; ADetails: Boolean)
                  procedure List(ADest: TStrings; const ASpecifier: string; ADetails: Boolean)
                  
                  1
                  2
                  3

                    获取列表信息。

                  # 4.3.10. Login

                  procedure Login;
                  
                  1

                    验证与 FTP 服务器的客户端连接。

                  # 4.3.11. MakeDir

                  procedure MakeDir(const ADirName: string);
                  
                  1

                    在 FTP 服务器上创建一个目录。

                  # 4.3.12. Noop

                  procedure Noop;
                  
                  1

                    向 FTP 服务器发送 Keep-Alive 信号。

                  # 4.3.13. Put

                  procedure Put(const ASource: TStream; const ADestFile: string; const AAppend: Boolean; const AStartPos: Int64)
                  procedure Put(const ASourceFile: string; const ADestFile: string; const AAppend: Boolean; const AStartPos: Int64)
                  
                  1
                  2

                    将文件上传到 FTP 服务器。

                  # 4.3.14. Quit

                  procedure Quit;
                  
                  1

                    结束连接并退出。

                  # 4.3.15. RemoveDir

                  procedure RemoveDir(const ADirName: string)
                  
                  1

                    删除 FTP 服务器上的目录。

                  # 4.3.16. ReName

                  procedure Rename(const ASourceFile: string; const ADestFile: string);
                  
                  1

                    更改 FTP 服务器文件系统上的文件名。

                  # 4.3.17. RetrieveCurrentDir

                  function RetrieveCurrentDir: string;
                  
                  1

                    获取 FTP 服务器上的当前目录名称。

                  # 4.3.18. SetModTime

                  procedure SetModTime(const AFileName: string; const ALocalTime: TDateTime);
                  
                  1

                    设置指定文件的最后修改时间。

                  # 4.3.19. SetModTimeGMT

                  procedure SetModTimeGMT(const AFileName: string; const AGMTTime: TDateTime)
                  
                  1

                    设置指定文件的最后修改时间。

                  # 4.3.20. Size

                  function Size(const AFileName: string): Int64;
                  
                  1

                    从 FTP 服务器获取文件大小信息。

                  # 5. TUgEmailMsg

                    此控件用于设置邮件发送相关的参数,通过控件配置的方式可快速完成邮件参数信息的配置。

                  # 5.1. 属性

                  属性 说明
                  Address 邮件发送的目标地址邮箱
                  Attachments 附件的地址列表
                  Body 邮件的正文内容
                  BodyHtml 邮件的正文是否使用HTML格式解析
                  CCAdressList 设置抄送的邮箱的列表
                  Host 邮件服务器的地址
                  Password 邮件发件邮箱的密码
                  Port 邮件服务器的通讯端口号
                  Receipt 设置是否发送邮件的已读回执
                  ReceiptAddress 设置已读回执的传输地址
                  Subject 设置邮箱的标题
                  Username 设置用户名

                  # 5.2. 方法

                  function SendEmail: Boolean;
                  
                  1

                    设置发送邮件,并反馈发送是否成功的信息。

                  # 6. TUgRestApi

                    该组件为客户端向服务端发送请求使用的组件,可通过其接收到的信息进行解析操作。在界面中双击控件,可打开RestApi管理器界面。

                    在上述界面中,点击左侧的API列表,选择要使用的API,有条件的API可在右侧修改相关信息,使用右侧的[Send]按钮测试返回的结果。点击[OK]按钮确认并将参数信息回传至RestAPI控件中。

                  # 6.1. 属性

                  属性 说明
                  Body 请求主体的内容
                  ContentType 请求的内容类型
                  GUID 在RestAPI管理器中记录的选择项的值
                  Headers 请求头的值的类型
                  Method 请求的类型
                  Params 请求的参数内容
                  Script 请求的脚本内容
                  Server 请求的服务器的地址信息
                  Url 请求的除服务器以外的地址的信息

                  # 6.1.1. Body

                  property Body: TStringList;
                  
                  1

                    设置请求体中的内容,点击属性右侧的按钮以打开文本编辑框,向其中输入信息,通常可在其中输入格式化的JSON文本或者key=value类型的文本或者纯文本信息,根据API的需求进行填写。

                    当ContentType设置为application/json时,Body处填写的是格式化的JSON文本;当ContentType设置为application/x-www-form-urlencoded时,Body处填写的是key=value键值对。

                  # 6.1.2. ContentType

                  property ContentType: string;
                  
                  1

                    设置请求内容的类型。通常有以下几种类型:

                  • text/html:带有html标记的文本类型。
                  • application/json:格式化的json文本类型。
                  • application/xml:格式化的xml文本类型。
                  • application/octet-stream:未知类型,默认表示为二进制的数据流类型。
                  • application/x-www-form-urlencoded:key=value类型的文本编码方式。

                  # 6.1.3. GUID

                  property GUID: string;
                  
                  1

                    此处的GUID用来记录在管理器界面选择的RestAPI。

                  # 6.1.4. Headers

                  property Headers: TStringList;
                  
                  1

                    设置发送请求的请求头的信息。

                  # 6.1.5. Method

                  property Method: TRequestMethod;
                  
                  1

                    设置请求的发送方式。

                  • rmGET:以GET的方式发送请求。
                  • rmPOST:以POST的方式发送请求。
                  • rmDELETE:以DELETE的方式发送请求。
                  • rmPUT:以PUT的方式发送请求。

                  # 6.1.6. Params

                  property Params: TStringList;
                  
                  1

                    设置发送的请求中带有的参数信息。以key=value的方式设置,每行设置一个。此部分的参数在发送中会使用URL编码的方式附加在URL后进行发送。

                    比如在Params中设置的参数为:

                  key1=value1
                  key2= value2
                  
                  1
                  2

                    请求的地址为http://192.168.1.1/,则在经过URL编码后请求的地址形式如下:

                  http://192.168.1.1/?key1=value1&key2=value2
                  
                  1

                    在请求的Rest地址与第一个参数中间使用?分隔,其余的参数与参数之间使用&进行分隔。

                  # 6.1.7. Script

                  property Script: TStringList;
                  
                  1

                    用于设置API返回的JSON信息中将会使用的提取特定数值的脚本信息。可使用的有以下几项内容。

                  • GetJSONString:获取JSON中特定值的文本。
                  • GetJSONNumber:获取JSON中特定值的数值。
                  • GETJSONInteger:获取JSON中特定值的整数值信息。
                  • GETJSONObject:获取JSON中特定的对象
                  • GETJSONBool:获取JSON中特定值的布尔值信息。
                  • GETJSONObject:获取JSON中指定名称的对象信息。
                  • GETJSONArray:获取JSON中指定名称的对象数组信息。
                  • GETJSONPair:获取JSON中指定名称的键值对的信息。

                    具体的使用方式如下:

                  {
                      "$user":{
                          "auth_token": "ABDEDEEDEDEED",
                          "number": 1,
                          "float": 3.2,
                          "bool": true
                      },
                      "status":[
                          {"ok": true},
                          {"ok": false}
                      ]
                  }
                  
                  1
                  2
                  3
                  4
                  5
                  6
                  7
                  8
                  9
                  10
                  11
                  12

                    如果我们要从中取出auth_token的值,在脚本信息中可以使用下述方式获取:

                  方式一:写路径获取

                  GETJSONString=$user.auth_token
                  
                  1

                  方式二:分层单步获取

                  GETJSONString=$user
                  GETJSONString=auth_token
                  
                  1
                  2

                    如果是取特定数组中的对象,使用以下方式来获取:

                  数组有名称

                  GETJSONBool=status[0].ok
                  
                  1

                  数组无名称:数组无名称通常使用在起始的位置。表示方式如下:

                  [
                      {"bad": "AA"},
                      {"bad": "BB"}
                  ]
                  
                  1
                  2
                  3
                  4

                    上述写法如下:

                  GETJSONString=[0].bad
                  
                  1

                    如果要取JSON中表示的各种数据类型的数值或者对象,使用下述方式:

                  文本类型

                  GETJSONString=$user.auth_token
                  
                  1

                  数值类型(返回类型为文本)

                  GETJSONNumber=$user.number
                  
                  1

                  整数

                  GETJSONInteger=$user.number
                  
                  1

                  浮点数

                  GETJSONFloat=$user.float
                  
                  1

                  布尔值

                  GETJSONBool=$user.bool
                  
                  1

                  对象

                  GETJSONObject=$user
                  
                  1

                  数组

                  GETJSONArray=status
                  
                  1

                  值对

                  GETJSONPair=$user
                  
                  1

                  # 6.1.8. Server

                  property Server: string;
                  
                  1

                    设定API厂商的服务地址,此服务地址可从API服务管理界面进行设置。

                  # 6.1.9. Url

                  property Url: string;
                  
                  1

                    设定处服务地址外的具体Url路径信息。首位不需要带地址分隔符号。

                  # 6.2. 事件

                  # 6.2.1. ResultData

                  procedure UgRestApiResultData(sender: tobject;aresult: string);
                  
                  1

                    设置当接收到RestAPI返回的消息时触发事件,在aresult中显示返回的文本。

                  示例:假设从返回的结果中获取auth_token,可使用下述的方式来获取。

                    //JScript
                    function UgRestApi01ResultData(sender,aresult)
                    var
                      vJSON: TJSONObject;
                      vValue: TJSONValue;
                    {
                      var vJSON,vValue;
                      UgMemo01.Lines.Add(aresult);
                      vJSON = new TJSONObject();
                      Try{
                        vValue = vJSON.ParseJSONValue(aresult,False,False);
                        vValue = TJSONObject(vValue).GetValue("$user");
                        vToken = TJSONObject(vValue).GetValue("auth_token").Value;
                      }
                      Finally{
                        vJSON.Free;
                      }
                    }
                    
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    17
                    18
                    //PasScript
                    procedure UgRestApi01ResultData(sender: tobject;aresult: string);
                    Var
                      vJSON: TJSONObject;
                      vValue: TJSONValue;
                    begin
                      UgMemo01.Lines.Add(aresult);
                      vJSON := TJSONObject.Create();
                      Try
                        vValue := vJSON.ParseJSONValue(aresult,False,False);
                        vValue := TJSONObject(vValue).GetValue('$user');
                        vToken := TJSONObject(vValue).GetValue('auth_token').Value;
                      Finally
                        vJSON.Free;
                      End;
                    end;
                    
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // Make sure to add code blocks to your code group

                    # 6.3. 方法

                    # 6.3.1. Send

                    procedure Send;
                    
                    1

                      设置发送请求。

                    # 6.3.2. Init

                    procedure Init(AGUID: string);
                    
                    1

                      设置对连接信息初始化操作。AGUID表示为其连接使用的GUID字段的名称。通过引用后可将对应字段的RestApi设置引入到界面中来。

                    # 7. TUgModbusTCPClient

                      该组件为ModbusTCP组件,用于与设备建立ModbusTCP连接。连接的发起是以FastWeb服务端为基准,不是以客户端的方式呈现。

                    # 7.1. 属性

                    属性 功能说明
                    AutoConnect 是否进行自动连接
                    ConnectTimeOut 设置连接超时的时间
                    Host 指定一个Modbus设备的IP地址
                    Port 指定一个Modbus设备的端口号
                    ReadTimeOut 设置读取超时的时间
                    UnitID 设置Modbus从机的ID

                    # 7.1.1. Host

                    property Host: string;
                    
                    1

                      Host是指ModbusTCP设备的IP地址。如:192.168.1.100。

                      //JScript
                      UgModbusTCPClient01.Host = "192.168.1.100";
                      
                      1
                      2
                      //PasScript
                      UgModbusTCPClient01.Host := '192.168.1.100';
                      
                      1
                      2
                      // Make sure to add code blocks to your code group

                      # 7.1.2. Port

                      property Port: Word;
                      
                      1

                        Port是指ModbusTCP设备的端口号。默认502。

                        //JScript
                        UgModbusTCPClient01.Port = 502;
                        
                        1
                        2
                        //PasScript
                        UgModbusTCPClient01.Port := 502;
                        
                        1
                        2
                        // Make sure to add code blocks to your code group

                        # 7.2. 方法

                        # 7.2.1. Connect

                        procedure Connect;
                        
                        1

                          连接设备。

                          //JScript
                          UgModbusTCPClient01.Connect;
                          
                          1
                          2
                          //PasScript
                          UgModbusTCPClient01.Connect;
                          
                          1
                          2
                          // Make sure to add code blocks to your code group

                          # 7.2.2. ReadCoil

                          function ReadCoil(const RegNo: Word; out Value: Boolean): Boolean;
                          
                          1

                            读取单个线圈寄存器的数值。

                            //JScript
                            //读取DO数位信号输出
                            function btnReadCoilOnClick(Sender)
                            {
                              var v;
                              if (UgModbusTCPClient01.ReadCoil(1,v))
                              {
                                if (v){
                                   UgMemo01.Lines.Add("ReadCoil Value->>> 1");
                                }
                                else{
                                   UgMemo01.Lines.Add("ReadCoil Value->>> 0");
                                }
                              }
                              else{
                                UgMemo01.Lines.Add("ReadCoil->>> error!");
                              }
                            }
                            
                            1
                            2
                            3
                            4
                            5
                            6
                            7
                            8
                            9
                            10
                            11
                            12
                            13
                            14
                            15
                            16
                            17
                            18
                            //PasScript
                            //读取DO数位信号输出
                            Procedure btnReadCoilOnClick(Sender: TObject);
                            var
                             v:boolean;
                            Begin
                              if UgModbusTCPClient01.ReadCoil(1,v) then
                              begin
                                if v Then
                                   UgMemo01.Lines.Add('ReadCoil Value->>> 1')
                                else
                                   UgMemo01.Lines.Add('ReadCoil Value->>> 0');
                              End
                              else
                                UgMemo01.Lines.Add('ReadCoil->>> error!');
                            End;
                            
                            1
                            2
                            3
                            4
                            5
                            6
                            7
                            8
                            9
                            10
                            11
                            12
                            13
                            14
                            15
                            16
                            // Make sure to add code blocks to your code group

                            # 7.2.3. ReadCoils

                            function ReadCoils(const RegNo: Word; const Blocks: Word; out RegisterData: string): Boolean;
                            
                            1

                              读取多个线圈寄存器的数值。

                              //JScript
                                var v;
                                UgModbusTCPClient01.ReadCoils(1,2,v);
                              
                              1
                              2
                              3
                              //PasScript
                              var
                                v:string;
                              begin
                                UgModbusTCPClient01.ReadCoils(1,2,v);
                              end;
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              // Make sure to add code blocks to your code group

                              # 7.2.4. ReadHoldingRegister

                              function ReadHoldingRegister(const RegNo: Word; out Value: Word): Boolean;
                              
                              1

                                读取单个保持寄存器的数值。

                                //JScript
                                //读取AO类比信号输出
                                function btnReadHoldingRegisterOnClick(Sender)
                                {
                                  var v;
                                  if (UgModbusTCPClient01.ReadHoldingRegister(1,v))
                                  {
                                    if (v){
                                       UgMemo01.Lines.Add("ReadHoldingRegister Value->>> "+floattostr(v));
                                    }
                                    else{
                                       UgMemo01.Lines.Add("ReadHoldingRegister Value->>> "+floattostr(v));
                                    }
                                  }
                                  else{
                                    UgMemo01.Lines.Add("ReadHoldingRegister->>> error!");
                                  }
                                }
                                
                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                15
                                16
                                17
                                18
                                //PasScript
                                //读取AO类比信号输出
                                Procedure btnReadHoldingRegisterOnClick(Sender: TObject);
                                var
                                 v:word;
                                Begin
                                  if UgModbusTCPClient01.ReadHoldingRegister(1,v) then
                                  begin
                                    if v Then
                                       UgMemo01.Lines.Add('ReadHoldingRegister Value->>> '+floattostr(v))
                                    else
                                       UgMemo01.Lines.Add('ReadHoldingRegister Value->>> '+floattostr(v));
                                  End
                                  else
                                    UgMemo01.Lines.Add('ReadHoldingRegister->>> error!');
                                End;
                                
                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                15
                                16
                                // Make sure to add code blocks to your code group

                                # 7.2.5. ReadHoldingRegisters

                                function ReadHoldingRegisters(const RegNo: Word; const Blocks: Word; out RegisterData: string): Boolean;
                                
                                1

                                  读取多个保持寄存器的数值。

                                说明: 读取多个AO数位讯号输出。

                                **返回值:**Boolean字符型。

                                • ReadHoldingRegisters函数语法中各部分说明
                                部分 说明
                                RegNo 开始位址
                                Blocks 资料长度
                                • 示例
                                  //JScript
                                    var v;
                                    UgModbusTCPClient01.ReadHoldingRegisters(1,4,v);
                                  
                                  1
                                  2
                                  3
                                  //PasScript
                                  var
                                    v:String;
                                  Begin
                                    UgModbusTCPClient01.ReadHoldingRegisters(1,4,v);
                                  End;
                                  
                                  1
                                  2
                                  3
                                  4
                                  5
                                  6
                                  // Make sure to add code blocks to your code group

                                  # 7.2.6. ReadInputBit

                                  function ReadInputBit(const RegNo: Word; out Value: Boolean): Boolean;
                                  
                                  1

                                    读取单个离散输入寄存器的值。

                                    //JScript
                                    //读取DO数位信号输出
                                    function btnReadInputBitOnClick(Sender)
                                    {
                                      var v;
                                      if (UgModbusTCPClient01.ReadInputBit(1,v))
                                      {
                                        if (v){
                                           UgMemo01.Lines.Add("ReadInputBit Value ->>> 1");
                                        }
                                        else{
                                           UgMemo01.Lines.Add("ReadInputBit Value ->>> 0");
                                        }
                                      }
                                      else{
                                        UgMemo01.Lines.Add("ReadInputBit ->>> error!");
                                      }
                                    }
                                    
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    12
                                    13
                                    14
                                    15
                                    16
                                    17
                                    18

                                    # 7.2.7. ReadInputBits

                                    function ReadInputBits(const RegNo: Word; const Blocks: Word; out RegisterData: string): Boolean;
                                    
                                    1

                                      读取离散输入寄存器中的取值数值。

                                      //JScript
                                        var v;
                                        UgModbusTCPClient01.ReadInputBits(1,2,v);
                                      
                                      1
                                      2
                                      3
                                      //PasScript
                                      var
                                        v:string;
                                      begin
                                        UgModbusTCPClient01.ReadInputBits(1,2,v);
                                      end;
                                      
                                      1
                                      2
                                      3
                                      4
                                      5
                                      6
                                      // Make sure to add code blocks to your code group

                                      # 7.2.8. ReadInputRegister

                                      function ReadInputRegister(const RegNo: Word; out Value: Word): Boolean;
                                      
                                      1

                                        读取单个输入寄存器的数值。

                                        //JScript
                                        //读取AI数位信号输入
                                        function btnReadInputRegisterOnClick(Sender)
                                        {
                                          var v;
                                          if (UgModbusTCPClient01.ReadInputRegister(1,v))
                                          {
                                            if (v){
                                              UgMemo01.Lines.Add("ReadInputRegister Value->>> "+floattostr(v));
                                            }
                                            else{
                                               UgMemo01.Lines.Add("ReadInputRegister Value->>> "+floattostr(v));
                                            }
                                          }
                                          else{
                                            UgMemo01.Lines.Add("ReadInputRegister->>> error!");
                                          }
                                        }
                                        
                                        1
                                        2
                                        3
                                        4
                                        5
                                        6
                                        7
                                        8
                                        9
                                        10
                                        11
                                        12
                                        13
                                        14
                                        15
                                        16
                                        17
                                        18
                                        //PasScript
                                        //读取AI数位信号输入
                                        Procedure btnReadInputRegisterOnClick(Sender: TObject);
                                        var
                                         v:word;
                                        Begin
                                          if UgModbusTCPClient01.ReadInputRegister(1,v) then
                                          begin
                                            if v Then
                                               UgMemo01.Lines.Add('ReadInputRegister Value->>> '+floattostr(v))
                                            else
                                               UgMemo01.Lines.Add('ReadInputRegister Value->>> '+floattostr(v));
                                          End
                                          else
                                            UgMemo01.Lines.Add('ReadInputRegister->>> error!');
                                        End;
                                        
                                        1
                                        2
                                        3
                                        4
                                        5
                                        6
                                        7
                                        8
                                        9
                                        10
                                        11
                                        12
                                        13
                                        14
                                        15
                                        16
                                        // Make sure to add code blocks to your code group

                                        # 7.2.9. ReadInputRegisters

                                        function ReadInputRegisters(const RegNo: Word; const Blocks: Word; var RegisterData: string): Boolean;
                                        
                                        1

                                          读取多个输入寄存器的数值。

                                          //JScript
                                            var v;
                                            UgModbusTCPClient01.ReadInputRegisters(1,2,v);
                                          
                                          1
                                          2
                                          3
                                          //PasScript
                                          var
                                            v:word;
                                          begin
                                            UgModbusTCPClient01.ReadInputRegisters(1,2,v);
                                          end;
                                          
                                          1
                                          2
                                          3
                                          4
                                          5
                                          6
                                          // Make sure to add code blocks to your code group

                                          # 7.2.10. WriteCoil

                                          function WriteCoil(const RegNo: Word; const Value: Boolean): Boolean;
                                          
                                          1

                                            写入单个线圈寄存器的数值。

                                            //JScript
                                            //控制DO数位信号输出
                                            function btnWriteCoilOnClick(Sender)
                                            {
                                              var v;
                                              v = false;
                                              if (UgModbusTCPClient01.WriteCoil(1,v))
                                              {
                                                if (v){
                                                  UgMemo01.Lines.Add("WriteCoil Value->>> 1");
                                                }
                                                else{
                                                  UgMemo01.Lines.Add("WriteCoil Value->>> 0");
                                                }
                                              }
                                              else{
                                                UgMemo01.Lines.Add("WriteCoil->>> error!");
                                              }
                                            }
                                            
                                            1
                                            2
                                            3
                                            4
                                            5
                                            6
                                            7
                                            8
                                            9
                                            10
                                            11
                                            12
                                            13
                                            14
                                            15
                                            16
                                            17
                                            18
                                            19
                                            //PasScript
                                            //控制DO数位信号输出
                                            Procedure btnWriteCoilOnClick(Sender: TObject);
                                            var
                                             v:boolean;
                                            Begin
                                              v := false;
                                              if UgModbusTCPClient01.WriteCoil(1,v) then
                                              begin
                                                if v Then
                                                   UgMemo01.Lines.Add('WriteCoil Value->>> 1')
                                                else
                                                   UgMemo01.Lines.Add('WriteCoil Value->>> 0');
                                              End
                                              else
                                                UgMemo01.Lines.Add('WriteCoil->>> error!');
                                            End;
                                            
                                            1
                                            2
                                            3
                                            4
                                            5
                                            6
                                            7
                                            8
                                            9
                                            10
                                            11
                                            12
                                            13
                                            14
                                            15
                                            16
                                            17
                                            // Make sure to add code blocks to your code group

                                            # 7.2.11. WriteCoils

                                            function WriteCoils(const RegNo: Word; const Blocks: Word; const RegisterData: string): Boolean;
                                            
                                            1

                                              写入多个线圈寄存器的数值。

                                              //JScript
                                                var v,RegisterData;
                                                RegisterData := "1,0";//1代表True,0代表False
                                                v = UgModbusTCPClient01.WriteCoils(1,2,"1,0");
                                              
                                              1
                                              2
                                              3
                                              4
                                              //PasScript
                                              var
                                                v:boolean;
                                                RegisterData:string;
                                              begin
                                                  RegisterData := '1,0';//1代表True,0代表False
                                                  v := UgModbusTCPClient01.WriteCoils(1,2,'1,0');
                                              end;
                                              
                                              1
                                              2
                                              3
                                              4
                                              5
                                              6
                                              7
                                              8
                                              // Make sure to add code blocks to your code group

                                              # 7.2.12. WriteRegister

                                              function WriteRegister(const RegNo: Word; const Value: Word): Boolean;
                                              
                                              1

                                                写入单个保持寄存器的数值。

                                                //JScript
                                                  var v;
                                                  v = 123;
                                                  if (UgModbusTCPClient01.WriteRegister(1,v))
                                                  {
                                                    if (v){
                                                      UgMemo01.Lines.Add("WriteRegister Value->>> "+floattostr(v));
                                                    }
                                                    else{
                                                      UgMemo01.Lines.Add("WriteRegister Value->>> "+floattostr(v));
                                                    }
                                                  }
                                                  else{
                                                    UgMemo01.Lines.Add("WriteRegister->>> error!");
                                                  }
                                                
                                                1
                                                2
                                                3
                                                4
                                                5
                                                6
                                                7
                                                8
                                                9
                                                10
                                                11
                                                12
                                                13
                                                14
                                                15
                                                //PasScript
                                                var
                                                 v:word;
                                                Begin
                                                  v := 123;
                                                  if UgModbusTCPClient01.WriteRegister(1,v) then
                                                  begin
                                                    if v Then
                                                       UgMemo01.Lines.Add('WriteRegister Value->>> '+floattostr(v))
                                                    else
                                                       UgMemo01.Lines.Add('WriteRegister Value->>> '+floattostr(v));
                                                  End
                                                  else
                                                    UgMemo01.Lines.Add('WriteRegister->>> error!');
                                                end;
                                                
                                                1
                                                2
                                                3
                                                4
                                                5
                                                6
                                                7
                                                8
                                                9
                                                10
                                                11
                                                12
                                                13
                                                14
                                                15
                                                // Make sure to add code blocks to your code group

                                                # 7.2.13. WriteRegisters

                                                function WriteRegisters(const RegNo: Word; const RegisterData: string; Modbus: TUgModbusTCPClient): Boolean;
                                                
                                                1

                                                  写入多个保持寄存器的数值。

                                                  //JScript
                                                    var v,RegisterData;
                                                    RegisterData := "1,0";//指定1,0
                                                    v = UgModbusTCPClient01.WriteRegisters(1,2,"1,0");
                                                  
                                                  1
                                                  2
                                                  3
                                                  4
                                                  //PasScript
                                                  var
                                                    v:boolean;
                                                    RegisterData:string;
                                                  begin
                                                      RegisterData := '1,0';//指定1,0
                                                      v := UgModbusTCPClient01.WriteRegisters(1,2,'1,0');
                                                  end;
                                                  
                                                  1
                                                  2
                                                  3
                                                  4
                                                  5
                                                  6
                                                  7
                                                  8
                                                  // Make sure to add code blocks to your code group

                                                  # 8. TUgMQTTClient

                                                    MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

                                                  # 8.1. 属性

                                                  属性 功能说明
                                                  BrokerHostName 是否自动开启订阅
                                                  BrokerHostName 指定MQTT代理服务器地址
                                                  Port 指定MQTT代理服务器端
                                                  ClientID 指定客户端标识
                                                  Credentials 指定MQTTBroker的用户登录信息

                                                  # 8.1.1. BrokerHostName

                                                  property BrokerHostName: string;
                                                  
                                                  1

                                                     指定MQTT代理服务器地址。

                                                  # 8.1.2. BrokerPort

                                                  property BrokerPort: Integer;
                                                  
                                                  1

                                                     指定MQTT代理服务器端。

                                                  # 8.1.3. ClientID

                                                  property ClientID:string read FClientID write SetClientID;
                                                  
                                                  1

                                                     指定客户端标识。

                                                  # 8.2. 事件

                                                  事件 何时触发
                                                  OnPublishRecerivedA 当发布消息返回时触发该事件

                                                  # 8.2.1. OnPublishReceivedA事件

                                                  procedure UgMQTTClient01OnPublishReceivedA(asender: tobject;apacketid: word;atopic: string;apayload: string);
                                                  
                                                  1

                                                  atopic表示为接收到订阅消息的主题名称,apayload表示为接收到订阅消息的主题内容。

                                                  # 8.3. 方法

                                                  方法 功能说明
                                                  Connect 连接MQTTBroker
                                                  Disconnect 断开与MQTTBroker的连接
                                                  Subscribe 主题订阅
                                                  Unsubscribe 取消主题订阅
                                                  PublishStr 推送主题消息(字符串)
                                                  PublishByte 推送主题消息 (字节)

                                                  # 8.3.1. Connect

                                                  procedure Connect;
                                                  
                                                  1

                                                    启动与MQTTBroker的连接。

                                                  UgMQTTClient01.Connect;
                                                  
                                                  1

                                                  # 8.3.2. Disconnect

                                                  procedure Disconnect;
                                                  
                                                  1

                                                    断开与MQTTBroker的连接。

                                                  UgMQTTClient01.Disconnect;
                                                  
                                                  1

                                                  # 8.3.3. Subscribe

                                                  function Subscribe(ATopic: string): Word;
                                                  
                                                  1

                                                  说明: MQTT 订阅主题 返回值: Word类型

                                                  • Subscribe函数语法中各部分说明
                                                  部分 说明
                                                  ATopic 主题内容
                                                  • 示例
                                                    //JScript
                                                     //订阅LED主题
                                                     UgMQTTClient01.Subscribe("LED");
                                                    
                                                    1
                                                    2
                                                    3
                                                    //PasScript
                                                     //订阅LED主题
                                                     UgMQTTClient01.Subscribe('LED');
                                                    
                                                    1
                                                    2
                                                    3
                                                    // Make sure to add code blocks to your code group

                                                    # 8.3.4. UnSubscribe

                                                    function Unsubscribe(ATopic: string): Word;
                                                    
                                                    1

                                                    说明: 注销MQTT主题 返回值: Word类型

                                                    • MQTTUnSubscribe函数语法中各部分说明
                                                    部分 说明
                                                    ATopic 主题内容
                                                    • 示例
                                                      //JScript
                                                      //注销LED主题
                                                      UgMQTTClient01.UnSubscribe("LED");
                                                      
                                                      1
                                                      2
                                                      3
                                                      //PasScript
                                                      //注销LED主题
                                                      UgMQTTClient01.UnSubscribe('LED');
                                                      
                                                      1
                                                      2
                                                      3
                                                      // Make sure to add code blocks to your code group

                                                      # 8.3.5. Publish

                                                      function Publish(ATopic: string; APayload: string): Word;
                                                      
                                                      1

                                                      说明: MQTT推送消息 返回值: Word类型

                                                      • MQTTPublish函数语法中各部分说明
                                                      部分 说明
                                                      ATopic 主题内容
                                                      APayload 推送的内容
                                                      • 示例
                                                        //JScript
                                                        //熄灭LED
                                                        UgMQTTClient01.Publish("LED","0");
                                                        
                                                        1
                                                        2
                                                        3
                                                        //PasScript
                                                        //熄灭LED
                                                        UgMQTTClient01.Publish('LED','0');
                                                        
                                                        1
                                                        2
                                                        3
                                                        // Make sure to add code blocks to your code group

                                                        # 9. TUgMQTTws

                                                          该组件为MQTT客户端的WebSocket实现,与TUgMQTTClient实现的功能相同,区别在于TUgMQTTws是通过浏览器端直接与MQTT Broker建立连接,无需经过FastWeb服务器中转,可以缩短显示响应的时间。

                                                        # 9.1. 属性

                                                        属性 功能说明
                                                        MQTTOptions 设置MQTT的相关选项
                                                          CleanSession 是否保持干净连接
                                                          ClientID 设置客户端ID,该ID与连接中的客户端ID不能重复
                                                          HostName MQTT Broker的连接地址
                                                          Password 设置连接到MQTT Broker的密码
                                                          Port 设置MQTT Broker WebSocket连接的端口号
                                                          SSL 是否启用SSL加密连接
                                                          Topic 设置默认的订阅主题
                                                          UserName 设置连接MQTT Broker的用户名称

                                                        # 9.2. 事件

                                                        事件 何时触发
                                                        OnConnect 当控件连接到MQTT Broker时触发该事件
                                                        OnMessage 当控件接收到订阅主题的信息时触发该事件
                                                        OnConnectionLost 当控件失去与MQTT Broker的连接时触发该事件

                                                        # 9.2.1. OnConnect

                                                        procedure ugMQTTws01OnConnect(const amessage: string);
                                                        
                                                        1

                                                          当控件连接到MQTT Broker时触发该事件,其中的amessage包含连接结果的相关信息。

                                                        # 9.2.2. OnMessage

                                                        procedure ugMQTTws01OnMessage(const atopic: string;apayload: string);
                                                        
                                                        1

                                                          当控件接收到指定订阅主题的信息时触发该事件,其中的atopic为订阅的主题名称,只有在客户端订阅了该主题后才能接收到该主题下的订阅信息。apayload为订阅主题的信息内容。

                                                        # 9.2.3. OnConnectionLost

                                                        procedure ugMQTTws01OnConnectionLost(const amessage: string);
                                                        
                                                        1

                                                          当控件与MQTT Broker的连接丢失时触发该事件,其中的amessage包含连接丢失的相关信息。

                                                        # 9.3. 方法

                                                        # 9.3.1. SubScribe

                                                        procedure Subscribe(ATopic: string);
                                                        
                                                        1

                                                          调用该方法,使控件订阅主题信息。注意在程序启动时订阅的信息需要在MQTTOptions.Topic属性中定义,在脚本中定义的程序启动时订阅主题的方法是无效的。ATopic为主题名称。

                                                          //JScript
                                                          ugMQTTws01.SubScribe("LED");
                                                          
                                                          1
                                                          2
                                                          //PasScript
                                                          ugMQTTws01.SubScribe('LED');
                                                          
                                                          1
                                                          2
                                                          // Make sure to add code blocks to your code group

                                                          # 9.3.2. UnSubScribe

                                                          procedure Unsubscribe(ATopic: string);
                                                          
                                                          1

                                                            调用该方法,使控件取消订阅该主题。ATopic为主题名称。

                                                            //JScript
                                                            ugMQTTws01.UnSubScribe("LED");
                                                            
                                                            1
                                                            2
                                                            //PasScript
                                                            ugMQTTws01.UnSubScribe('LED');
                                                            
                                                            1
                                                            2
                                                            // Make sure to add code blocks to your code group

                                                            # 9.3.3. Publish

                                                            procedure Publish(ATopic: string; APayload: string);
                                                            
                                                            1

                                                              调用该方法,控件向指定主题发布信息。ATopic为主题名称,APayload为主题内容。

                                                              //JScript
                                                              ugMQTTws01.Publish("LED","0");
                                                              
                                                              1
                                                              2
                                                              //PasScript
                                                              ugMQTTws01.Publish('LED','0');
                                                              
                                                              1
                                                              2
                                                              // Make sure to add code blocks to your code group

                                                              # 10. TUgWebSerial

                                                                此组件为网页端的串口组件,可通过浏览器的串口通讯能力与客户端的串口通讯设备进行数据交互。

                                                              # 10.1. 属性

                                                              # 10.1.1. SerailOptions

                                                              property SerialOptions: TSerialOptions;
                                                              
                                                              1

                                                                设置串口通讯的相关选项。

                                                              # 10.1.1.1. BaudRate
                                                              property BaudRate: Integer;
                                                              
                                                              1

                                                                设置串口通讯的连接速率,单位为赫兹(Hz)。

                                                              # 10.1.1.2. BufferSize
                                                              property BufferSize: Integer;
                                                              
                                                              1

                                                                用于设置串口通讯的缓存区域的大小,单位为字节(Byte)。

                                                              # 10.1.1.3. DataBits
                                                              property DataBits: Integer;
                                                              
                                                              1

                                                                设置一次串口数据发送/接受的数据位数。单位为位(bit)。

                                                              # 10.1.1.4. Filters
                                                              property Filters: string;
                                                              
                                                              1

                                                                设置需要过滤的字符信息。此处填写的内容为串口设备的供应商。

                                                              # 10.1.1.5. FlowControl
                                                              property FlowControl: TFlowControl;
                                                              
                                                              1

                                                                设定是否开启串口的流控制模式,fNone 表示不启用,fHardware 表示启用硬件流控制。

                                                              # 10.1.1.6. Parity
                                                              property Parity: TParity;
                                                              
                                                              1

                                                                设定数据校验的模式,pNone 表示为无校验,pEven 表示为偶校验,pOdd 表示为奇校验。

                                                              # 10.1.1.7. StopBits
                                                              property StopBits: Integer;
                                                              
                                                              1

                                                                设定串口通讯停止位的数量,单位为位(bit)。

                                                              # 10.2. 事件

                                                              # 10.2.1. OnReceived

                                                                //JScript
                                                                function UgWebSerialOnReceived(adata){};
                                                                
                                                                1
                                                                2
                                                                //PasScript
                                                                procedure ugWebSerialOnReceived(const adata: string);
                                                                
                                                                1
                                                                2
                                                                // Make sure to add code blocks to your code group

                                                                  当串口接收到数据时触发事件,接受到的数据以字符串的形式抛转出来。

                                                                # 10.3. 方法

                                                                # 10.3.1. Init

                                                                property Init;
                                                                
                                                                1

                                                                  设置控件的初始化。

                                                                # 10.3.2. Request

                                                                procedure Request;
                                                                
                                                                1

                                                                  设置打开浏览器的端口选择界面,用以选择端口信息。

                                                                # 10.3.3. Open

                                                                procedure Open(AProt: Integer);
                                                                
                                                                1

                                                                  调用此方法以打开指定序号的串口端口。

                                                                # 10.3.4. Close

                                                                procedure Close;
                                                                
                                                                1

                                                                  调用此方法以关闭串口。

                                                                # 10.3.5. Write

                                                                procedure Write(AData: string);
                                                                
                                                                1

                                                                  调用此方法可向串口写入数据。写入的数据以字符串的方式显示。

                                                                # 10.3.6. WriteLines

                                                                procedure WriteLines(AData: string);
                                                                
                                                                1

                                                                  调用此方法可向串口写入一行数据,写入的数据会自动包含回车控制符信息。

                                                                # 10.3.7. GetPorts

                                                                procedure GetPorts;
                                                                
                                                                1

                                                                  获取可使用的所有端口列表。

                                                                # 10.3.8. GetPortInfo

                                                                procedure GetPortInfo
                                                                
                                                                1

                                                                  获取端口的信息。

                                                                // Make sure to add code blocks to your code group
                                                                数据库控件
                                                                服务器控件

                                                                ← 数据库控件 服务器控件→

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