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

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

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

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

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

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

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 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. UGMM类函数
          • 1.1. ApplicationVersion
          • 1.2. CreateGuid
          • 1.3. CreateStringList
          • 1.4. DecodeString
          • 1.5. EncodeString
          • 1.6. Expexcel
          • 1.7. FileUpload
          • 1.8. GetObject
          • 1.9. GetWebSubForm
          • 1.10. GetAppSubForm
          • 1.11. GetBeanCaption
          • 1.12. GetBeanCode
          • 1.13. GetBeanToSql
          • 1.14. GetNodeDataLink
          • 1.15. GetRunFrame
          • 1.16. GetDesignFrame
          • 1.17. GetDesignFormatEditing
          • 1.18. GetDesignRestAPI
          • 1.19. GetFrameCaption
          • 1.20. GetLanguageByGrid
          • 1.21. GetLanguageByName
          • 1.22. GetUnitCode
          • 1.23. GetNavigRoleGuid
          • 1.24. GetNavigUserGuid
          • 1.25. GetNavigUserGuid
          • 1.26. GetDllComponent
          • 1.27. GetSessionList
          • 1.28. GetSQLCommand
          • 1.29. GetSQLCommandNodeName
          • 1.30. GetSQLCommandText
          • 1.31. GetWebSubForm
          • 1.32. HTTPDecode
          • 1.33. HTTPEncode
          • 1.34. ImpExcel
          • 1.35. LT
          • 1.36. LogInChecking
          • 1.37. SendWsMsg
          • 1.38. SendWsMsgBySId
          • 1.39. SendWsMsgByStr
          • 1.40. URLDownloadToFile
          • 1.41. VerifyRunFramePermType
          • 1.42. VerifyPermGuid
        • 2. UGSM类函数
        • 3. UGCM类函数
          • 3.1. AmountToChinese
          • 3.2. GetFileStreamFileName
          • 3.3. Gettamptime
          • 3.4. GettampTotime
          • 3.5. HexStrToStream
          • 3.6. HexToInt
          • 3.7. HexToBytes
          • 3.8. RoundToCH
          • 3.9. NetHttpGet
          • 3.10. NetHttpPost
          • 3.11. NetHttpPut
          • 3.12. NetHttpDelete
          • 3.13. GetJSONObject
          • 3.14. GetJSONArray
          • 3.15. GetJSONString
          • 3.16. GetJSONNumber
          • 3.17. GetJSONInteger
          • 3.18. GetJSONFloat
          • 3.19. GetJSONBool
          • 3.20. GetJSONValue
          • 3.21. ParseJSONValue
      • 自定程序
  • 开发手册

目录

自定函数

# FastWeb 自定函数

  • 适用平台:WEB(桌面),APP(移动)

# 1. UGMM类函数

  UGMM类函数在程序中调用时,必须以UGMM.开头。

# 1.1. ApplicationVersion

Function ApplicationVersion:String;
1

说明: 获取应用版本 返回值: 字符类型String

  • 示例
    //JScript
      UgLabel01.Caption = UGMM.ApplicationVersion;
    
    1
    2
    //PasScript
    begin
      UgLabel01.Cantion := UGMM.ApplicationVersion;
    End;
    
    1
    2
    3
    4
    // Make sure to add code blocks to your code group

    # 1.2. CreateGuid

    Function  CreateGuid:string;
    
    1

    说明: 创建GUID唯一编号 返回值: 字符类型String

    • 示例
      //JScript
        var vGuid;
        vGuid = UGMM.CreateGuid;
      
      1
      2
      3
      //PasScript
      var
       vGuid:string;
      begin
        vGuid := UGMM.CreateGuid;
      End;
      
      1
      2
      3
      4
      5
      6
      // Make sure to add code blocks to your code group

      # 1.3. CreateStringList

      Function CreateStringList(AEncoding:string='UTF8'):TStringList;
      
      1

      说明: 创建字符串列表指定编码类型 返回值: TStringList类型

      • CreateStringList 函数语法中各部分说明
      部分 说明
      AEncoding 指定编码类型(UTF-7,UTF-8,UniCode)
      • 示例
        //JScript
          var vStrings;
          vStrings = UGMM.CreateStringList("UTF-8");
        
        1
        2
        3
        //PasScript
        var
         vStrings:TStringList;
        begin
         vStrings:=UGMM.CreateStringList('UTF-8');
        end;
        
        1
        2
        3
        4
        5
        6
        // Make sure to add code blocks to your code group

        # 1.4. DecodeString

        function DecodeString(AText:String):string;
        
        1

        说明: HTTP编码 返回值: 字符类型String

        • DecodeString 函数语法中各部分说明
        部分 说明
        AText 指定需要解密的字符串
        • 示例
          //JScript
            ShowMessage(UGMM.DecodeString("NW9pUjVwaXY1TGl0NVp1OTVMcTY3N3lCUkdWc2NHaHA="));
          
          1
          2
          //PasScript
          begin
            ShowMessage(UGMM.DecodeString('NW9pUjVwaXY1TGl0NVp1OTVMcTY3N3lCUkdWc2NHaHA='));
          End;
          
          1
          2
          3
          4
          // Make sure to add code blocks to your code group
          • 字符串解密结果
          我是中国人!
          
          1

          # 1.5. EncodeString

          function EncodeString(AText:String):string;
          
          1

          说明: 字符加密 返回值: 字符类型String

          • EncodeString 函数语法中各部分说明
          部分 说明
          AText 指定需要加密的字符串
          • 示例
            //JScript
              ShowMessage(UGMM.EncodeString("Hi,Hello"));
            
            1
            2
            //PasScript
            begin
              ShowMessage(UGMM.EncodeString('Hi,Hello'));
            End;
            
            1
            2
            3
            4
            // Make sure to add code blocks to your code group
            • 字符串加密结果
            U0drc1NHVnNiRzg9UkdWc2NHaHA=
            
            1

            # 1.6. Expexcel

            function  ExpExcel(ADBGrid:TUgDBGrid;Const ACaption,ATitle:String):Boolean;
            
            1

            说明: 打开导出数据表至Excel的文本。 返回值: Boolean值

            • GetObject 函数语法中各部分说明
            部分 说明
            ADBGrid 指定一个TUgDBGrid类表格
            ACaption 指定导出对话框的标题
            ATitle 指定导出的表格的标题名称
            • 示例
              //JScript
                UGMM.ExpExcel(gridFrames,UGMM.LT("模块列表(WEB)"),UGMM.LT("模块列表(WEB)"));
              
              1
              2
              //PasScript
                UGMM.ExpExcel(gridFrames,UGMM.LT('模块列表(WEB)'),UGMM.LT('模块列表(WEB)'));
              
              1
              2
              // Make sure to add code blocks to your code group

              # 1.7. FileUpload

              Function UpLoadFile(Const AOwner:TComponent;Const AFrameGuid,AOrderCode:String;Const ACapacitySpace:int64 = 30 * 1024 * 1024;Const UpLoadFileEvent:TUpLoadFileEvent = Nil):string;
              
              1

              说明: 通过文件管理器上传文件 返回值: 无

              • FileUpload 函数语法中各部分说明
              部分 说明
              AOwner 所属的主组件对象
              AFrameGuid 所属的主ID对象,对应会在文件上传目录下创建与ID同名的子文件夹
              AOrderCode 所属的主ID下的子ID对象,对应会在文件上传目录的主ID目录下,创建与子ID同名的文件夹
              ACapacitySpace 设定目录中允许上传的最大文件合计大小,以字节为单位
              UpLoadFileEvent 当文件上传完成时需要触发的事件名称
              • 示例
                //JScript
                function UgButton01OnClick(sender)
                {
                  //通过与uploadfinished绑定,获取上传的文件名称
                  UGMM.UpLoadFile(self,"ABC","12123",1000000,&uploadfinished);
                }
                
                function uploadfinished(aUpLoadList)
                {
                  showmessage(aUpLoadList);
                }
                
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                //PasScript
                procedure UgButton01OnClick(sender: TObject);
                begin
                  //通过与uploadfinished绑定,获取上传的文件名称
                  UGMM.UpLoadFile(self,'ABC','12123',1000000,@uploadfinished);
                end;
                
                procedure uploadfinished(Const aUpLoadList:String);
                Begin
                  showmessage(aUpLoadList);
                end;
                
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                // Make sure to add code blocks to your code group

                # 1.8. GetObject

                Function  GetObject(Const ASign:String):TObject;
                
                1

                说明: 获取线程管理共享对象 返回值: 对象类TObject

                • GetObject 函数语法中各部分说明
                部分 说明
                ASign 指定一个对象名称Name
                • 示例
                  //JScript
                    var Obj;
                    obj = UGMM.GetObject("ObjectName");
                  
                  1
                  2
                  3
                  //PasScript
                  var
                   obj:TObject;
                  begin
                    obj := UGMM.GetObject('ObjectName');
                  End;
                  
                  1
                  2
                  3
                  4
                  5
                  6
                  // Make sure to add code blocks to your code group

                  # 1.9. GetWebSubForm

                  Function  GetWebSubForm(ACaption:String;Const AMenuFlag:String = '';Const AType:String = 'WEB'):TUniForm;
                  
                  1

                  说明: 获取子窗体(Desktop) 返回值: 窗体类TUniForm

                  • GetWebSubForm 函数语法中各部分说明
                  部分 说明
                  ACaption 指定一个子窗体名称,可使用模块编码或者模块标题
                  AMenuFlag 菜单参数信息,呼叫运行后,可在窗口模块的MenuFlag属性中获取数值
                  AType 指定子窗体类型(默认Web)
                  • 示例
                    //JScript
                      var F,i;
                      F = UGMM.GetWebSubForm("WebSubForm");
                      TUgWebForm(F).Caption = "SubForm"; 
                      ...
                      if (F.ShowModal == mrOK) 
                      {
                         TUgWebForm(F).Close;
                      }
                    
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    //PasScript
                    Var
                      F:TUniForm;
                      i:String;
                    begin
                      //打开任务登记
                      F := UGMM.GetWebSubForm('WebSubForm');
                      TUgWebForm(F).Caption := 'SubForm'; 
                      ...
                      if F.ShowModal = mrOK then 
                      Begin
                         TUgWebForm(F).Close;
                      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

                    # 1.10. GetAppSubForm

                    Function  GetAppSubForm(ACaption:String;Const AMenuFlag:String = '';Const AFullScreen:Boolean = True):TUnimForm;
                    
                    1

                    说明: 获取子窗体(Mobile) 返回值: 窗体类TUniForm

                    • GetAppSubForm 函数语法中各部分说明
                    部分 说明
                    ACaption 指定一个子窗体名称,可使用模块编码或者模块标题
                    AMenuFlag 菜单参数信息,呼叫运行后,可在窗口模块的MenuFlag属性中获取数值
                    AFullScreen 指定是否全屏幕显示
                    • 示例
                      //JScript
                        var F,i;
                        F = UGMM.GetAppSubForm("AppSubForm");
                        TUgAppForm(F).Caption = "SubForm"; 
                        ...
                        if (F.ShowModal == mrOK) 
                        {
                           TUgAppForm(F).Close;
                        }
                      
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      //PasScript
                      Var
                        F:TUnimForm;
                        i:String;
                      begin
                        //打开任务登记
                        F := UGMM.GetAppSubForm('AppSubForm');
                        TUgAppForm(F).Caption := 'SubForm'; 
                        ...
                        if F.ShowModal = mrOK then 
                        Begin
                           TUgAppForm(F).Close;
                        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

                      # 1.11. GetBeanCaption

                      function  GetBeanCaption(AGuid:String):string;
                      
                      1

                      说明:通过Bean模块ID来获取Bean模块的标题描述名称。 返回值: string

                      • GetBeanCaption 函数语法中各部分说明
                      部分 说明
                      AGuid 指定一个子窗体ID

                      # 1.12. GetBeanCode

                      function  GetBeanCode(AGuid:String):string;
                      
                      1

                      说明: 通过Bean模块ID来获取Bean模块的编号 返回值: string

                      • GetBeanCode 函数语法中各部分说明
                      部分 说明
                      AGuid 指定一个子窗体ID
                      • 示例
                        //JScript
                        UGMM.GetBeanCode("8F62424E-FD72-422B-8C2F-0A25A4F9FEAC");
                        
                        1
                        2
                        //PasScript
                        UGMM.GetBeanCode('8F62424E-FD72-422B-8C2F-0A25A4F9FEAC');
                        
                        1
                        2
                        // Make sure to add code blocks to your code group

                        # 1.13. GetBeanToSql

                        function  GetBeanToSql(Const AGuid:String):string;
                        
                        1

                        说明:将当前的Bean模块输出为SQL脚本,用于导入至其他项目使用。 返回值String

                        • GetBeanToSql 函数语法说明
                        部分 说明
                        AGuid 指定一个子窗体ID

                        # 1.14. GetNodeDataLink

                        Function GetNodeDataLink(Const ANodeName:String):TFDConnection;
                        
                        1

                        说明: 获取节点数据库 返回值: TFDConnection

                        • GetNodeDataLink 函数语法中各部分说明
                        部分 说明
                        ACaption 指定一个子窗体名称
                        AFullScreen 指定是否全屏幕显示
                        • 示例
                          //JScript
                            var FDConn;
                            FDConn = UGMM.GetNodeDataLink("FastERP");
                            UgFDQuery01 := TUgFDQuery01.Create;
                            UgFDQuery01.Connection := FDConn;
                            try{
                               //打开数据
                              UgFDQuery01.SQL.Text := "Select * from Basic_Unit";
                              UgFDQuery01.Open();
                            }
                            Finally{
                              UgFDQuery01.free;
                            }
                          
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          //PasScript
                          Var  
                            FDConn:TFDConnection;
                          begin
                            //获取 FastERP 节点数据库
                            FDConn := UGMM.GetNodeDataLink('FastERP');
                            UgFDQuery01 := TUgFDQuery01.Create;
                            UgFDQuery01.Connection := FDConn;
                            try
                               //打开数据
                              UgFDQuery01.SQL.Text := 'Select * from Basic_Unit';
                              UgFDQuery01.Open();
                            Finally
                              UgFDQuery01.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

                          ---1.14.

                          # 1.15. GetRunFrame

                          Function  GetRunFrame(AOwner:TComponent;AKey:String;AGetSoure:TGetSource):TComponent;
                          
                          1

                          说明: 获取运行模块 返回值: TComponent类型

                          • GetRunFrame 函数语法中各部分说明
                          部分 说明
                          AOwner 批定窗体所属者
                          AKey 指定窗体的唯一Guid
                          AGetSoure 批定窗体来源类型(gsData,gsFile)
                          • 示例
                            //JScript
                              var M,R,C;
                              C = UGMM.GetRunFrame(Self,H,iif(pos(".",H) > 0,gsFile,gsData));
                              if (C != nil)
                              {
                                TControl(C).Parent = Self;
                                C.Name="WebHomePages";
                                TUGWebRunFrame(C).Align = TAlign.alClient;
                                if (C.GetInterface(IUGRunScript,R))
                                R.Run(nil);
                              }
                            
                            1
                            2
                            3
                            4
                            5
                            6
                            7
                            8
                            9
                            10
                            11
                            //PasScript
                            var
                              M : TMemoryStream;
                              R : IUGRunScript;
                              C : TComponent;
                            begin
                              C := UGMM.GetRunFrame(Self,H,iif(pos('.',H) > 0,gsFile,gsData));
                              if C <> nil then
                              begin
                                TControl(C).Parent := Self;
                                C.Name:='WebHomePages';
                                TUGWebRunFrame(C).Align := TAlign.alClient;
                                if C.GetInterface(IUGRunScript,R) Then
                                R.Run(nil);
                              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

                            # 1.16. GetDesignFrame

                            Function  GetDesignFrame(AOwner:TComponent;AGuid:String):TComponent;
                            
                            1

                            说明: 获取模块设计器 返回值: TComponent类型

                            • GetDesignFrame 函数语法中各部分说明
                            部分 说明
                            AOwner 批定窗体所属者
                            AGuid 指定窗体的唯一Guid
                            • 示例
                              //JScript
                                var p,f,g;
                                if (cdsFrames.IsEmpty)
                                  RaiseException(UGMM.LT("Can't design without record"));
                                if (UGMM.Informations.Values["UserGuid"] != cdsFrames.FieldbyName("Developer").asString)
                                  RaiseException(UGMM.LT("You do not have permission to design this module")); 
                                if (Self.IsDesignMode)
                                  RaiseException(UGMM.LT("The module list is in IDE development mode. Design modules are prohibited"));
                              
                                g = cdsFrames.FieldbyName("Guid").AsString;
                                p = TUniTabSheet(Self.Parent.Owner.FindComponent("PDesign" + ReplaceText(ReplaceText(g,"-","_"),".","_")));
                                if (!Assigned(p))
                                {
                                  p = TUniTabSheet(Self.Parent.Owner);
                                  p.Name = "PDesign" + ReplaceText(ReplaceText(g,"-","_"),".","_");
                                  p.Caption =cdsFrames.FieldbyName("Caption").AsString + ".Web";
                                  p.PageControl = TUniTabSheet(Self.Parent).PageControl;
                                  p.Closable = True;
                              
                                  f = TUGDesignFrame(UGMM.GetDesignFrame(p,g));
                                  f.Align = alClient;
                                  f.Parent = p;
                                }
                                p.PageControl.ActivePage = p;
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              16
                              17
                              18
                              19
                              20
                              21
                              22
                              23
                              24
                              //PasScript
                              Var
                                p:TUniTabSheet;
                                f:TUGDesignFrame;
                                g:String;
                              Begin
                                if cdsFrames.IsEmpty then
                                  RaiseException(UGMM.LT('Can''t design without record'));
                                if UGMM.Informations.Values['UserGuid'] <> cdsFrames.FieldbyName('Developer').asString then
                                  RaiseException(UGMM.LT('You do not have permission to design this module')); 
                                if Self.IsDesignMode then 
                                  RaiseException(UGMM.LT('The module list is in IDE development mode. Design modules are prohibited'));
                              
                                g := cdsFrames.FieldbyName('Guid').AsString;
                                p := TUniTabSheet(Self.Parent.Owner.FindComponent('PDesign' + ReplaceText(ReplaceText(g,'-','_'),'.','_')));
                                //showmessage(Self.Parent.Owner.name);
                                if Not Assigned(p) then
                                Begin
                                  p := TUniTabSheet.Create(Self.Parent.Owner);
                                  p.Name := 'PDesign' + ReplaceText(ReplaceText(g,'-','_'),'.','_');
                                  p.Caption :=cdsFrames.FieldbyName('Caption').AsString + '.Web';
                                  p.PageControl := TUniTabSheet(Self.Parent).PageControl;
                                  p.Closable := True;
                              
                                  f := TUGDesignFrame(UGMM.GetDesignFrame(p,g));
                                  f.Align := alClient;
                                  f.Parent := p;
                                End;
                                p.PageControl.ActivePage := p;
                              End;
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              16
                              17
                              18
                              19
                              20
                              21
                              22
                              23
                              24
                              25
                              26
                              27
                              28
                              29
                              30
                              // Make sure to add code blocks to your code group

                              # 1.17. GetDesignFormatEditing

                              Function  GetDesignFormatEditing(AGuid:String):TComponent;
                              
                              1

                              说明: 获取模块编辑器 返回值: TComponent类型

                              • GetDesignFormatEditing 函数语法中各部分说明
                              部分 说明
                              AGuid 指定窗体的唯一Guid
                              • 示例
                                //JScript
                                  var f,g;
                                  if (cdsFrames.IsEmpty)
                                    RaiseException(UGMM.LT("Can't design without record"));
                                  if (UGMM.Informations.Values["UserGuid"] != cdsFrames.FieldbyName("Developer").asString)
                                    RaiseException(UGMM.LT("You do not have permission to design this module")); 
                                  if (Self.IsDesignMode)
                                    RaiseException(UGMM.LT("The module list is in IDE development mode. Design modules are prohibited"));
                                  g = cdsFrames.FieldbyName("Guid").AsString;
                                  f = TUniForm(UGMM.GetDesignFormatEditing(g));
                                  f.ShowModal;
                                
                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                //PasScript
                                Var
                                  f:TUniForm;
                                  g:String;
                                Begin
                                  if cdsFrames.IsEmpty then
                                    RaiseException(UGMM.LT('Can''t design without record'));
                                  if UGMM.Informations.Values['UserGuid'] <> cdsFrames.FieldbyName('Developer').asString then
                                    RaiseException(UGMM.LT('You do not have permission to design this module')); 
                                  if Self.IsDesignMode then 
                                    RaiseException(UGMM.LT('The module list is in IDE development mode. Design modules are prohibited'));
                                  g := cdsFrames.FieldbyName('Guid').AsString;
                                  f := TUniForm(UGMM.GetDesignFormatEditing(g));
                                  f.ShowModal;
                                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

                                # 1.18. GetDesignRestAPI

                                    Function  GetDesignRestAPI(AOwner:TComponent;AGuid:String):TComponent;
                                
                                1

                                说明: 获取RestAPI接口编辑器 返回值: TComponent类型

                                • GetDesignRestAPI 函数语法中各部分说明
                                部分 说明
                                AOwner 批定窗体所属者
                                AGuid 指定RestAPI接口的唯一Guid
                                • 示例
                                  //JScript
                                    var p,f,g;
                                    if (cdsFrames.IsEmpty)
                                      RaiseException(UGMM.LT("Can't design without record"));
                                    if (UGMM.Informations.Values["UserGuid"] != cdsFrames.FieldbyName("Developer").asString)
                                      RaiseException(UGMM.LT("You do not have permission to design this module")); 
                                    if (Self.IsDesignMode)
                                      RaiseException(UGMM.LT("The module list is in IDE development mode. Design modules are prohibited"));
                                  
                                    g = cdsFrames.FieldbyName("Guid").AsString;
                                    p = TUniTabSheet(Self.Parent.Owner.FindComponent("PDesign" + ReplaceText(ReplaceText(g,"-","_"),".","_")));
                                    if (!Assigned(p))
                                    {
                                      p = TUniTabSheet(Self.Parent.Owner);
                                      p.Name = "PDesign" + ReplaceText(ReplaceText(g,"-","_"),".","_");
                                      p.Caption =cdsFrames.FieldbyName("Caption").AsString + ".Web";
                                      p.PageControl = TUniTabSheet(Self.Parent).PageControl;
                                      p.Closable = True;
                                  
                                      f = TUGDesignFrame(UGMM.GetDesignFrame(p,g));
                                      f.Align = alClient;
                                      f.Parent = p;
                                    }
                                    p.PageControl.ActivePage = p;
                                  
                                  1
                                  2
                                  3
                                  4
                                  5
                                  6
                                  7
                                  8
                                  9
                                  10
                                  11
                                  12
                                  13
                                  14
                                  15
                                  16
                                  17
                                  18
                                  19
                                  20
                                  21
                                  22
                                  23
                                  24
                                  //PasScript
                                  Var
                                    g:String;
                                    f:TUniFrame;
                                    p:TUniTabSheet;
                                  begin
                                    if cdsRestAPIs.IsEmpty then
                                      RaiseException(UGMM.LT('Can''t design without record'));
                                    if UGMM.Informations.Values['UserGuid'] <> cdsRestAPIs.FieldbyName('Developer').asString then
                                      RaiseException(UGMM.LT('You do not have permission to design this module')); 
                                    if Self.IsDesignMode then 
                                      RaiseException(UGMM.LT('The module list is in IDE development mode. Design modules are prohibited'));
                                  
                                    g := cdsRestAPIs.FieldbyName('Guid').AsString;
                                  
                                    p := TUniTabSheet(Self.Parent.Owner.FindComponent('PDesign' + ReplaceText(ReplaceText(g,'-','_'),'.','_')));
                                  
                                    if Not Assigned(p) then
                                    Begin
                                      p := TUniTabSheet.Create(Self.Parent.Owner);
                                      p.Name := 'PDesign' + ReplaceText(ReplaceText(g,'-','_'),'.','_');
                                      p.Caption :=cdsRestAPIs.FieldbyName('APIName').AsString + '.Pas';
                                      p.PageControl := TUniTabSheet(Self.Parent).PageControl;
                                      p.Closable := True;
                                  
                                      f := TUniFrame(UGMM.GetDesignRestAPI(p,g));
                                      f.Align := alClient;
                                      f.Parent := p;
                                    End;
                                    p.PageControl.ActivePage := p;
                                  end;
                                  
                                  1
                                  2
                                  3
                                  4
                                  5
                                  6
                                  7
                                  8
                                  9
                                  10
                                  11
                                  12
                                  13
                                  14
                                  15
                                  16
                                  17
                                  18
                                  19
                                  20
                                  21
                                  22
                                  23
                                  24
                                  25
                                  26
                                  27
                                  28
                                  29
                                  30
                                  31
                                  // Make sure to add code blocks to your code group

                                  # 1.19. GetFrameCaption

                                  function  GetFrameCaption(AGuid:String):string;
                                  
                                  1

                                  说明: 根据模块地址获取模块标题 返回值: string类型

                                  • GetFrameCaption 函数语法中各部分说明
                                  部分 说明
                                  AGuid 指定模块的唯一地址Guid
                                  • 示例
                                    //JScript
                                      var vCaption;
                                      vCaption = UGMM.GetFrameCaption("29B1B867-2CC6-413C-9058-FB332D3D0EDD");
                                    
                                    1
                                    2
                                    3
                                    //PasScript
                                    var
                                     vCaption:String;
                                    begin
                                      //获取模块标题
                                      vCaption := UGMM.GetFrameCaption('29B1B867-2CC6-413C-9058-FB332D3D0EDD');
                                    end;
                                    
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    // Make sure to add code blocks to your code group

                                    # 1.20. GetLanguageByGrid

                                    function  GetLanguageByGrid(ALanuageName:String):string;
                                    
                                    1

                                    说明: 根据语言名称查找语言地址 返回值: string类型

                                    • GetLanguageByGrid 函数语法中各部分说明
                                    部分 说明
                                    ALanuageName 指定语言名称

                                    # 1.21. GetLanguageByName

                                    function  GetLanguageByName(ALanuageGuid:String):string;
                                    
                                    1

                                    说明: 根据语言地址查找语言名称 返回值: string类型

                                    • GetLanguageByName 函数语法中各部分说明
                                    部分 说明
                                    ALanuageGuid 指定语言址址Guid

                                    # 1.22. GetUnitCode

                                    function  GetUnitCode(Const AGuid:String;Const AUnitName:string = ''):string;
                                    
                                    1

                                    说明: 获取公共单元代码 返回值: string类型

                                    • GetUnitCode 函数语法中各部分说明
                                    部分 说明
                                    AGuid 指定模块唯一地址Guid
                                    AUnitName 指定模块单元名称(可选)

                                    # 1.23. GetNavigRoleGuid

                                    Function  GetNavigRoleGuid(ANavig:Integer;ACreateTime:TDateTime):String;
                                    
                                    1

                                    说明: 获取导航角色存储地址 返回值: string类型

                                    • GetNavigRoleGuid 函数语法中各部分说明
                                    部分 说明
                                    ANavig 指定排序顺序(tyFirst = 1;tyPrior = 2;tyNext = 3;tyLast = 4;)
                                    ACreateTime 指定排序时间

                                    # 1.24. GetNavigUserGuid

                                    Function  GetNavigUserGuid(ANavig:Integer;ACreateTime:TDateTime):String;
                                    
                                    1

                                    说明: 获取导航用户存储地址 返回值: string类型

                                    • GetNavigUserGuid 函数语法中各部分说明
                                    部分 说明
                                    ANavig 指定排序顺序(tyFirst = 1;tyPrior = 2;tyNext = 3;tyLast = 4;)
                                    ACreateTime 指定排序时间
                                    
                                    
                                    1

                                    # 1.25. GetNavigUserGuid

                                    Function  GetNavigUserGuid(ANavig:Integer;ACreateTime:TDateTime):String;
                                    
                                    1

                                    说明: 获取导航用户存储地址 返回值: string类型

                                    • GetNavigUserGuid 函数语法中各部分说明
                                    部分 说明
                                    ANavig 指定排序顺序(tyFirst = 1;tyPrior = 2;tyNext = 3;tyLast = 4;)
                                    ACreateTime 指定排序时间
                                    
                                    
                                    1

                                    # 1.26. GetDllComponent

                                    Function  GetDllComponent(APathName:String;AOwner:TComponent):TComponent;
                                    
                                    1

                                    说明: 获取DLL中的窗体对象 返回值: TComponent类型

                                    • GetDllComponent 函数语法中各部分说明
                                    部分 说明
                                    APathName 指定窗体路径
                                    AOwner 指定窗体的所有者Owner
                                    
                                    
                                    1

                                    # 1.27. GetSessionList

                                    Function  GetSessionList:TClientDataSet;
                                    
                                    1

                                    说明: 获取会话列表 返回值: TComponent类型

                                    • GetSessionList 函数语法中各部分说明 无
                                    
                                    
                                    1

                                    # 1.28. GetSQLCommand

                                    function  GetSQLCommand(Const ASQLCommandId:String):TSQLCommand;
                                    
                                    1

                                    说明:返回SQLCommand对象。 返回值:TSQLCommand对象。

                                    • GetSQLCommand 函数语法中各部分说明
                                    部分 说明
                                    ASQLCommandId 预设SQL的编号

                                    # 1.29. GetSQLCommandNodeName

                                    function  GetSQLCommandNodeName(ASQLCommandId:String):string;
                                    
                                    1

                                    说明:返回预设SQL对应的节点数据库名称。 返回值:String类型。

                                    • GetSQLCommandNodeName 函数语法中各部分说明
                                    部分 说明
                                    ASQLCommandId 预设SQL的编号
                                      //JScript
                                      Strings = UGMM.GetSQLCommandNodeName("SQL001");
                                      
                                      1
                                      2
                                      //PasScript
                                      Strings := UGMM.GetSQLCommandNodeName('SQL001');
                                      
                                      1
                                      2
                                      // Make sure to add code blocks to your code group

                                      # 1.30. GetSQLCommandText

                                      function  GetSQLCommandText(Const ASQLCommandId:String):String;
                                      
                                      1

                                      说明:返回预设SQL文本的内容。 返回值:String类型。

                                      • GetSQLCommand 函数语法中各部分说明
                                      部分 说明
                                      ASQLCommandId 预设SQL的编号
                                        //JScript
                                        Strings = UGMM.GetSQLCommandText("SQL001");
                                        
                                        1
                                        2
                                        //PasScript
                                        Strings := UGMM.GetSQLCommandText('SQL001');
                                        
                                        1
                                        2
                                        // Make sure to add code blocks to your code group

                                        # 1.31. GetWebSubForm

                                        Function GetWebSubForm(AModuleName:String): TUgWebForm;
                                        
                                        1

                                        说明:根据指定的模块编号打开模块,显示在窗口中。 返回值:TUgWebForm 类型。

                                        • GetWebSubForm 函数语法中各部分说明
                                        部分 说明
                                        AModuleName 要打开的模块的编号或模块的名称
                                          //JScript
                                            var F;
                                            //打开布种资料编辑界面	W-EQ-MOD-2120-2
                                            F = UGMM.GetWebSubForm("W-EQ-MOD-2120-2");
                                            if (F.ShowModal == mrOK)
                                            {
                                          
                                            }
                                            //释放打开的窗口W-EQ-MOD-2120-2
                                            UGMM.DelWebSubForm("W-EQ-MOD-2120-2");
                                          
                                          1
                                          2
                                          3
                                          4
                                          5
                                          6
                                          7
                                          8
                                          9
                                          10
                                          //PasScript
                                          var
                                            F: TUgWebForm;
                                          begin
                                            F := UGMM.GetWebSubForm('W-EQ-MOD-2120-2');
                                            if F.ShowModal = mrOK then
                                            begin
                                            
                                            end;
                                            //释放打开的窗口W-EQ-MOD-2120-2
                                            UGMM.DelWebSubForm('W-EQ-MOD-2120-2');
                                          end;
                                          
                                          
                                          1
                                          2
                                          3
                                          4
                                          5
                                          6
                                          7
                                          8
                                          9
                                          10
                                          11
                                          12
                                          13
                                          // Make sure to add code blocks to your code group

                                          # 1.32. HTTPDecode

                                          function HTTPDecode(const AStr: string): string;
                                          
                                          1

                                          说明: HTTP解码 返回值: 字符类型String

                                          • HTTPDecode 函数语法中各部分说明
                                          部分 说明
                                          AStr 指定需要解码的字符串

                                          # 1.33. HTTPEncode

                                          function HTTPEncode(const AStr: string): string;
                                          
                                          1

                                          说明: HTTP编码 返回值: 字符类型String

                                          • HTTPEncode 函数语法中各部分说明
                                          部分 说明
                                          AStr 指定需要编码的字符串

                                          # 1.34. ImpExcel

                                          function ImpExcel(ADBGrid:TUgDBGrid;Const ACaption,ARequiredItems:String):Boolean;
                                          
                                          1

                                          说明: 从Excel表格中选择数据导入至数据表中。 返回值: 布尔类型: Boolean。

                                          • ImpExcel函数语法中各部分说明
                                          部分 说明
                                          ADBGrid 要接受数据的数据表格控件名称
                                          ACaption 打开的导入窗口的标题名称
                                          ARequiredItems 设置所需项的名称,可留空后在打开窗口中进行设置
                                          • 示例

                                            我们可以为其分配一个按钮,一个数据表格控件以触发事件:

                                            //JScript
                                            function UgButton05OnClick(sender){
                                                if (UGMM.ImpExcel(UgDBGrid01,"Import Excel",""))
                                                {
                                                  UgRFDataSet01.ApplyUpdates(-1);
                                                }
                                            }
                                            
                                            {
                                              UgRFDataSet01.Connection = GETRFWeb;
                                              UgRFDataSet01.SQL.Text = "SELECT TOP 0 * FROM Pass_Cust";
                                              UgRFDataSet01.Open;
                                            }
                                            
                                            1
                                            2
                                            3
                                            4
                                            5
                                            6
                                            7
                                            8
                                            9
                                            10
                                            11
                                            12
                                            13
                                            //PasScript
                                            procedure UgButton05OnClick(sender: tobject);
                                            begin
                                                if UGMM.ImpExcel(UgDBGrid01,'Import Excel','') then
                                                begin
                                                  UgRFDataSet01.ApplyUpdates(-1);
                                                End;
                                            end;
                                            
                                            Begin
                                              UgRFDataSet01.Connection := GETRFWeb;
                                              UgRFDataSet01.SQL.Text := 'SELECT TOP 0 * FROM Pass_Cust';
                                              UgRFDataSet01.Open;
                                            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

                                              运行后会打开界面,首先需要选择Excel文件上传。请注意,这种方式对上传的表格表头有要求,表格的第一行必须是列的名称。且表格中的其余空白行不能有修改属性等的操作。

                                              点击[Browse...]选择文件并点击[Upload]上传,右侧的表中双击各个行的Excel列名,在下拉表格中选择表格中对应的列名。

                                              选择完成后,点击右侧的[导入]按钮,开始执行导入操作。进度条达到100%后自动关闭对话框返回至原先的界面。


                                            # 1.35. LT

                                            Function  LT(AText:String):string;
                                            
                                            1

                                            说明: 获取言语信息 返回值: 字符类型String

                                            • LT 函数语法中各部分说明
                                            部分 说明
                                            AText 指定多语言关键字(默认语言内容)
                                            • 示例
                                              //JScript
                                                UgLabel01.Cantion := UGMM.LT("Cust Name");
                                              
                                              1
                                              2
                                              //PasScript
                                              begin
                                                UgLabel01.Cantion := UGMM.LT('Cust Name');
                                              End;
                                              
                                              1
                                              2
                                              3
                                              4
                                              // Make sure to add code blocks to your code group

                                              # 1.36. LogInChecking

                                              Function LogInChecking(AUserType,AUserName,APassWord,ALenguage,AModeType:String):Boolean;
                                              
                                              1

                                              说明: 验证用户登录 返回值: Boolean类型

                                              • LogInChecking 函数语法中各部分说明
                                              部分 说明
                                              AUserType 用户类型(开发用户、框架用户、系统用户)
                                              AUserName 登录用户名
                                              APassWord 登录用户密码
                                              ALenguage 指定用户登录语言
                                              AModeType 指定登录类型(Web,App)
                                              • 示例
                                                //JScript
                                                  //验证用户密码
                                                  if UGMM.LogInChecking(GetSignInType(FSignInType),edUserName.Text,edPassWord.Text,edLanguage.Text,"WEB")
                                                  {//密码正确时登陆
                                                   ...
                                                  }
                                                
                                                1
                                                2
                                                3
                                                4
                                                5
                                                6
                                                //PasScript
                                                begin
                                                  //验证用户密码
                                                  if UGMM.LogInChecking(GetSignInType(FSignInType),edUserName.Text,edPassWord.Text,edLanguage.Text,'WEB') then
                                                  begin//密码正确时登陆
                                                   ...
                                                  end;
                                                end;
                                                
                                                1
                                                2
                                                3
                                                4
                                                5
                                                6
                                                7
                                                8
                                                // Make sure to add code blocks to your code group

                                                # 1.37. SendWsMsg

                                                function SendWsMsg(const acusername, acname, accom, atag, acevent: string;acparams:TStringlist=nil): Boolean;
                                                
                                                1

                                                说明:向指定的用户登录的Bean窗口发送WebSocket信息。 返回值:Boolean,用于反馈是否发送成功。

                                                • SendWsMsg 函数语法中各部分说明
                                                部分 说明
                                                acusername 登录的用户名称
                                                acname 动作名称,指定为 callback
                                                accom 调用的Bean模块的编号
                                                atag 绑定的控件的Tag编号
                                                acevent 调用的事件名称
                                                acparams 参数信息,以键值对的方式进行
                                                • 示例
                                                  //JScript
                                                    var l;
                                                    l = new TStringList();
                                                    l.Values["text"] = "Hello WebSocket Test";
                                                    if (UGMM.SendWsMsg("demo","callback","bean-001","updatememo","0",l)) 
                                                    { 
                                                      ShowMessage("Send Success!");  
                                                    }
                                                    l.Free;
                                                  
                                                  1
                                                  2
                                                  3
                                                  4
                                                  5
                                                  6
                                                  7
                                                  8
                                                  9
                                                  //PasScript
                                                  var 
                                                    l: TStringList;
                                                  begin
                                                    l := TStringList.Create();
                                                    l.Values['text'] := 'Hello WebSocket Test';
                                                    if (UGMM.SendWsMsg('demo','callback','bean-001','updatememo','0',l))  then
                                                    begin
                                                      ShowMessage('Send Success!');  
                                                    end;
                                                    l.Free;
                                                  end;
                                                  
                                                  1
                                                  2
                                                  3
                                                  4
                                                  5
                                                  6
                                                  7
                                                  8
                                                  9
                                                  10
                                                  11
                                                  12
                                                  // Make sure to add code blocks to your code group

                                                  # 1.38. SendWsMsgBySId

                                                  function SendWsMsgBySId(const sid, msg: string): Boolean;
                                                  
                                                  1

                                                  说明:向指定的会话ID的客户端发送WebSocket信息。 返回值:Boolean,用于反馈是否发送成功。

                                                  • SendWsMsgBySId 函数语法中各部分说明
                                                  部分 说明
                                                  sid 指定会话的名称
                                                  msg 要发送的消息内容
                                                  • 示例
                                                    //JScript
                                                      UGMM.SendWsMsgBySId("esp32_001","Off");
                                                    
                                                    1
                                                    2
                                                    //PasScript
                                                      UGMM.SendWsMsgBySId('esp32_001','Off');
                                                    
                                                    1
                                                    2
                                                    // Make sure to add code blocks to your code group

                                                    # 1.39. SendWsMsgByStr

                                                    function SendWsMsgByStr(const msg: string): Boolean;
                                                    
                                                    1

                                                    说明:向WS服务器发送WebSocket信息。 返回值:Boolean,用于反馈是否发送成功。

                                                    • SendWsMsgByStr 函数语法中各部分说明
                                                    部分 说明
                                                    msg 要发送的消息内容,仅支持传输指定的json
                                                    • 示例
                                                      //JScript
                                                        msg = "{" +
                                                          "\"username\": \"demo\"," +              					 		//WebSocket消息发送的目标用户
                                                           "\"action\": \"callback\"," +            					 		//WebSocket消息告知IsoBean执行的动作
                                                           "\"tag\": \"0\"," + 
                                                           "\"data\": {" +
                                                              "\"callbackcomponent\": \"wb-das-0001_dashboard-demo1\"," +   	//执行动作的目标组件名称
                                                              "\"callbackeventname\": \"update\"," +  			//执行触发OnAjaxEvent事件的 eventname(事件名称)
                                                          	"\"callbackparams\": [" +             						 //传输的键值,可以有一对或者多对
                                                            	"{" +
                                                                  "\"paramname\": \"type\"," +
                                                              	"\"paramvalue\": \"header\"" +
                                                            	"}," +
                                                            	"{" +
                                                              	"\"paramname\": \"dataMonthOrder\"," +
                                                              	"\"paramvalue\": \"" + Q.FieldByName("dataMonthOrder").asString + "\"" +
                                                            	"}," +
                                                            	"{" +
                                                                  "\"paramname\": \"dataNewMember\"," +
                                                              	"\"paramvalue\": \"" + Q.FieldByName("dataNewMeber").asString + "\"" +
                                                            	"}," +
                                                            	"{" +
                                                              	"\"paramname\": \"dataOnceConsume\"," +
                                                              	"\"paramvalue\": \"" + Q.FieldByName("dataOnceConsume").asString + "\"" +
                                                            	"}" +
                                                          	"]" +
                                                           "}" +
                                                        "}";
                                                        UGMM.SendWsMsgByStr(msg);
                                                      
                                                      1
                                                      2
                                                      3
                                                      4
                                                      5
                                                      6
                                                      7
                                                      8
                                                      9
                                                      10
                                                      11
                                                      12
                                                      13
                                                      14
                                                      15
                                                      16
                                                      17
                                                      18
                                                      19
                                                      20
                                                      21
                                                      22
                                                      23
                                                      24
                                                      25
                                                      26
                                                      27
                                                      28
                                                      29
                                                      //PasScript
                                                        msg = '{' +
                                                          '"username": "demo",' +              					 		//WebSocket消息发送的目标用户
                                                          '"action": "callback",' +            					 		//WebSocket消息告知IsoBean执行的动作
                                                          '"tag": "0",' + 
                                                          '"data": {' +
                                                              '"callbackcomponent": "wb-das-0001_dashboard-demo1",' +   	//执行动作的目标组件名称
                                                              '"callbackeventname": "update",' +  			//执行触发OnAjaxEvent事件的 eventname(事件名称)
                                                          	'"callbackparams": [' +             						 //传输的键值,可以有一对或者多对
                                                            	'{' +
                                                                  '"paramname": "type",' +
                                                              	'"paramvalue": "header"' +
                                                            	'},' +
                                                            	'{' +
                                                              	'"paramname": "dataMonthOrder",' +
                                                              	'"paramvalue": "' + Q.FieldByName('dataMonthOrder').asString + '"' +
                                                            	'},' +
                                                            	'{' +
                                                                  '"paramname": "dataNewMember",' +
                                                              	'"paramvalue": "' + Q.FieldByName('dataNewMeber').asString + '"' +
                                                            	'},' +
                                                            	'{' +
                                                              	'"paramname": "dataOnceConsume",' +
                                                              	'"paramvalue": "' + Q.FieldByName('dataOnceConsume').asString + '"' +
                                                            	'}' +
                                                          	']' +
                                                           '}' +
                                                        '}';
                                                        UGMM.SendWsMsgByStr(msg);
                                                      
                                                      1
                                                      2
                                                      3
                                                      4
                                                      5
                                                      6
                                                      7
                                                      8
                                                      9
                                                      10
                                                      11
                                                      12
                                                      13
                                                      14
                                                      15
                                                      16
                                                      17
                                                      18
                                                      19
                                                      20
                                                      21
                                                      22
                                                      23
                                                      24
                                                      25
                                                      26
                                                      27
                                                      28
                                                      29
                                                      // Make sure to add code blocks to your code group

                                                      # 1.40. URLDownloadToFile

                                                      Function URLDownloadToFile(AUrl: string;AFileName: string):Integer;
                                                      
                                                      1

                                                      说明: 根据URL下载文件到指定目录 返回值: Integer类型

                                                      • URLDownloadToFile 函数语法中各部分说明
                                                      部分 说明
                                                      AUrl 指定远程文件Url地址
                                                      AFileName 指定本地文件路径(含文件名)
                                                      • 示例
                                                        //JScript
                                                           //下载文件到本地,并通过UgPDFFrame控件打开预览
                                                           if (UGMM.URLDownloadToFile("File URL","temp\\report.pdf") == 0) 
                                                             UgPDFFrame01.PdfURL = "temp\\report.pdf";
                                                        
                                                        1
                                                        2
                                                        3
                                                        4
                                                        //PasScript
                                                           //下载文件到本地,并通过UgPDFFrame控件打开预览
                                                           if UGMM.URLDownloadToFile('File URL','temp\report.pdf') =0 then 
                                                             UgPDFFrame01.PdfURL := 'temp\report.pdf';
                                                        
                                                        1
                                                        2
                                                        3
                                                        4
                                                        // Make sure to add code blocks to your code group

                                                        # 1.41. VerifyRunFramePermType

                                                        Function  VerifyRunFramePermType(ARunFarme:TComponent;APermName:String;ACreateUser:String):Boolean;
                                                        
                                                        1

                                                        说明: 验证运行模块类型权限 返回值: Boolean类型

                                                        • VerifyRunFramePermType 函数语法中各部分说明
                                                        部分 说明
                                                        ARunFarme 指定窗体类
                                                        APermName 指定权限名称
                                                        ACreateUser 指定操作用户
                                                        • 示例
                                                          //JScript
                                                             if (UGMM.VerifyRunFramePermType(TUgWebRunFrame(Self),"New","admin")
                                                             {
                                                               ShowMessage("permissions available");
                                                             }
                                                          
                                                          1
                                                          2
                                                          3
                                                          4
                                                          5
                                                          //PasScript
                                                          begin
                                                             if UGMM.VerifyRunFramePermType(TUgWebRunFrame(Self),'New','admin') Then
                                                             Begin
                                                               ShowMessage('permissions available');
                                                             end;
                                                          end;
                                                          
                                                          1
                                                          2
                                                          3
                                                          4
                                                          5
                                                          6
                                                          7
                                                          // Make sure to add code blocks to your code group

                                                          # 1.42. VerifyPermGuid

                                                          Function  VerifyPermGuid(AGuid:String):Boolean;
                                                          
                                                          1

                                                          说明: 以权限地址获取用户是否有权限 返回值: Boolean类型

                                                          • VerifyPermGuid 函数语法中各部分说明
                                                          部分 说明
                                                          AGuid 指定权限唯一地址Guid
                                                          • 示例
                                                            //JScript
                                                               if (UGMM.VerifyPermGuid("Guid")
                                                               {
                                                                 ShowMessage("permissions available");
                                                               }
                                                            
                                                            1
                                                            2
                                                            3
                                                            4
                                                            5
                                                            //PasScript
                                                            begin
                                                               if UGMM.VerifyPermGuid('Guid') Then
                                                               Begin
                                                                 ShowMessage('permissions available');
                                                               end;
                                                            end;
                                                            
                                                            1
                                                            2
                                                            3
                                                            4
                                                            5
                                                            6
                                                            7
                                                            // Make sure to add code blocks to your code group

                                                            # 2. UGSM类函数

                                                              UGSM类程序在程序中调用时,必须以UGSM.开头。


                                                            # 3. UGCM类函数

                                                              UGCM类程序在程序中调用时,必须以UGCM.开头。

                                                            # 3.1. AmountToChinese

                                                            function AmountToChinese(ls: Variant): string;
                                                            
                                                            1

                                                            说明: 金额转大写(中文) 返回值: string类型

                                                            • AmountToChinese 函数语法中各部分说明
                                                            部分 说明
                                                            ls 指定一个金额(浮点数)
                                                            • 示例
                                                              //JScript
                                                                var Amount;
                                                                Amount = 123456.78;
                                                                Showmessage(UGCM.AmountToChinese(Amount));
                                                              
                                                              1
                                                              2
                                                              3
                                                              4
                                                              //PasScript
                                                              Var 
                                                                Amount:double;
                                                              begin
                                                                Amount := 123456.78;
                                                                Showmessage(UGCM.AmountToChinese(Amount));
                                                              end;
                                                              
                                                              1
                                                              2
                                                              3
                                                              4
                                                              5
                                                              6
                                                              7
                                                              // Make sure to add code blocks to your code group

                                                              运行结果 :壹拾贰万叁仟肆佰伍拾陆元柒角捌分


                                                              # 3.2. GetFileStreamFileName

                                                              function GetFileStreamFileName(AFileStream: TFileStream): string;
                                                              
                                                              1

                                                              说明: 根据文件流获取文件名(含路径) 返回值: string类型

                                                              • GetFileStreamFileName 函数语法中各部分说明
                                                              部分 说明
                                                              AFileStream 指定文件流
                                                              • 示例
                                                                //JScript
                                                                function UgFileUploadButton01OnCompleted(sender,astream){
                                                                    var DestName,DestFolder;
                                                                    DestFolder=UGSM.StartPath+"temp\\";
                                                                    DestName=DestFolder+UgFileUploadButton01.FileName;
                                                                    //上传文件
                                                                    CopyFile(UGCM.GetFileStreamFileName(AStream), DestName, False);
                                                                    ugedit04.Text = DestName;
                                                                }
                                                                
                                                                1
                                                                2
                                                                3
                                                                4
                                                                5
                                                                6
                                                                7
                                                                8
                                                                9
                                                                //PasScript
                                                                procedure UgFileUploadButton01OnCompleted(sender: tobject;astream: tfilestream);
                                                                var
                                                                  DestName : string;
                                                                  DestFolder : string;
                                                                begin
                                                                    //远程文件路径
                                                                    DestFolder:=UGSM.StartPath+'temp\';
                                                                    DestName:=DestFolder+UgFileUploadButton01.FileName;
                                                                    //上传文件
                                                                    CopyFile(UGCM.GetFileStreamFileName(AStream), DestName, False);
                                                                    ugedit04.Text := DestName;
                                                                end;
                                                                
                                                                1
                                                                2
                                                                3
                                                                4
                                                                5
                                                                6
                                                                7
                                                                8
                                                                9
                                                                10
                                                                11
                                                                12
                                                                13
                                                                // Make sure to add code blocks to your code group

                                                                # 3.3. Gettamptime

                                                                function Gettamptime(vtime: string; vlen: Integer): string;
                                                                
                                                                1

                                                                说明: 获取时间戳 返回值: string类型

                                                                • Gettamptime 函数语法中各部分说明
                                                                部分 说明
                                                                vtime 指定一个时间
                                                                vlen 指定时间戳长度
                                                                • 示例
                                                                  //JScript
                                                                    var Time;
                                                                    Time = "2020-12-01 12:12:12";
                                                                    Showmessage(UGCM.Gettamptime(Time,13));
                                                                  
                                                                  1
                                                                  2
                                                                  3
                                                                  4
                                                                  //PasScript
                                                                  Var 
                                                                    Time:String;
                                                                  begin
                                                                    Time := '2020-12-01 12:12:12';
                                                                    Showmessage(UGCM.Gettamptime(Time,13));
                                                                  end;
                                                                  
                                                                  1
                                                                  2
                                                                  3
                                                                  4
                                                                  5
                                                                  6
                                                                  7
                                                                  // Make sure to add code blocks to your code group

                                                                  运行结果 :1606795932000


                                                                  # 3.4. GettampTotime

                                                                  function GettampTotime(vtamp: string): string; 
                                                                  
                                                                  1

                                                                  说明: 根据时间戳转时间 返回值: string类型

                                                                  • GettampTotime 函数语法中各部分说明
                                                                  部分 说明
                                                                  vtamp 指定一个时间戳
                                                                  • 示例
                                                                    //JScript
                                                                      var Timetamp;
                                                                      Timetamp = "1606795932000";
                                                                      Showmessage(UGCM.GettampTotime(Timetamp));
                                                                    
                                                                    1
                                                                    2
                                                                    3
                                                                    4
                                                                    //PasScript
                                                                    Var 
                                                                      Timetamp:String;
                                                                    begin
                                                                      Timetamp := '1606795932000';
                                                                      Showmessage(UGCM.GettampTotime(Timetamp));
                                                                    end;
                                                                    
                                                                    1
                                                                    2
                                                                    3
                                                                    4
                                                                    5
                                                                    6
                                                                    7
                                                                    // Make sure to add code blocks to your code group

                                                                    运行结果 :2020-12-01 12:12:12.000


                                                                    # 3.5. HexStrToStream

                                                                    function HexStrToStream(AHexStr: string; AStream: TStream): Boolean;
                                                                    
                                                                    1

                                                                    说明: 16进制转流 返回值: Boolean类型

                                                                    • HexStrToStream 函数语法中各部分说明
                                                                    部分 说明
                                                                    AHexStr 指定16进制字符串
                                                                    AStream 指定流对象
                                                                    
                                                                    
                                                                    1

                                                                    # 3.6. HexToInt

                                                                    function HexToInt(const AHex: string): Integer;
                                                                    
                                                                    1

                                                                    说明: 16进制转整型 返回值: Integer类型

                                                                    • HexToInt 函数语法中各部分说明
                                                                    部分 说明
                                                                    AHex 指定16进制字符
                                                                    • 示例
                                                                      //JScript
                                                                        var Hex;
                                                                        Hex = "0A";
                                                                        Showmessage(IntToStr(UGCM.HexToInt(Hex)));
                                                                      
                                                                      1
                                                                      2
                                                                      3
                                                                      4
                                                                      //PasScript
                                                                      Var 
                                                                        Hex:String;
                                                                      begin
                                                                        Hex := '0A';
                                                                        Showmessage(IntToStr(UGCM.HexToInt(Hex)));
                                                                      end;
                                                                      
                                                                      1
                                                                      2
                                                                      3
                                                                      4
                                                                      5
                                                                      6
                                                                      7
                                                                      // Make sure to add code blocks to your code group

                                                                      运行结果:10


                                                                      # 3.7. HexToBytes

                                                                      function HexToBytes(AHex: string): TBytes;
                                                                      
                                                                      1

                                                                      说明: 16进制字符串转字节数组 返回值: TBytes类型

                                                                      • HexToBytes 函数语法中各部分说明
                                                                      部分 说明
                                                                      AHex 指定16进制字符串
                                                                      • 示例
                                                                      
                                                                      
                                                                      1

                                                                      # 3.8. RoundToCH

                                                                      function RoundToCH(const AValue: Double; const ADigit: Integer): Double;
                                                                      
                                                                      1

                                                                      说明: 四舍五入 返回值: Double类型

                                                                      • RoundToCH 函数语法中各部分说明
                                                                      部分 说明
                                                                      AValue 指定一个浮点数
                                                                      ADigit 指定小数位保留位数
                                                                      • 示例
                                                                        //JScript
                                                                        //保留一位小数
                                                                          var d;
                                                                          d=12345.56;
                                                                          Showmessage(FloatToStr(UGCM.RoundToCH(d,1)));
                                                                        
                                                                        1
                                                                        2
                                                                        3
                                                                        4
                                                                        5
                                                                        //PasScript
                                                                        //保留一位小数
                                                                        Var 
                                                                          d:double;
                                                                        begin
                                                                          d:=12345.56;
                                                                          Showmessage(FloatToStr(UGCM.RoundToCH(d,1)));
                                                                        end;
                                                                        
                                                                        1
                                                                        2
                                                                        3
                                                                        4
                                                                        5
                                                                        6
                                                                        7
                                                                        8
                                                                        // Make sure to add code blocks to your code group

                                                                        运行结果:12345.6


                                                                        # 3.9. NetHttpGet

                                                                         function NetHttpGet(const Qurl: string; const QSource:string = ''): string;
                                                                        
                                                                        1

                                                                        说明: HTTP GET方法,通过向请求地址发送GET 请求获取返回信息。 返回值: String类型,

                                                                        • NetHttpGet 函数语法中各部分说明
                                                                        部分 说明
                                                                        Qurl 指定一个地址
                                                                        QSource 请求体的内容,默认请保持为空状态
                                                                        • 示例
                                                                          //JScript
                                                                          //ZoneMinder API用于获取监视器列表
                                                                          //curl http://server/zm/api/monitors.json
                                                                            s = UGCM.NetHttpGet(edtURL.Text + "/monitors.json?token=" + token,"");
                                                                            mmLog.Lines.Clear;
                                                                            mmLog.Lines.Add(DateTimeToStr(now()) + ": " + s);
                                                                          
                                                                          1
                                                                          2
                                                                          3
                                                                          4
                                                                          5
                                                                          6
                                                                          //PasScript
                                                                          //ZoneMinder API用于获取监视器列表
                                                                          //curl http://server/zm/api/monitors.json
                                                                          begin
                                                                            s := UGCM.NetHttpGet(edtURL.Text + '/monitors.json?token=' + token,'');
                                                                            mmLog.Lines.Clear;
                                                                            mmLog.Lines.Add(DateTimeToStr(now()) + ': ' + s);
                                                                          end;
                                                                          
                                                                          1
                                                                          2
                                                                          3
                                                                          4
                                                                          5
                                                                          6
                                                                          7
                                                                          8
                                                                          // Make sure to add code blocks to your code group

                                                                          # 3.10. NetHttpPost

                                                                          function NetHttpPost(const Qurl: string; const QSource: string = ''; const QResponseContent: string = ''; const QContentType: string = ''): string;
                                                                          
                                                                          1

                                                                          说明: HTTP POST方法,通过向请求地址发送POST请求获取返回信息。 返回值: String类型,

                                                                          • NetHttpPost 函数语法中各部分说明
                                                                          部分 说明
                                                                          Qurl 指定一个地址
                                                                          QSource 请求体的内容
                                                                          QResponseContent 请求响应的内容,默认保持为空的状态
                                                                          QContentType 请求体声明的内容类型,常用的有application/json、application/xml、application/x-www-form-urlencoded等
                                                                          • 示例
                                                                            //JScript
                                                                            //ZoneMinder 使用API来修改监视器功能
                                                                            //curl -XPOST http://server/zm/api/monitors/1.json -d "Monitor[Function]=Modect&Monitor[Enabled]=1"
                                                                              var postString,s;
                                                                              postString = "Monitor[Function]=" + cbFunction.Items.Strings[cbFunction.ItemIndex] + "&Monitor[Enabled]=1";
                                                                              s = UGCM.NetHttpPost(edtURL.Text + "/monitors/1.json?token=" + token,postString,"","application/x-www-form-urlencoded");
                                                                              mmLog.Lines.Clear;
                                                                              mmLog.Lines.Add(DateTimeToStr(now()) + ": " + s);
                                                                            
                                                                            1
                                                                            2
                                                                            3
                                                                            4
                                                                            5
                                                                            6
                                                                            7
                                                                            8
                                                                            //PasScript
                                                                            //ZoneMinder 使用API来修改监视器功能
                                                                            //curl -XPOST http://server/zm/api/monitors/1.json -d "Monitor[Function]=Modect&Monitor[Enabled]=1"
                                                                            Var
                                                                              s: string;
                                                                              postString: string;
                                                                            begin
                                                                                postString := 'Monitor[Function]=' + cbFunction.Items.Strings[cbFunction.ItemIndex] + '&Monitor[Enabled]=1';
                                                                                s := UGCM.NetHttpPost(edtURL.Text + '/monitors/1.json?token=' + token,postString,'','application/x-www-form-urlencoded');
                                                                                mmLog.Lines.Clear;
                                                                                mmLog.Lines.Add(DateTimeToStr(now()) + ': ' + s);
                                                                            end;
                                                                            
                                                                            1
                                                                            2
                                                                            3
                                                                            4
                                                                            5
                                                                            6
                                                                            7
                                                                            8
                                                                            9
                                                                            10
                                                                            11
                                                                            12
                                                                            // Make sure to add code blocks to your code group

                                                                            # 3.11. NetHttpPut

                                                                            function NetHttpPut(const Qurl: string; const QSource: string = ''; const QResponseContent: string = ''; const QContentType: string = ''): string;
                                                                            
                                                                            1

                                                                            说明: HTTP PUT方法,通过向请求地址发送PUT请求获取返回信息。 返回值: String类型。

                                                                            • NetHttpPut 函数语法中各部分说明
                                                                            部分 说明
                                                                            Qurl 指定一个地址
                                                                            QSource 请求体的内容
                                                                            QResponseContent 请求响应的内容,默认保持为空的状态
                                                                            QContentType 请求体声明的内容类型,常用的有application/json、application/xml、application/x-www-form-urlencoded等
                                                                            • 示例
                                                                              //JScript
                                                                              //ZoneMinder使用API来编辑监视器
                                                                              //此命令会将监视器 1 的“名称”字段更改为“test1”
                                                                              //curl -XPUT http://server/zm/api/monitors/1.json -d "Monitor[Name]=test1"
                                                                              //修改检视器名称
                                                                                var s;
                                                                                s = UGCM.NetHttpPut(edtURL.Text + "/monitors/1.json?token=" + token,"Monitor[Name]=" + 
                                                                                edtMonitorName.Text,"","application/x-www-form-urlencoded");
                                                                                mmLog.Lines.Clear;
                                                                                mmLog.Lines.Add(DateTimeToStr(now()) + ": " + s);
                                                                              
                                                                              1
                                                                              2
                                                                              3
                                                                              4
                                                                              5
                                                                              6
                                                                              7
                                                                              8
                                                                              9
                                                                              10
                                                                              //PasScript
                                                                              //ZoneMinder使用API来编辑监视器
                                                                              //此命令会将监视器 1 的“名称”字段更改为“test1”
                                                                              //curl -XPUT http://server/zm/api/monitors/1.json -d "Monitor[Name]=test1"
                                                                              //修改检视器名称
                                                                              Var
                                                                                s: string;
                                                                              begin
                                                                                s := UGCM.NetHttpPut(edtURL.Text + '/monitors/1.json?token=' + token,'Monitor[Name]=' + 
                                                                                edtMonitorName.Text,'','application/x-www-form-urlencoded');
                                                                                mmLog.Lines.Clear;
                                                                                mmLog.Lines.Add(DateTimeToStr(now()) + ': ' + s);
                                                                              end;
                                                                              
                                                                              1
                                                                              2
                                                                              3
                                                                              4
                                                                              5
                                                                              6
                                                                              7
                                                                              8
                                                                              9
                                                                              10
                                                                              11
                                                                              12
                                                                              13
                                                                              // Make sure to add code blocks to your code group

                                                                              # 3.12. NetHttpDelete

                                                                              function NetHttpDelete(const Qurl: string; const QSource:string = ''): string;
                                                                              
                                                                              1

                                                                              说明: HTTP DELETE方法,通过向请求地址发送DELETE请求获取返回信息。 返回值: String类型。

                                                                              • NetHttpDelete 函数语法中各部分说明
                                                                              部分 说明
                                                                              QUrl 指定一个地址
                                                                              QSource 请求体的内容,默认请保持为空状态
                                                                              • 示例
                                                                                //JScript
                                                                                //ZoneMinder使用API来删除监视器
                                                                                //curl -XDELETE http://server/zm/api/monitors/1.json
                                                                                //删除监视器
                                                                                  var s;
                                                                                  s = UGCM.NetHttpDelete(edtURL.Text + "/monitors/4.json?token=" + token,"");
                                                                                  mmLog.Lines.Clear;
                                                                                  mmLog.Lines.Add(DateTimeToStr(now()) + ": " + s);
                                                                                
                                                                                1
                                                                                2
                                                                                3
                                                                                4
                                                                                5
                                                                                6
                                                                                7
                                                                                8
                                                                                //PasScript
                                                                                //ZoneMinder使用API来删除监视器
                                                                                //curl -XDELETE http://server/zm/api/monitors/1.json
                                                                                //删除监视器
                                                                                var
                                                                                  s: string;
                                                                                begin
                                                                                  s := UGCM.NetHttpDelete(edtURL.Text + '/monitors/4.json?token=' + token,'');
                                                                                  mmLog.Lines.Clear;
                                                                                  mmLog.Lines.Add(DateTimeToStr(now()) + ': ' + s);
                                                                                end;
                                                                                
                                                                                1
                                                                                2
                                                                                3
                                                                                4
                                                                                5
                                                                                6
                                                                                7
                                                                                8
                                                                                9
                                                                                10
                                                                                11
                                                                                // Make sure to add code blocks to your code group

                                                                                # 3.13. GetJSONObject

                                                                                function GetJSONObject(const QJSONObject: TJSONObject; const QPath:String):TJSONObject;
                                                                                
                                                                                1

                                                                                说明: 获取JSON对象中指定的嵌套对象。 返回值: TJSONObject类型。

                                                                                • GetJSONObject 函数语法中各部分说明
                                                                                部分 说明
                                                                                QJSONObject 要进行获取对象操作的JSON对象名称
                                                                                QPath 对象在JSON中的路径名称,路径的名称之间以"."作为分隔标志
                                                                                • 示例

                                                                                  假设需要对以下JSON进行解析。

                                                                                {
                                                                                    "status": "OK",
                                                                                    "Language":{
                                                                                        "DefaultLanguage": 1
                                                                                    }
                                                                                }
                                                                                
                                                                                1
                                                                                2
                                                                                3
                                                                                4
                                                                                5
                                                                                6
                                                                                  //JScript
                                                                                    var J,s;
                                                                                    J= new TJSONObject();
                                                                                    s= "{\"status\": \"OK\",\"Language\":{\"DefaultLanguage\": 1}}";
                                                                                    Try{
                                                                                       j = TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                       j =UGCM.GetJSONObject(j,"Language");
                                                                                       ShowMessage(UGCM.GetJSONNumber(j,"DefaultLanguage"));
                                                                                    }
                                                                                    Finally{
                                                                                      j.Free;
                                                                                    }
                                                                                  
                                                                                  1
                                                                                  2
                                                                                  3
                                                                                  4
                                                                                  5
                                                                                  6
                                                                                  7
                                                                                  8
                                                                                  9
                                                                                  10
                                                                                  11
                                                                                  12
                                                                                  //PasScript
                                                                                  Var 
                                                                                    J:TJSONObject;
                                                                                    s: String;
                                                                                  begin
                                                                                    J:=TJSONObject.Create;
                                                                                    s:= '{"status": "OK","Language":{"DefaultLanguage": 1}}';
                                                                                    Try
                                                                                       j := TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                       j :=UGCM.GetJSONObject(j,'Language');
                                                                                       ShowMessage(UGCM.GetJSONNumber(j,'DefaultLanguage'));
                                                                                       //上述两句程序也可改写为
                                                                                       //ShowMessage(UGCM.GetJSONNumber(j,'Language.DefaultLanguage'));
                                                                                    Finally
                                                                                      j.Free;
                                                                                    end;
                                                                                  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

                                                                                    以上程序运行后获取到的值为1。

                                                                                  # 3.14. GetJSONArray

                                                                                  function GetJSONArray(const QJSONObject: TJSONObject; const QPath:String):TJSONArray;
                                                                                  
                                                                                  1

                                                                                  说明: 获取JSON对象中指定的数组列。 返回值: TJSONArray类型。

                                                                                  • GetJSONArray 函数语法中各部分说明
                                                                                  部分 说明
                                                                                  QJSONObject 要进行获取对象操作的JSON对象名称
                                                                                  QPath 对象在JSON中的路径名称,路径的名称之间以"."作为分隔标志
                                                                                  • 示例

                                                                                    假设需要对以下JSON进行解析。

                                                                                  {
                                                                                      "status": "OK",
                                                                                      "Language":{
                                                                                          "DefaultLanguage": 1,
                                                                                          "options":[
                                                                                              {"options":1},
                                                                                              {"options":2}
                                                                                          ]
                                                                                      }
                                                                                  }
                                                                                  
                                                                                  1
                                                                                  2
                                                                                  3
                                                                                  4
                                                                                  5
                                                                                  6
                                                                                  7
                                                                                  8
                                                                                  9
                                                                                  10
                                                                                    //JScript
                                                                                      var J,A,s;
                                                                                      J= new TJSONObject();
                                                                                      A= new TJSONArray();
                                                                                      s= "{\"status\": \"OK\",\"Language\":{\"DefaultLanguage\": 1,\"options\":[{\"options\":1},{\"options\":2}]}}";
                                                                                      Try{
                                                                                         j = TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                         A = UGCM.GetJSONArray(j,"Language.options");
                                                                                         J = TJSONObject(A.Items[1]);
                                                                                         ShowMessage(UGCM.GetJSONNumber(j,"options"));
                                                                                      }
                                                                                      Finally{
                                                                                        j.Free;
                                                                                        A.Free;
                                                                                      }
                                                                                    
                                                                                    1
                                                                                    2
                                                                                    3
                                                                                    4
                                                                                    5
                                                                                    6
                                                                                    7
                                                                                    8
                                                                                    9
                                                                                    10
                                                                                    11
                                                                                    12
                                                                                    13
                                                                                    14
                                                                                    15
                                                                                    //PasScript
                                                                                    Var 
                                                                                      J:TJSONObject;
                                                                                      A:TJSONArray;
                                                                                      s: String;
                                                                                    begin
                                                                                      J:=TJSONObject.Create;
                                                                                      A:= TJSONArray.Create;
                                                                                      s:= '{"status": "OK","Language":{"DefaultLanguage": 1,"options":[{"options":1},{"options":2}]}}';
                                                                                      Try
                                                                                         j := TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                         A := UGCM.GetJSONArray(j,'Language.options');
                                                                                         J := TJSONObject(A.Items[1]);
                                                                                         ShowMessage(UGCM.GetJSONNumber(j,'options'));
                                                                                      Finally
                                                                                        j.Free;
                                                                                        A.Free;
                                                                                      end;
                                                                                    end;
                                                                                    
                                                                                    1
                                                                                    2
                                                                                    3
                                                                                    4
                                                                                    5
                                                                                    6
                                                                                    7
                                                                                    8
                                                                                    9
                                                                                    10
                                                                                    11
                                                                                    12
                                                                                    13
                                                                                    14
                                                                                    15
                                                                                    16
                                                                                    17
                                                                                    18
                                                                                    19
                                                                                    // Make sure to add code blocks to your code group

                                                                                      以上程序运行后获取到的值为2。

                                                                                    # 3.15. GetJSONString

                                                                                    function GetJSONString(const QJSONObject: TJSONObject; const QPath:String):String;
                                                                                    
                                                                                    1

                                                                                    说明: 获取JSON对象中指定键值的字符串。 返回值: String类型。

                                                                                    • GetJSONString 函数语法中各部分说明
                                                                                    部分 说明
                                                                                    QJSONObject 要进行获取对象操作的JSON对象名称
                                                                                    QPath 对象在JSON中的路径名称,路径的名称之间以"."作为分隔标志

                                                                                      假设需要对以下JSON进行解析。

                                                                                    {
                                                                                        "status": "OK",
                                                                                        "Language":{
                                                                                            "DefaultLanguage": 1
                                                                                        }
                                                                                    }
                                                                                    
                                                                                    1
                                                                                    2
                                                                                    3
                                                                                    4
                                                                                    5
                                                                                    6
                                                                                      //JScript
                                                                                        var J,s;
                                                                                        J= new TJSONObject();
                                                                                        s= "{\"status\": \"OK\",\"Language\":{\"DefaultLanguage\": 1}}";
                                                                                        Try{
                                                                                           j = TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                           ShowMessage(UGCM.GetJSONString(j,"status"));
                                                                                        }
                                                                                        Finally{
                                                                                          j.Free;
                                                                                        }
                                                                                      
                                                                                      1
                                                                                      2
                                                                                      3
                                                                                      4
                                                                                      5
                                                                                      6
                                                                                      7
                                                                                      8
                                                                                      9
                                                                                      10
                                                                                      11
                                                                                      //PasScript
                                                                                      Var 
                                                                                        J:TJSONObject;
                                                                                        s: String;
                                                                                      begin
                                                                                        J:=TJSONObject.Create;
                                                                                        s:= '{"status": "OK","Language":{"DefaultLanguage": 1}}';
                                                                                        Try
                                                                                           j := TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                           ShowMessage(UGCM.GetJSONString(j,'status'));
                                                                                        Finally
                                                                                          j.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

                                                                                        以上程序运行后获取到的值为OK。

                                                                                      # 3.16. GetJSONNumber

                                                                                      function GetJSONNumber(const QJSONObject: TJSONObject; const QPath:String):String;
                                                                                      
                                                                                      1

                                                                                      说明: 获取JSON对象中指定的键值中的数值。 返回值: String类型。

                                                                                      • GetJSONNumber 函数语法中各部分说明
                                                                                      部分 说明
                                                                                      QJSONObject 要进行获取对象操作的JSON对象名称
                                                                                      QPath 对象在JSON中的路径名称,路径的名称之间以"."作为分隔标志
                                                                                      • 示例

                                                                                        假设需要对以下JSON进行解析。

                                                                                      {
                                                                                          "status": "OK",
                                                                                          "Language":{
                                                                                              "DefaultLanguage": 1
                                                                                          }
                                                                                      }
                                                                                      
                                                                                      1
                                                                                      2
                                                                                      3
                                                                                      4
                                                                                      5
                                                                                      6
                                                                                        //JScript
                                                                                          var J,s;
                                                                                          J= new TJSONObject();
                                                                                          s= "{\"status\": \"OK\",\"Language\":{\"DefaultLanguage\": 1}}";
                                                                                          Try{
                                                                                             j = TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                             j =UGCM.GetJSONObject(j,"Language");
                                                                                             ShowMessage(UGCM.GetJSONNumber(j,"DefaultLanguage"));
                                                                                          }
                                                                                          Finally{
                                                                                            j.Free;
                                                                                          }
                                                                                        
                                                                                        1
                                                                                        2
                                                                                        3
                                                                                        4
                                                                                        5
                                                                                        6
                                                                                        7
                                                                                        8
                                                                                        9
                                                                                        10
                                                                                        11
                                                                                        12
                                                                                        //PasScript
                                                                                        Var 
                                                                                          J:TJSONObject;
                                                                                          s: String;
                                                                                        begin
                                                                                          J:=TJSONObject.Create;
                                                                                          s:= '{"status": "OK","Language":{"DefaultLanguage": 1}}';
                                                                                          Try
                                                                                             j := TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                             j :=UGCM.GetJSONObject(j,'Language');
                                                                                             ShowMessage(UGCM.GetJSONNumber(j,'DefaultLanguage'));
                                                                                             //上述两句程序也可改写为
                                                                                             //ShowMessage(UGCM.GetJSONNumber(j,'Language.DefaultLanguage'));
                                                                                          Finally
                                                                                            j.Free;
                                                                                          end;
                                                                                        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

                                                                                          以上程序运行后获取到的值为1。

                                                                                        # 3.17. GetJSONInteger

                                                                                        function GetJSONInteger(const QJSONObject: TJSONObject; const QPath:String):Integer;
                                                                                        
                                                                                        1

                                                                                        说明: 获取JSON对象中指定的键值中的整数数值,并以整数的形式返回。 返回值: Integer类型。

                                                                                        • GetJSONInteger 函数语法中各部分说明
                                                                                        部分 说明
                                                                                        QJSONObject 要进行获取对象操作的JSON对象名称
                                                                                        QPath 对象在JSON中的路径名称,路径的名称之间以"."作为分隔标志
                                                                                        • 示例

                                                                                          假设需要对以下JSON进行解析。

                                                                                        {
                                                                                            "status": "OK",
                                                                                            "Language":{
                                                                                                "DefaultLanguage": 1
                                                                                            }
                                                                                        }
                                                                                        
                                                                                        1
                                                                                        2
                                                                                        3
                                                                                        4
                                                                                        5
                                                                                        6
                                                                                          //JScript
                                                                                            var J,s;
                                                                                            J= new TJSONObject();
                                                                                            s= "{\"status\": \"OK\",\"Language\":{\"DefaultLanguage\": 1}}";
                                                                                            Try{
                                                                                               j = TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                               i = UGCM.GetJSONInteger(j,"Language.DefaultLanguage");
                                                                                               ShowMessage(IntToStr(i));
                                                                                            }
                                                                                            Finally{
                                                                                              j.Free;
                                                                                            }
                                                                                          
                                                                                          1
                                                                                          2
                                                                                          3
                                                                                          4
                                                                                          5
                                                                                          6
                                                                                          7
                                                                                          8
                                                                                          9
                                                                                          10
                                                                                          11
                                                                                          12
                                                                                          //PasScript
                                                                                          Var 
                                                                                            J:TJSONObject;
                                                                                            s: String;
                                                                                            i: Integer;
                                                                                          begin
                                                                                            J:=TJSONObject.Create;
                                                                                            s:= '{"status": "OK","Language":{"DefaultLanguage": 1}}';
                                                                                            Try
                                                                                               j := TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                               i := UGCM.GetJSONInteger(j,'Language.DefaultLanguage');
                                                                                               ShowMessage(IntToStr(i));
                                                                                            Finally
                                                                                              j.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

                                                                                            以上程序运行后获取到的值为1。

                                                                                          # 3.18. GetJSONFloat

                                                                                          function GetJSONFloat(const QJSONObject: TJSONObject; const QPath:String):Double;
                                                                                          
                                                                                          1

                                                                                          说明: 获取JSON对象中指定的键值中的浮点数数值,并以浮点数的形式返回。 返回值: Double类型。

                                                                                          • GetJSONFloat 函数语法中各部分说明
                                                                                          部分 说明
                                                                                          QJSONObject 要进行获取对象操作的JSON对象名称
                                                                                          QPath 对象在JSON中的路径名称,路径的名称之间以"."作为分隔标志
                                                                                          • 示例

                                                                                            假设需要对以下JSON进行解析。

                                                                                          {
                                                                                              "status": "OK",
                                                                                              "Language":{
                                                                                                  "DefaultLanguage": 1.1
                                                                                              }
                                                                                          }
                                                                                          
                                                                                          1
                                                                                          2
                                                                                          3
                                                                                          4
                                                                                          5
                                                                                          6
                                                                                            //JScript
                                                                                              var J,s;
                                                                                              J= new TJSONObject();
                                                                                              s= "{\"status\": \"OK\",\"Language\":{\"DefaultLanguage\": 1.1}}";
                                                                                              Try{
                                                                                                 j = TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                                 i = UGCM.GetJSONFloat(j,"Language.DefaultLanguage");
                                                                                                 ShowMessage(FloatToStr(i));
                                                                                              }
                                                                                              Finally{
                                                                                                j.Free;
                                                                                              }
                                                                                            
                                                                                            1
                                                                                            2
                                                                                            3
                                                                                            4
                                                                                            5
                                                                                            6
                                                                                            7
                                                                                            8
                                                                                            9
                                                                                            10
                                                                                            11
                                                                                            12
                                                                                            //PasScript
                                                                                            Var 
                                                                                              J:TJSONObject;
                                                                                              s: String;
                                                                                              i: Double;
                                                                                            begin
                                                                                              J:=TJSONObject.Create;
                                                                                              s:= '{"status": "OK","Language":{"DefaultLanguage": 1.1}}';
                                                                                              Try
                                                                                                 j := TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                                 i := UGCM.GetJSONFloat(j,'Language.DefaultLanguage');
                                                                                                 ShowMessage(FloatToStr(i));
                                                                                              Finally
                                                                                                j.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

                                                                                              以上程序运行后获取到的值为1.1。

                                                                                            # 3.19. GetJSONBool

                                                                                            function GetJSONBool(const QJSONObject: TJSONObject; const QPath:String):Boolean;
                                                                                            
                                                                                            1

                                                                                            说明: 获取JSON对象中指定的键值中的布尔数值,并以布尔值的形式返回。 返回值: Boolean类型。

                                                                                            • GetJSONBool 函数语法中各部分说明
                                                                                            部分 说明
                                                                                            QJSONObject 要进行获取对象操作的JSON对象名称
                                                                                            QPath 对象在JSON中的路径名称,路径的名称之间以"."作为分隔标志

                                                                                              假设需要对以下JSON进行解析。

                                                                                            {
                                                                                                "status": true,
                                                                                                "Language":{
                                                                                                    "DefaultLanguage": 1
                                                                                                }
                                                                                            }
                                                                                            
                                                                                            1
                                                                                            2
                                                                                            3
                                                                                            4
                                                                                            5
                                                                                            6
                                                                                              //JScript
                                                                                                var J,s;
                                                                                                J= new TJSONObject();
                                                                                                s= "{\"status\": true,\"Language\":{\"DefaultLanguage\": 1.1}}";
                                                                                                Try{
                                                                                                   j = TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                                   if (UGCM.GetJSONBool(j,'status'))
                                                                                                     ShowMessage('{"status": true}');
                                                                                                }
                                                                                                Finally{
                                                                                                  j.Free;
                                                                                                }
                                                                                              
                                                                                              1
                                                                                              2
                                                                                              3
                                                                                              4
                                                                                              5
                                                                                              6
                                                                                              7
                                                                                              8
                                                                                              9
                                                                                              10
                                                                                              11
                                                                                              12
                                                                                              //PasScript
                                                                                              Var 
                                                                                                J:TJSONObject;
                                                                                                s: String;
                                                                                              begin
                                                                                                J:=TJSONObject.Create;
                                                                                                s:= '{"status": true,"Language":{"DefaultLanguage": 1}}';
                                                                                                Try
                                                                                                   j := TJSONObject(j.ParseJSONValue(s,false,false));
                                                                                                   if (UGCM.GetJSONBool(j,'status')) then
                                                                                                     ShowMessage('{"status": true}');
                                                                                                Finally
                                                                                                  j.Free;
                                                                                                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

                                                                                                以上程序运行后获取到的值为{"status": true}。

                                                                                              # 3.20. GetJSONValue

                                                                                              function GetJSONValue(const QJSONObject: TJSONValue; const QPath:String):TJSONValue;
                                                                                              
                                                                                              1

                                                                                              说明: 获取JSON对象中指定的键值中的值。 返回值: TJSONValue类型。

                                                                                              • GetJSONBool 函数语法中各部分说明
                                                                                              部分 说明
                                                                                              QJSONObject 要进行获取对象操作的JSON对象名称
                                                                                              QPath 对象在JSON中的路径名称,路径的名称之间以"."作为分隔标志

                                                                                              # 3.21. ParseJSONValue

                                                                                              function ParseJSONValue(QJson: string): TJSONValue;
                                                                                              
                                                                                              1

                                                                                              说明: 获取字符串形式的JSON对象中指定的键值中的值。 返回值: TJSONValue类型。

                                                                                              • GetJSONBool 函数语法中各部分说明
                                                                                              部分 说明
                                                                                              QJSONObject 要进行获取对象操作的JSON对象名称
                                                                                              QPath 对象在JSON中的路径名称,路径的名称之间以"."作为分隔标志
                                                                                              系统程序
                                                                                              自定程序

                                                                                              ← 系统程序 自定程序→

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