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

如何載入文本檔案到delphi中

尚未結案
jl
一般會員


發表:17
回覆:34
積分:10
註冊:2004-02-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-20 19:32:49 IP:202.175.xxx.xxx 未訂閱
To 各位大大: 首先感謝各位回覆的朋友,我有兩個問題: 1.如何載入文本檔案到delphi中? 2.在那裡可找到有關文本檔案格式的簡介呢(中文描述)? jl 平常心活著
------
平常心活著
geniustom
版主


發表:100
回覆:303
積分:260
註冊:2003-01-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-21 01:19:18 IP:219.68.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-21 01:30:56 IP:203.204.xxx.xxx 未訂閱
引言: 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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-21 11:39:16 IP:219.68.xxx.xxx 未訂閱
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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-09 06:56:11 IP:202.175.xxx.xxx 未訂閱
謝謝各位大大的回覆,問題已順利解決 平常心活著
------
平常心活著
系統時間:2024-04-24 7:02:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!