自定函式
# TaskRunner 自定函式
以下是TaskRunner中使用到的相關自定函式。自定函式可用於 RestAPI
與 JScript
型別的自定程式中。
# 1. UGMM類
UGMM類程式在程式中呼叫時,必須以UGMM.開頭。
# 1.1. GetDBConnection
Function GetDBConnection(Const ADefName:String):TFDConnection;
根據TaskRunner資料庫連線設定中資料庫連線的名稱獲取資料庫連線。
參數名稱 | 說明 |
---|---|
ADefName | 資料庫連線設定的名稱 |
# 1.2. GetSQL
Function GetSQL(Const ASQLID:String):String;
獲取TaskRunner預設SQL中設定的SQL語句。
參數名稱 | 說明 |
---|---|
ASQLID | 預設SQL的名稱 |
# 1.3. GetWebSocketGUID
通過連線註冊的會話ID獲取連線ID。
參數名稱 | 說明 |
---|---|
AClientID | 要查詢的會話ID |
- 示例
if (UGMM.WSServer_WriteStream(UGMM.GetWebSocketGUID("test"),"{\"action\":\message"\"}")){
UGMM.AddLog("Send Success");
})
2
3
# 1.4. SendEmail
function SendEmail(ASubject,ABody,AAddrdess:string;AHtml:Boolean;AAttFile:TStringList=nil):Boolean;
此方法用於發送郵件。
- 參數說明
參數名稱 | 說明 |
---|---|
ASubject | 郵件的主題名稱 |
ABody | 郵件的正文內容 |
AHtml | 郵件是否使用HTML格式 |
AAddress | 收件人的郵箱地址 |
AAttFile | 需發送的附件的目錄地址,多個附件則分成多行 |
- 示例
UGMM.SendEmail("WelCome to use TaskRunner","Hello,This Email was Generated and sent by TaskRunner","sample@email.com",False,nil);
# 1.5. WSServer_WriteStream
WSServer_WriteStream(const aGuid:string;const aStream: TStream): Boolean;
向指定目標的客戶端發送流資訊。
- 參數說明
參數名稱 | 說明 |
---|---|
aGuid | 連線的唯一ID |
aStream | 流數據資訊 |
- 示例
if (UGMM.WSServer_WriteStream(Guid,Data)){
UGMM.AddLog("Send Success");
})
2
3
# 1.6. WSServer_WriteString
function WSServer_WriteString(const aGuid:string;const aText: String): Boolean;
向指定目標的客戶端發送字串資訊。
- 參數說明
參數名稱 | 說明 |
---|---|
aGuid | 連線的唯一ID |
aText | 連線的訊息字串 |
- 示例
if (UGMM.WSServer_WriteStream(Guid,"{\"action\":\message"\"}")){
UGMM.AddLog("Send Success");
})
2
3
# 2. UGCM類
UGCM類程式在程式中呼叫時,必須以UGCM.開頭。
# 2.1. AmountToChinese
function AmountToChinese(ls: Variant): string;
說明: 金額轉大寫(中文) 返回值: string型別
- AmountToChinese 函式語法中各部分說明
部分 | 說明 |
---|---|
ls | 指定一個金額(浮點數) |
- 示例
//JScript
var Amount;
Amount = 123456.78;
Showmessage(UGCM.AmountToChinese(Amount));
2
3
4
運行結果 :壹拾貳萬叁仟肆佰伍拾陸元柒角捌分
# 2.2. Base64Get
function Base64Get(FileName:String):String;
說明:將檔案通過base64轉換為字串,這種方式可以將二進制的檔案以字串的方式傳輸,便於管理。 返回值:string型別
- Base64Get 函式語法中各部分說明
部分 | 說明 |
---|---|
FileName | 檔案所在的地址 |
- 示例
//JScript
{
var str;
str = UGCM.Base64Get("E:\\setup\\023-3.jpg");
ShowMessage(str);
}
2
3
4
5
6
# 2.3. CreateGuid
function CreateGuid:String;
說明: 產生GUID
返回值: string 型別
示例
ShowMessage(UGCM.CreateGuid);
# 2.4. Decrypt
function Decrypt(const Input: string; const Key: string): string;
說明: 解密字串。
返回值: 解密密后的字串。
Encrypt 函式語法中各部分說明。
部分 | 說明 |
---|---|
Input | 輸入的加密字串 |
Key | 解密的金鑰 |
- 示例
ShowMessage(UGCM.Decrypt("yrN+GsI=","key"));
運行結果 :Hello
# 2.5. Encrypt
function Encrypt(const Input: string; const Key: string): string;
說明: 加密字串。
返回值: 加密後的字串。
Encrypt 函式語法中各部分說明。
部分 | 說明 |
---|---|
Input | 輸入的字串 |
Key | 加密的金鑰 |
- 示例
ShowMessage(UGCM.Encrypt("Hello","key"));
運行結果 :yrN+GsI=
# 2.6. ExcuteDosCmd
function ExcuteDosCmd(CommandLine: string): string;
- 說明: 執行Dos命令,獲取執行結果。
- 返回值: string 型別
- ExcuteDosCmd 函式語法中各部分說明
部分 | 說明 |
---|---|
CommandLine | 命令列的字串 |
# 2.7. GetFileStreamFileName
function GetFileStreamFileName(AFileStream: TFileStream): string;
說明: 根據檔案流獲取檔名(含路徑) 返回值: string型別
- GetFileStreamFileName 函式語法中各部分說明
部分 | 說明 |
---|---|
AFileStream | 指定檔案流 |
# 2.8. Gettamptime
function Gettamptime(vtime: string; vlen: Integer): string;
說明: 獲取時間戳 返回值: string型別
- Gettamptime 函式語法中各部分說明
部分 | 說明 |
---|---|
vtime | 指定一個時間 |
vlen | 指定時間戳長度 |
- 示例
//JScript
var Time;
Time = "2020-12-01 12:12:12";
Showmessage(UGCM.Gettamptime(Time,13));
2
3
4
運行結果 :1606795932000
# 2.9. GettampTotime
function GettampTotime(vtamp: string): string;
說明: 根據時間戳轉時間 返回值: string型別
- GettampTotime 函式語法中各部分說明
部分 | 說明 |
---|---|
vtamp | 指定一個時間戳 |
- 示例
//JScript
var Timetamp;
Timetamp = "1606795932000";
Showmessage(UGCM.GettampTotime(Timetamp));
2
3
4
運行結果 :2020-12-01 12:12:12.000
# 2.10. HexStrToStream
function HexStrToStream(AHexStr: string; AStream: TStream): Boolean;
說明: 16進位制轉流 返回值: Boolean型別
- HexStrToStream 函式語法中各部分說明
部分 | 說明 |
---|---|
AHexStr | 指定16進位制字串 |
AStream | 指定流對像 |
# 2.11. HexToInt
function HexToInt(const AHex: string): Integer;
說明: 16進位制轉整型 返回值: Integer型別
- HexToInt 函式語法中各部分說明
部分 | 說明 |
---|---|
AHex | 指定16進位制字元 |
- 示例
//JScript
var Hex;
Hex = "0A";
Showmessage(IntToStr(UGCM.HexToInt(Hex)));
2
3
4
運行結果:10
# 2.12. HexToIEEE754
function HexToIEEE754(hexVal: string): Real;
將表示IEEE754標準單精度浮點數的字串轉換為浮點數顯示。
部分 | 說明 |
---|---|
hexVal | 使用十六進制表示的字串 |
var Hex;
Hex = "41A40000";
Showmessage(FloatToStr(UGCM. HexToIEEE754(Hex)));
2
3
運行結果:20.5
# 2.13. HexToBytes
function HexToBytes(AHex: string): TBytes;
說明: 16進位制字串轉位元組陣列 返回值: TBytes型別
- HexToBytes 函式語法中各部分說明
部分 | 說明 |
---|---|
AHex | 指定16進位制字串 |
# 2.14. KillTask
function KillTask(ExeFileName: string): integer;
說明: 結束程序。 返回值: 整數型別。
- KillTask 函式語法中各部分說明。
部分 | 說明 |
---|---|
ExeFileName | 程序中的程式名稱 |
# 2.15. PingServer
function PingServer(HostIP: string; LinkTimeOut: integer): boolean;
說明: 測試驗證指定IP是否可以連線通訊。 返回值: Boolean型別
- PingServer 函式語法中各部分說明
部分 | 說明 |
---|---|
HostIP | 測試伺服器的IP地址 |
LinkTimeOut | 超時閾值 |
# 2.16. RoundToCH
function RoundToCH(const AValue: Double; const ADigit: Integer): Double;
說明: 四捨五入 返回值: Double型別
- RoundToCH 函式語法中各部分說明
部分 | 說明 |
---|---|
AValue | 指定一個浮點數 |
ADigit | 指定小數位保留位數 |
- 示例
//JScript
//保留一位小數
var d;
d=12345.56;
Showmessage(FloatToStr(UGCM.RoundToCH(d,1)));
2
3
4
5
運行結果:12345.6
# 2.17. StreamToStr
Function StreamToStr(AStream:TMemoryStream):String;
說明: 流轉字串 返回值: String 型別。
部分 | 說明 |
---|---|
AStream | 待轉換的數據流 |
# 2.18. NetHttpGet
function NetHttpGet(const Qurl: string; const QSource:string = ''): string;
說明: 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);
2
3
4
5
6
# 2.19. NetHttpPost
function NetHttpPost(const Qurl: string; const QSource: string = ''; const QResponseContent: string = ''; const QContentType: string = ''): string;
說明: 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);
2
3
4
5
6
7
8
# 2.20. NetHttpPut
function NetHttpPut(const Qurl: string; const QSource: string = ''; const QResponseContent: string = ''; const QContentType: string = ''): string;
說明: 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);
2
3
4
5
6
7
8
9
10
# 2.21. NetHttpDelete
function NetHttpDelete(const Qurl: string; const QSource:string = ''): string;
說明: 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);
2
3
4
5
6
7
8
# 2.22. GetJSONObject
function GetJSONObject(const QJSONObject: TJSONObject; const QPath:String):TJSONObject;
說明: 獲取JSON對像中指定的巢狀對象。 返回值: TJSONObject型別。
- GetJSONObject 函式語法中各部分說明
部分 | 說明 |
---|---|
QJSONObject | 要進行獲取對像操作的JSON對像名稱 |
QPath | 對像在JSON中的路徑名稱,路徑的名稱之間以"."作為分隔標誌 |
- 示例
假設需要對以下JSON進行解析。
{
"status": "OK",
"Language":{
"DefaultLanguage": 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;
}
2
3
4
5
6
7
8
9
10
11
12
以上程式運行后獲取到的值為1。
# 2.23. GetJSONArray
function GetJSONArray(const QJSONObject: TJSONObject; const QPath:String):TJSONArray;
說明: 獲取JSON對像中指定的陣列列。 返回值: TJSONArray型別。
- GetJSONArray 函式語法中各部分說明
部分 | 說明 |
---|---|
QJSONObject | 要進行獲取對像操作的JSON對像名稱 |
QPath | 對像在JSON中的路徑名稱,路徑的名稱之間以"."作為分隔標誌 |
- 示例
假設需要對以下JSON進行解析。
{
"status": "OK",
"Language":{
"DefaultLanguage": 1,
"options":[
{"options":1},
{"options":2}
]
}
}
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;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
以上程式運行后獲取到的值為2。
# 2.24. GetJSONString
function GetJSONString(const QJSONObject: TJSONObject; const QPath:String):String;
說明: 獲取JSON對像中指定鍵值的字串。 返回值: String型別。
- GetJSONString 函式語法中各部分說明
部分 | 說明 |
---|---|
QJSONObject | 要進行獲取對像操作的JSON對像名稱 |
QPath | 對像在JSON中的路徑名稱,路徑的名稱之間以"."作為分隔標誌 |
假設需要對以下JSON進行解析。
{
"status": "OK",
"Language":{
"DefaultLanguage": 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;
}
2
3
4
5
6
7
8
9
10
11
以上程式運行后獲取到的值為OK。
# 2.25. GetJSONNumber
function GetJSONNumber(const QJSONObject: TJSONObject; const QPath:String):String;
說明: 獲取JSON對像中指定的鍵值中的數值。 返回值: String型別。
- GetJSONNumber 函式語法中各部分說明
部分 | 說明 |
---|---|
QJSONObject | 要進行獲取對像操作的JSON對像名稱 |
QPath | 對像在JSON中的路徑名稱,路徑的名稱之間以"."作為分隔標誌 |
- 示例
假設需要對以下JSON進行解析。
{
"status": "OK",
"Language":{
"DefaultLanguage": 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;
}
2
3
4
5
6
7
8
9
10
11
12
以上程式運行后獲取到的值為1。
# 2.26. GetJSONInteger
function GetJSONInteger(const QJSONObject: TJSONObject; const QPath:String):Integer;
說明: 獲取JSON對像中指定的鍵值中的整數數值,並以整數的形式返回。 返回值: Integer型別。
- GetJSONInteger 函式語法中各部分說明
部分 | 說明 |
---|---|
QJSONObject | 要進行獲取對像操作的JSON對像名稱 |
QPath | 對像在JSON中的路徑名稱,路徑的名稱之間以"."作為分隔標誌 |
- 示例
假設需要對以下JSON進行解析。
{
"status": "OK",
"Language":{
"DefaultLanguage": 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;
}
2
3
4
5
6
7
8
9
10
11
12
以上程式運行后獲取到的值為1。
# 2.27. GetJSONFloat
function GetJSONFloat(const QJSONObject: TJSONObject; const QPath:String):Double;
說明: 獲取JSON對像中指定的鍵值中的浮點數數值,並以浮點數的形式返回。 返回值: Double型別。
- GetJSONFloat 函式語法中各部分說明
部分 | 說明 |
---|---|
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.1}}";
Try{
j = TJSONObject(j.ParseJSONValue(s,false,false));
i = UGCM.GetJSONFloat(j,"Language.DefaultLanguage");
ShowMessage(FloatToStr(i));
}
Finally{
j.Free;
}
2
3
4
5
6
7
8
9
10
11
12
以上程式運行后獲取到的值為1.1。
# 2.28. GetJSONBool
function GetJSONBool(const QJSONObject: TJSONObject; const QPath:String):Boolean;
說明: 獲取JSON對像中指定的鍵值中的布爾數值,並以布林值的形式返回。 返回值: Boolean型別。
- GetJSONBool 函式語法中各部分說明
部分 | 說明 |
---|---|
QJSONObject | 要進行獲取對像操作的JSON對像名稱 |
QPath | 對像在JSON中的路徑名稱,路徑的名稱之間以"."作為分隔標誌 |
假設需要對以下JSON進行解析。
{
"status": true,
"Language":{
"DefaultLanguage": 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;
}
2
3
4
5
6
7
8
9
10
11
12
13
以上程式運行后獲取到的值為{"status": true}
。
# 2.29. GetJSONValue
function GetJSONValue(const QJSONObject: TJSONValue; const QPath:String):TJSONValue;
說明: 獲取JSON對像中指定的鍵值中的值。 返回值: TJSONValue型別。
- GetJSONBool 函式語法中各部分說明
部分 | 說明 |
---|---|
QJSONObject | 要進行獲取對像操作的JSON對像名稱 |
QPath | 對像在JSON中的路徑名稱,路徑的名稱之間以"."作為分隔標誌 |
# 2.30. JSONArray_AddJSONObject
function JSONArray_AddJSONObject(QJSONArray:TJSONArray;const QJSONObject: TJSONValue):TJSONArray;
說明: 在原有的JSON佇列中新增一個新的JSON對像 返回值: TJSONArray型別。
- GetJSONBool 函式語法中各部分說明
部分 | 說明 |
---|---|
QJSONArray | 要進行獲取對像操作的JSON佇列名稱 |
QJSONObject | 要新增的JSON對像名稱 |
假設有以下的佇列:
[{"status":"ok"}]
需要向其中新增以下的json對像:
{"status":"no"}
var J,A,s1,s2;
s1 = "[{\"status\":\"ok\"}]";
s2 = "{\"status\":\"no\"}";
A = TJSONArray(UGCM.ParseJSONValue(s1));
J = UGCM.ParseJSONValue(s2);
A = UGCM.JSONArray_AddJSONObject(A,J);
ShowMessage(A.ToString);
2
3
4
5
6
7
執行以上程式,輸出的結果為 [{"status","ok"},{"status":"no"}]
# 2.31. JSONObject_AddJSONArray*
function JSONObject_AddJSONArray(QJSONObject: TJSONObject; const Str: string; const Val: TJSONValue):TJSONObject;
說明: 在原有的JSON對像中新增一個新的JSON值以獲取一個新的JSON對像 返回值: TJSONObject型別。
部分 | 說明 |
---|---|
QJSONObject | 要獲取的JSON對像名稱 |
Str | 要新增的鍵名 |
Val | 要新增的鍵值 |
假設有以下的json對像:
{"status":"ok"}
需要合併以下的json佇列作為子對像
[{"status":"no"}]
var J1,J2,A,s1,s2;
s1 = "{\"status\":\"ok\"}";
s2 = "[{\"status\":\"no\"}]";
J1 = UGCM.ParseJSONValue(s1);
A = UGCM.ParseJSONValue(s2);
J2 = UGCM.JSONObject_AddJSONArray(TJSONObject(J1),"array",A);
ShowMessage(j2.ToString);
2
3
4
5
6
7
執行以上程式,輸出的結果為 [{"status","ok"},"array":[{"status":"no"}]}
# 2.32. JSONParse
function JSONParse(QType, QPath, QJson: string): string;
說明: 解析JSON,獲取JSON中的單元的取值。 返回值: string型別。
部分 | 說明 |
---|---|
QType | 要獲取的JSON對像型別 GetJSONObject ,GetJSONArray ,GetJSONNumber 、GetJSONObject 、GetJSONValue 、GetJSONBool 、GetJSONPair |
QPath | 獲取的JSON對象的路徑名稱 |
QJSON | 要解析的JSON對像文字 |
- 示例
{
"status": true,
"Language":{
"DefaultLanguage": 1
}
}
2
3
4
5
6
var s;
s = "{\"status\": \"OK\",\"Language\":{\"DefaultLanguage\": 1}}";
ShowMessage(UGCM.JSONParse("GetJSONString","status",s));
2
3
# 2.33. ParseJSONValue
function ParseJSONValue(QJson: string): TJSONValue;
說明: 獲取字串形式的JSON對像中指定的鍵值中的值。 返回值: TJSONValue型別。
- GetJSONBool 函式語法中各部分說明
部分 | 說明 |
---|---|
QJSONObject | 要進行獲取對像操作的JSON對像名稱 |
QPath | 對像在JSON中的路徑名稱,路徑的名稱之間以"."作為分隔標誌 |
# 2.34. RunScript
function RunScript(ATaskName:string;AParams:TStringList=nil;AEvaluate:string=''):Variant;
說明: 執行在TaskRunner中設定的自定程式。 返回值: 返回執行的結果。
- RunScript 函式語法中各部分說明
部分 | 說明 |
---|---|
ATaskName | 自定程式的名稱 |
AParams | 自定程式需要輸入的參數資訊 |
AEvaluate | 表達式的名稱,此處指定表達式后,可在運行自定程式后返回表達式的運行結果 |
- 示例
{
var s;
s = new TStringList();
try{
s.values["dberp"] = "FastERP";
s.values["dbfastweb"] = "FastWeb";
s.values["energytype"] = "water";
s.values["groupcode"] = "C-1";
UGCM.RunScript("EnergyView",s,"");
}
finally{
s.Free;
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15