全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:5822
推到 Plurk!
推到 Facebook!

有沒有自動清空array的方法??

尚未結案
ivankuo
中階會員


發表:132
回覆:272
積分:95
註冊:2002-11-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-28 14:01:24 IP:61.221.xxx.xxx 未訂閱
小弟有個擺放共用參數的unit ,想要清空某個一維或二維陣列的值,請問有methods可以快速做到嗎?? 要不然就必須用for 迴圈了。
------
ivankuo
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-28 14:05:05 IP:147.8.xxx.xxx 未訂閱
ZeroMemory, FillChar, etc...
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-29 04:02:50 IP:203.222.xxx.xxx 未訂閱
aArray: array of Integer; or aArray: array of array of Integer use this to fast clear --> FillChar(aArray[0],(Length(aArray)*SizeOf(Integer)),$00)
ivankuo
中階會員


發表:132
回覆:272
積分:95
註冊:2002-11-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-29 09:27:10 IP:61.221.xxx.xxx 未訂閱
小弟看到help中的範例如下 var S: array[0..79] of char; begin { Set to all spaces } FillChar(S, SizeOf(S), Ord(' ')); end; 如果我要針對的array 是string的型態,那要怎樣做??
------
ivankuo
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-10-29 09:58:02 IP:147.8.xxx.xxx 未訂閱
引言:如果我要針對的array 是string的型態,那要怎樣做??
For dynamic string (the default), you need to do it in a loop since only the pointers are stored in the array. For Pascal string, you can still use FillChar or ZeroMemory.
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-10-31 10:24:07 IP:203.95.xxx.xxx 未訂閱
引言: 如果我要針對的array 是string的型態,那要怎樣做??
我想可以用 SetLength(aofstr, 0); 再設回原來 Array 個數就可以了. 如: astrcount = High(aofstr) 1; SetLength(aofstr, 0); SetLength(aofstr, astrcount); 應該可以達到你的要求!
ivankuo
中階會員


發表:132
回覆:272
積分:95
註冊:2002-11-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-10-31 10:40:29 IP:61.221.xxx.xxx 未訂閱
這方式針對動態array真是好用,但是若是靜態的array好像不能用
------
ivankuo
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-10-31 16:12:44 IP:203.95.xxx.xxx 未訂閱
引言: 這方式針對動態array真是好用,但是若是靜態的array好像不能用
若是靜態的 string array 的話, 就只能用 for 迴圈來進行了.
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-11-01 11:32:52 IP:203.203.xxx.xxx 未訂閱
引言:
引言: 這方式針對動態array真是好用,但是若是靜態的array好像不能用
若是靜態的 string array 的話, 就只能用 for 迴圈來進行了.
動態用 aArray := nil; <- 完全釋放空間,變動長度 String 可 SetLength(); <- 還是會佔有部分(小小的紀錄),變動長度 String 可 FillChar() <- 佔有完整的空間但是以你要的值來格式化,變動長度 String 不適用 靜態 FillChar() 通吃 integer, 固定長度 string ... 變動長度 String --> loop and set to nil
系統時間:2024-05-04 23:12:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!