如何載入文本檔案到delphi中 |
尚未結案
|
jl
一般會員 ![]() ![]() 發表:17 回覆:34 積分:10 註冊:2004-02-28 發送簡訊給我 |
|
geniustom
版主 ![]() ![]() ![]() ![]() ![]() 發表:100 回覆:303 積分:260 註冊:2003-01-03 發送簡訊給我 |
jl您好...請問您指的文本檔案..是指TXT文字檔嗎??
如果是..我有以下的範例..供參考
http://delphi.ktop.com.tw/loadfile.php?TOPICID=15230593&CC=340627
其中請參考以下...(我多加了一些東西)
var inputfile:textfile; //宣告輸入檔 input:TStringList; //讀取輸入檔字串及分解字串 begin assignfile(inputfile,'input.txt'); reset(inputfile); input:= TStringList.Create; readln(inputfile,a); //先讀取m,n,o 求(m欄n列)*(o欄m列) =(o欄n列) input.DelimitedText:=a; //DelimitedText是包含分隔字元的整行 input.Delimiter:=','; //這是設定分隔字元..以逗點分隔每列的各個元素 //Delimiter設定之後.就可以把DelimitedText拆解成許多的STRING m:=strtoint(input.Strings[0]); //拆解後的第一組字串 n:=strtoint(input.Strings[1]); //拆解後的第2組字串 o:=strtoint(input.Strings[2]); //拆解後的第3組字串 CloseFile(inputfile); //關閉文字檔 //----------------------------以上為讀取------------------------------------------- assignfile(inputfile,'input.txt'); rewrite(inputfile); //設定為寫入用 writeln(inputfile,'test'); //這是寫入一行到文字檔中 write(inputfile,'test'); //只寫入文字..不換行 CloseFile(inputfile); //關閉文字檔 //----------------------------以上為寫入------------------------------------------- end;GOOD LUCK |
Chance36
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
引言: 1.如何載入文本檔案到delphi中? 2.在那裡可找到有關文本檔案格式的簡介呢(中文描述)?jl 你好 1.方法有好多種,你可以用低階的檔案操件函式(有點煩)或用StringList來操作(一般我都用這個) 用檔案操作函式來處理文字檔:操作的過程比較繁瑣,要記住Handle、目前指標,配置緩衝空間等等;不管檔案多大讀取資料時使用的記憶體都差不多,但讀出來的資料若沒適時的寫回磁碟,它還是一樣的佔用記憶體。 用StringList來操作:相對的操作就簡單多了,對於記憶體的使用,一樣讀出來後就放在記憶體中,檔案多大記憶體就要多大,不過現在的電腦記憶體至少都128m以上,除非你的文字檔超過幾10M以上。 以下簡單範例,展示StringList的操作 Var Sl : TStringList; Lines, i : Integer ; Begin Sl := TStringLIst.Create; Sl.LoadFromFile('C:\Text.txt'); // 從文字檔讀到StringList Memo1.Lines.LoadFromFile('C:\Text.txt'); // 你也可以用Memo1.Lines來處理 // 以下的SL.xxx都可以改成Memo1.Lines.xxx Lines := Sl.Count: i := 10 ; ShowMessage(Sl[i]); // 秀出第11列的文字 SL.Insert(i,'xxxxxxxxxxxxxx'); // 在第11列插入一列文字,原第11列變為第12列 SL.Add('xxxxxxxxxxxxxx'); // 最後加入一列文字 Sl.SaveToFile('C:\Text.txt'); // 儲存文字檔 End;2.文本檔案格式:就是所謂的文字檔,顧名思義,只有文字內容的檔案謂之文字檔,另外就是代表文字分行的符號(CR歸位chr(13)$0D,LF換行chr(10)$0A)及檔案結束的符號(EOF) ,整個文字檔格式如下所示: xxxxxxxx$0D$0Axxxxxxxxxx$0D$0Axxxxxxxxxxxxx$0D$0Axxxxxxxxxx.......EOF 其中xxxxxxx部份代表任意個數的可視字元,包含英文、數字、特殊符號、及中文 $0D$0A 代表換行顯示, 以上這兩部份一直重複循環到最後以EOF結束。 發表人 - chance36 於 2004/04/21 01:35:25 |
geniustom
版主 ![]() ![]() ![]() ![]() ![]() 發表:100 回覆:303 積分:260 註冊:2003-01-03 發送簡訊給我 |
jl您好..關於第二點..請參考以下的聯結..< >
相信它能夠對您的功力提升很有幫助的< >
http://www.cthing.idv.tw/delphi/uses/basic/index.html
其中..
http://www.cthing.idv.tw/delphi/uses/basic/016.htm
教您如何做一些文件檔的基本操作.. http://www.cthing.idv.tw/delphi/uses/basic/017.htm
教您如何使用進階的檔案使用技巧..以及說明其他相關的物件 GOOD LUCK
|
jl
一般會員 ![]() ![]() 發表:17 回覆:34 積分:10 註冊:2004-02-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |