線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1082
推到 Plurk!
推到 Facebook!

請問那一種方式來擷取文字檔的資訊做處理最快

尚未結案
jiangzu_1020
一般會員


發表:3
回覆:7
積分:2
註冊:2003-10-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-26 22:58:12 IP:61.66.xxx.xxx 未訂閱
大家好, 大弟用下列方式來擷取文字檔內的資訊做處理時常遇到資料量很大時, 程式速度變慢的困擾. 我的方法是將檔案讀入後, 依空白來分資訊. 例如文字檔的格式如下: Apple 25 Taipei ABC_1 Orange 27 Keelung DEF_4 ... 然後寫一個class class CFruit { public: AnsiString FruitName; AnsiString CostPerKg; AnsiString DistriPlace; AnsiString PackageFormat; }; class CFruitLinkList { public: CFruit cFruitItem; Tlist *plst; // Method SortByFruitName( void ); SortByCostPerKg( void ); CountAmont( void ); ... }; 接著以空白來作分隔, 將各行的資訊以 CFruit 的class 封起來, 再由Tlist 將整個檔案做 link list. 我的程式大約會讀入四至五個類似檔案. 分別用各個linklist 來做連結. 有些東西需要作交叉比對,執行速度有些慢,曾經試過用access來做資料庫, 但由於每次要讀檔入資料庫的時間比用linklist長而做罷, 也用過 Hash table 但由於需要作排序的關係, 用 Hash 比較不方便. 請教各位大家都用什麼方式來處理. 或是我的方法可以有改進空間...謝謝幫忙.
chtai
高階會員


發表:68
回覆:238
積分:116
註冊:2004-05-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-27 00:38:38 IP:211.74.xxx.xxx 未訂閱
個人建議使用 TStringList, 在站上搜尋 TStringList,字串分割 這一類的關鍵字, 可以找到很多資料。 http://delphi.ktop.com.tw/topic.php?topic_id=61156 http://delphi.ktop.com.tw/topic.php?topic_id=47194 http://delphi.ktop.com.tw/topic.php?topic_id=38379 這些或許多少可以幫你一點忙 :) -- http://www.csie.nctu.edu.tw/~chtai/software.php 好用免費軟體的收集網頁,歡迎大家跟我分享或一同推廣免費軟體。 若您覺得這網頁不錯,也歡迎您將它傳出去 :)
------
My Web: http://nelson.csie.us
My Blog: http://blog.nelson.csie.us
jiangzu_1020
一般會員


發表:3
回覆:7
積分:2
註冊:2003-10-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-28 02:00:07 IP:61.66.xxx.xxx 未訂閱
chtai sir 您好, 非常感謝您的建議...不過小弟的問題不在於讀檔及分割... 小弟的問題在於最後用 TList 來處理...sort 以及 交叉比對....各個 link 會非常慢......不知道有何 algorithm 或是程式方法可以解決....再次感謝您的回答...^_^
系統時間:2024-05-12 20:42:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!