Format('%d %d %d %0:d %3:d', [1, 2, 3, 4])是什麼意思? |
答題得分者是:timhuang
|
vivi666666
初階會員 發表:83 回覆:94 積分:35 註冊:2003-03-05 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
function Format(const Format: string; const Args: array of const
): string; 其中 Format 指的是格式, 後面的陣列傳入的就是 值.
例如:
Label1.Caption := Format('There are now %d records in the table', [DataSet.RecordCount]); 代表著要顯示的資料為 DataSet.RecordCount, 用%d的方式顯示.
%d 代表用 十進位數 (Decimal) 來顯示.
所以若是 DataSet.RecordCount 的值為 10 的話, 則 Label1.Caption
會顯示為 There are now 10 records in the table
詳細的資料可以參考 delphi 的 online help Format 函數!!
另外 %0:d 及 %3:d 代表著是後面的陣列 index.
所以 %0:d 是取陣列中的第 1 個變數 (index 為 0) 也就是 1,
%3:d 是取陣列中的第 4 個變數 (index 為 3) 也就是 4,
因此
Format('%d %d %d %0:d %3:d', [1, 2, 3, 4]) 的結果就是
1 2 3 1 4 了. 發表人 - timhuang 於 2003/03/17 10:35:42
|
vivi666666
初階會員 發表:83 回覆:94 積分:35 註冊:2003-03-05 發送簡訊給我 |
引言: function Format(const Format: string; const Args: array of const ): string; 其中 Format 指的是格式, 後面的陣列傳入的就是 值. 例如: Label1.Caption := Format('There are now %d records in the table', [DataSet.RecordCount]); 代表著要顯示的資料為 DataSet.RecordCount, 用%d的方式顯示. %d 代表用 十進位數 (Decimal) 來顯示. 所以若是 DataSet.RecordCount 的值為 10 的話, 則 Label1.Caption 會顯示為 There are now 10 records in the table 詳細的資料可以參考 delphi 的 online help Format 函數!! 另外 %0:d 及 %3:d 代表著是後面的陣列 index. 所以 %0:d 是取陣列中的第 1 個變數 (index 為 0) 也就是 1, %3:d 是取陣列中的第 4 個變數 (index 為 3) 也就是 4, 因此 Format('%d %d %d %0:d %3:d', [1, 2, 3, 4]) 的結果就是 1 2 3 1 4 了. 發表人 - timhuang 於 2003/03/17 10:35:42那以下是什麼意思 Format('%-6s%-3s%-12s(%1s)', [ EMP.Field'EMPLYID').AsString,' : ',EMP.FieldByName('EMPLYNM').AsString, EMP.FieldByName('IOCTRL').AsString ]) |
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
vivi666666
初階會員 發表:83 回覆:94 積分:35 註冊:2003-03-05 發送簡訊給我 |
引言:寬度為 6是指可放6個字串嗎? 若是 [ EMP.Field'EMPLYID').AsString 結果大於寬度6即12345678 會shown多少?引言: Format('%-6s%-3s%-12s(%1s)', [ EMP.Field'EMPLYID').AsString,' : ',EMP.FieldByName('EMPLYNM').AsString, EMP.FieldByName('IOCTRL').AsString ])%-6s - 代表靠左對齊. 6 代表寬度為 6, 若是字串少於 6的則會補空白 s 代表字串 所以以上的結果就明白了!! 其中的非format string如 (, ) 就是直接顯示出來!! |
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |