delphi編程:用流來讀取txt文件中的數(shù)據(jù)

delphi編程:用流來讀取txt文件中的數(shù)據(jù)

ID:9777597

大?。?1.00 KB

頁數(shù):5頁

時間:2018-05-08

delphi編程:用流來讀取txt文件中的數(shù)據(jù)_第1頁
delphi編程:用流來讀取txt文件中的數(shù)據(jù)_第2頁
delphi編程:用流來讀取txt文件中的數(shù)據(jù)_第3頁
delphi編程:用流來讀取txt文件中的數(shù)據(jù)_第4頁
delphi編程:用流來讀取txt文件中的數(shù)據(jù)_第5頁
資源描述:

《delphi編程:用流來讀取txt文件中的數(shù)據(jù)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、Delphi編程:用流來讀取TXT文件中的數(shù)據(jù)http://www.enet.com.cn/esoftware/??2007年09月12日15:27??來源:eNet硅谷動力??作者:xqi??字號:小

2、大【文章摘要】TXT文本文件是一種以ACSII嗎存儲數(shù)據(jù)的文件。在TXT文件中只能夠存儲一些字符數(shù)據(jù),所以這種文件的移植性和通用性很強,具有較高的易用性,并且被廣泛應(yīng)用,所以Delphi對該類型文件提供了較好的支持。目前在Internet上最為流行的XML文件也是一種文本文件?!  緀Net硅谷動力專稿】TXT文本文件是一種以ACSII嗎存儲

3、數(shù)據(jù)的文件。在TXT文件中只能夠存儲一些字符數(shù)據(jù),所以這種文件的移植性和通用性很強,具有較高的易用性,并且被廣泛應(yīng)用,所以Delphi對該類型文件提供了較好的支持。目前在Internet上最為流行的XML文件也是一種文本文件。TXT文本文件的操作非常簡單,具體操作過程如下:  1.首先要聲明一個TextFile類型的的文件指針。如:varMyFile:TEXTFile?! ?.然后使用AssignFile方法將聲明的文件指針與外部TXT文件相關(guān)聯(lián)。AssignFile(FileName);FileName既可以是全路徑名,也可以僅是文件名。對

4、于后者系統(tǒng)將在當(dāng)前目錄下查找?! ?.初始化讀寫有三種方式:Reset為讀打開文件并把文件指針移動到文件首;Rewrite為寫創(chuàng)建一個新文件;Append為寫打開存在的文件并把文件指針定位在文件尾?! ?.讀取或?qū)懭胛谋?。Readln方法能夠讀取一行文本,writeln方法能向文件寫入一行文本。  5.最后用Closefile方法關(guān)閉已打開的文件。  在這里我們要介紹的就是如何用流來讀取TXT文件中的數(shù)據(jù),并且在指定顯示區(qū)域顯示出來。首先讓我們通過一個簡單范例來了解ReadBuffer方法,讓我們來讀取指定TXT文件的前10個字符?! ro

5、cedureTForm1.Button1Click(Sender:TObject);  var  MyFile:TMemoryStream;  Filebuf:array[1..10]ofchar;//這里聲明的是靜態(tài)數(shù)組  a:string;  Begin  Ifopendialog1.Executethen  begin  MyFile:=TMemoryStream.Create;//創(chuàng)建流  MyFile.LoadFromFile(opendialog1.FileName);  MyFile.ReadBuffer(Filebuf,10)

6、;//讀取TXT文件前10個字符  a:=strpas(Filebuf)//將數(shù)組轉(zhuǎn)化成為字符串  Form1.canvas.Textout(0,0,a);//在顯示區(qū)域上顯示字符串  FreeAndNil(MyFile);//釋放流  end;  end;  以上范例在窗體Form1上顯示的字符串就是打開TXT文本的前10個字符,但是如何得到文本的所有數(shù)據(jù)呢?這里就需要用到動態(tài)數(shù)組。動態(tài)數(shù)組在流中的應(yīng)用是個難點,因為Delphi中的靜態(tài)數(shù)組是在運行前就已經(jīng)將內(nèi)存空間分配好,所以它的變量地址就是數(shù)組的第一維地址,即沒有描述部份,故它的size

7、of為1個字節(jié),而動態(tài)數(shù)組是在運行期間動態(tài)分配一個內(nèi)存塊,所以它的變量地址部分需要一個描述部分,故它的sizeof為四個字節(jié),用于存放描述表,所以在用Readbuffer方法時,需要采用數(shù)組的第一維地址為起始地址,才不會導(dǎo)致內(nèi)存溢出。下面這個范例就是用流來讀取TXT文件中的全部數(shù)據(jù)。  procedureTForm1.Button1Click(Sender:TObject);  var  MyFile:TMemoryStream;  Filebuf:arrayofpchar;//這里聲明的是動態(tài)數(shù)組  iLen:Int64;  Begin  

8、Ifopendialog1.Executethen  begin  iLen:=0;  MyFile:=TMemoryStream.Create;  MyFile.LoadFromFile(opendialog1.FileName);  iLen:=MyFile.Size;//獲得指定TXT文件的大小  SetLength(FileBuf,iLen);//設(shè)置動態(tài)數(shù)組的長度為TXT文件的大小  MyFile.ReadBuffer(FileBuf[0],iLen);//讀取TXT文件全部數(shù)據(jù)  Form1.canvas.Textout(0,0,

9、string(FileBuf));//在顯示區(qū)域上顯示字符串;  FreeAndNil(MyFile);  end;  end;  以上的范例可在窗體Form1上顯

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。