系統程式
# TaskRunner 系統程式
該手冊內的內容用於編寫程式時作為參考,包含系統中使用的部分程式。
# 1. 字串處理程式
# 1.1. Delete*
procedure Delete(var S: string; Index,Count: Integer);
1
- 該過程從一個字串中移除一個子串。
部分 | 說明 |
---|---|
S | 字串表達式 |
Index | 整形表達式,表示刪除字串的起始位置 |
Count | 整形表達式,表示刪除的字元數 |
- 示例:
//JScript
var s1,s2;
s1 = "Hi,Hello";
s2 = "IsoFace,";
Delete(s1,s1,4);
ShowMessage(s1);
1
2
3
4
5
6
2
3
4
5
6
- 運行結果:
ello
# 1.2. Insert
procedure Insert(Source: String; var S: String; Index:Integer);
1
- 該過程以某個位置開始相字串中插入一個子字串。
部分 | 說明 |
---|---|
Source | 字串表達式 |
S | 字串表達式,作為插入的數據 |
Index | 整形表達式,表示插入字串的起始位置 |
- 示例:
//JScript
var s1,s2;
s1 = "Hi,Hello";
s2 = "IsoFace,";
Insert(s2,s1,0);
ShowMessage(s1);
1
2
3
4
5
6
2
3
4
5
6
- 運行結果:
IsoFace,Hi,Hello
# 1.3. SetLength
procedure SetLength(var S; NewLength: Integer);
1
- 該過程用於設定字串或動態陣列的長度。
部分 | 說明 |
---|---|
S | 字串或者動態陣列表達式 |
NewLength | 整形表達式,用於設定字串或動態陣列的長度 |
- 示例
//JScript
var arr[0],i;
SetLength(arr,5);
for (i = 0; i <= 4; i++)
{
arr[i] = i;
ShowMessage(IntToStr(arr[i]));
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
- 運行結果
0 1 2 3 4
# 2. 科學計算程式
# 2.1. DivMod
procedure DivMod(Dividend: Cardinal; Divisor: Word; var Result, Remainder: Word);
1
- 該過程返回兩個運算元相除的商和餘數。
部分 | 說明 |
---|---|
Dividend | 整型表達式,表示被除數 |
Divisor | 整型表達式,表示除數 |
Result | 整型表達式,用於儲存Dividend與Divisor相除的商 |
Remainder | 整型表達式,用於儲存餘數 |
- 示例:
//JScript
var a,b;
DivMod(13,3,a,b);
ShowMessage(IntToStr(a) + " " + IntToStr(b));
DivMod(15,3,a,b);
ShowMessage(IntToStr(a) + " " + IntToStr(b));
1
2
3
4
5
6
2
3
4
5
6
- 運行結果:
4 1 5 0
# 3. 序數程式
該章節暫無可用程式。
# 4. 金融程式
該章節暫無可用程式。
# 5. 隨機數程式
# 5.1. Randomize
procedure Randomize;
1
該程式用於初始化內建的隨機數產生器。
示例:
Randomize;
ShowMessage(IntToStr(RandomRange(0,10)));
1
2
2
- 運行結果:運行該語句后產生一個大於等於0小於10的整數。
# 6. 單位轉換程式
# 6.1. RaiseConversionError
procedure RaiseConversionError(const AText: string);
1
- 該程式用於觸發一個單位轉換異常。
部分 | 說明 |
---|---|
AText | 字串表達式,用於指定異常產生時的訊息 |
AArgs | 陣列常量表達式,用於支援AText所標識的格式 |
- 示例:
//JScript
RaiseConversionError("Conversion Error");
1
2
2
- 運行結果:彈出錯誤提示。
# 7. 日期程式
# 7.1. DecodeDate
procedure DecodeDate(Date: TDateTime; var Year,Month,Day:Word);
1
- 該程式分解TDateTime型別表達式為年、月、日。
部分 | 說明 |
---|---|
Date | 待分解的TDateTime值 |
Year | 得到TDateTime值分解后的年份 |
Month | 得到TDateTime值分解后的月份 |
Day | 得到TDateTime值分解后的日 |
- 示例:
//JScript
var Year,Month,Day;
DecodeDate(Now,Year,Month,Day);
ShowMessage(IntToStr(Year) + "/" + IntToStr(Month) + "/" + IntToStr(Day));
1
2
3
4
2
3
4
- 運行結果:顯示目前日期的年月日資訊。
# 7.2. DecodeTime
procedure DecodeTime(Time: TDateTime; var Hour,Min,Sec,MSec:Word);
1
- 該過程將TDateTime表達式的日期時間拆分成時、分、秒、毫秒。
部分 | 說明 |
---|---|
Time | 待分解的時間表達式 |
Hour | 返回時間表達式的小時 |
Min | 返回時間表達式的分鐘 |
Sec | 返回時間表達式的秒鐘 |
MSec | 返回時間表達式的毫秒 |
- 示例:
//JScript
var hour,minute,second,millisecond;
DecodeTime(Now,hour,minute,second,millisecond);
ShowMessage(IntToStr(hour) + ":" + IntToStr(minute) + ":" + IntToStr(second) + ":"
+ IntToStr(millisecond));
1
2
3
4
5
2
3
4
5
該語句執行后,顯示目前的系統時間。
# 7.3. IncAMonth
procedure IncAMonth(var Year, Month, Day: Word; NumberOfMonths: Integer = 1);
1
- 根據指定的值來增加或修改月份。
部分 | 說明 |
---|---|
Year | 返回年份 |
Month | 返回月份 |
Day | 返回日 |
NumberOfMonths | 待增加或減少月的數量 |
- 示例:
//JScript
var Year,Month,Day;
Year = 2020;
Month = 11;
Day = 1;
IncAMonth(Year,Month,Day,1);
ShowMessage("Next Month date:" + IntToStr(Year) + "/" + IntToStr(Month) + "/" + IntToStr(Day));
1
2
3
4
5
6
7
2
3
4
5
6
7
- 運行結果:
Next Month date:2020/12/1
# 7.4. ReplaceDate
procedure ReplaceDate(var DateTime: TDateTime; const NewDate: TDateTime);
1
- 該過程將指定時間中的日期替換為其他日期。
部分 | 說明 |
---|---|
DateTime | 將要替換日期部分的時間 |
NewDate | 替換日期的指定值 |
返回值:返回替換后的日期。
示例:
//JScript
var ADate,BDate;
ADate = StrToDate("2020-11-01");
BDate = StrToDate("2020-10-01");
ReplaceDate(ADate,BDate);
ShowMessage(DateToStr(ADate));
1
2
3
4
5
6
2
3
4
5
6
- 運行結果:
2020-10-01
# 7.5. ReplaceTime
procedure ReplaceDate(var DateTime: TDateTime; const NewDate: TDateTime);
1
- 該過程將指定時間中的時間替換為其他時間。
部分 | 說明 |
---|---|
DateTime | 將要替換的時間 |
NewDate | 指定替換的時間 |
返回值:返回替換后的時間。
示例:
//JScript
var ADate,BDate;
ADate = StrToDateTime("2020-11-01 12:00:00");
BDate = StrToDateTime("19:28:17");
ReplaceTime(ADate,BDate);
ShowMessage(DateTimeToStr(ADate));
1
2
3
4
5
6
2
3
4
5
6
- 運行結果:
2020-11-01 19:28:17
# 8. 格式化程式
該章節暫無可用程式。
# 9. 對話方塊程式
# 9.1. ShowMessage
procedure ShowMessage(const Msg: String);
1
- 該過程顯示一個簡單的訊息框。
部分 | 說明 |
---|---|
Msg | 訊息對話方塊要顯示的提示資訊內容 |
//JScript
ShowMessage("Hello");
1
2
2
執行上述程式碼,彈出Hello提示。
# 10. 流程控制
# 10.1. Abort
procedure Abort;
1
- 該過程產生一個特殊的"無記載異常",此異常與其他異常相同,只是不顯示錯誤資訊。
# 10.2. Exit
proceure Exit;
1
- 該過程立即使控制退出目前過程,繼續執行此過程呼叫位置后的程式碼,如果目前過程為主程式,則程式終止運行。該程式僅在PasScript下有效。
# 10.3. return
proceure return;
1
該程式僅在JScript下可使用, 立即使控制退出目前過程,繼續執行此過程呼叫位置后的程式碼。
# 11. 記憶體管理程式
# 11.1. StrToStream
Procedure StrToStream(AString:String;AStream:TMemoryStream);
1
該程式將字串變數 Astream
轉換為 記憶體流 AStream
。
# 12. 程序管理程式
# 12.1. EndProcess
procedure EndProcess(PID: string);
1
- 結束指定程序ID程式的運行。
部分 | 說明 |
---|---|
PID | 程序ID |
- 示例:
{
ChromePID = GetPID("chrome.exe");
if (ChromePID != "0"){
EndProcess(ChromePID);
}
}
1
2
3
4
5
6
2
3
4
5
6