TstringList.Count不能得出正確的筆數 |
答題得分者是:dllee
|
rachex2000
一般會員 發表:21 回覆:32 積分:20 註冊:2003-04-28 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言: 我將一有97191行(用ultraEdit觀看)的txt檔以TStrigList.Loadfromfile讀入, 再讀取TstringList.count,發現只有40000多筆,這可能是因txt檔的控制字元與 正常的不同,請問TstringList.count是否有bug,要如何才能得到正確的筆數LoadFromFile 會以讀到的檔案,以 #0, #10, #13 等字元分行,並以 #0 字元視為讀檔結束,如果您的 txt 中有藏著 #0 那用 TStringList 與 UltraEdit 讀到的行數就會不同,因為 UltraEdit 連 #0 都讀,直到檔尾。 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
rachex2000
一般會員 發表:21 回覆:32 積分:20 註冊:2003-04-28 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
這不是 BUG 是本來就有的限制,因為 #0 對於大部分的電腦語言都視為字串的結束字元,問題是出在您的原始 txt 是否真的有 #0 字元如果有,想辨法讓它不要有,如果一定會有 #0 那就只有改寫 LoadFromFile,或是先用 TFileStream 或 TMemoryStream 讀檔,把檔案中 #0 的部分去除,改成 #10 或 #13 或 #32 之後再由 TStringList.LoadFromStream 來讀即可,記得先將 Stream.Position 歸零再叫用 TStringList.LoadFromStream 沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |