日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Delphi編程讀取txt文件數(shù)據(jù)

  Delphi編程讀取txt文件數(shù)據(jù),具體操作過(guò)程如下:

創(chuàng)新互聯(lián)建站專注于江永網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供江永營(yíng)銷型網(wǎng)站建設(shè),江永網(wǎng)站制作、江永網(wǎng)頁(yè)設(shè)計(jì)、江永網(wǎng)站官網(wǎng)定制、小程序定制開(kāi)發(fā)服務(wù),打造江永網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供江永網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

  1.首先要聲明一個(gè)TextFile類型的的文件指針。如:var MyFile:TEXTFile。

  2.然后使用AssignFile方法將聲明的文件指針與外部TXT文件相關(guān)聯(lián)。AssignFile (FileName ) ;FileName 既可以是全路徑名,也可以僅是文件名。對(duì)于后者系統(tǒng)將在當(dāng)前目錄下查找。

  3.初始化讀寫(xiě)有三種方式: Reset為讀打開(kāi)文件并把文件指針移動(dòng)到文件首;Rewrite為寫(xiě)創(chuàng)建一個(gè)新文件;Append為寫(xiě)打開(kāi)存在的文件并把文件指針定位在文件尾。

  4.讀取或?qū)懭胛谋?。Readln方法能夠讀取一行文本,writeln方法能向文件寫(xiě)入一行文本。

  5.***用Closefile方法關(guān)閉已打開(kāi)的文件。

  在這里我們要介紹的就是如何用流來(lái)讀取TXT文件中的數(shù)據(jù),并且在指定顯示區(qū)域顯示出來(lái)。首先讓我們通過(guò)一個(gè)簡(jiǎn)單范例來(lái)了解ReadBuffer方法,讓我們來(lái)讀取指定TXT文件的前10個(gè)字符。

 
 
 
  1.  procedure TForm1.Button1Click(Sender: TObject);    
  2.    var    
  3.    MyFile:TMemoryStream;    
  4.    Filebuf: array[1..10] of char; //這里聲明的是靜態(tài)數(shù)組    
  5.    a:string;    
  6.   Begin    
  7.    If opendialog1.Execute then    
  8.    begin    
  9.    MyFile:=TMemoryStream.Create;//創(chuàng)建流    
  10.    MyFile.LoadFromFile(opendialog1.FileName);    
  11.    MyFile.ReadBuffer(Filebuf,10);//讀取TXT文件前10個(gè)字符    
  12.    a:= strpas(Filebuf) //將數(shù)組轉(zhuǎn)化成為字符串    
  13.    Form1.canvas.Textout(0,0,a); //在顯示區(qū)域上顯示字符串    
  14.    FreeAndNil(MyFile);//釋放流    
  15.    end;    
  16.   end;   

  以上范例在窗體Form1上顯示的字符串就是打開(kāi)TXT文本的前10個(gè)字符,但是如何得到文本的所有數(shù)據(jù)呢?這里就需要用到動(dòng)態(tài)數(shù)組。動(dòng)態(tài)數(shù)組在流中的應(yīng)用是個(gè)難點(diǎn),因?yàn)镈elphi中的靜態(tài)數(shù)組是在運(yùn)行前就已經(jīng)將內(nèi)存空間分配好,所以它的變量地址就是數(shù)組的***維地址,即沒(méi)有描述部份,故它的sizeof為1個(gè)字節(jié),而動(dòng)態(tài)數(shù)組是在運(yùn)行期間動(dòng)態(tài)分配一個(gè)內(nèi)存塊,所以它的變量地址部分需要一個(gè)描述部分,故它的sizeof為四個(gè)字節(jié),用于存放描述表,所以在用 Readbuffer方法時(shí),需要采用數(shù)組的***維地址為起始地址,才不會(huì)導(dǎo)致內(nèi)存溢出。下面這個(gè)范例就是用流來(lái)讀取TXT文件中的全部數(shù)據(jù)。

 
 
 
  1. procedure TForm1.Button1Click(Sender: TObject);    
  2.    var    
  3.    MyFile:TMemoryStream;    
  4.    Filebuf: array of pchar; //這里聲明的是動(dòng)態(tài)數(shù)組    
  5.    iLen:Int64;    
  6.   Begin    
  7.    If opendialog1.Execute then    
  8.    begin    
  9.    iLen:=0;    
  10.    MyFile:=TMemoryStream.Create;    
  11.    MyFile.LoadFromFile(opendialog1.FileName);    
  12.    iLen:=MyFile.Size;//獲得指定TXT文件的大小    
  13.    SetLength(FileBuf,iLen);//設(shè)置動(dòng)態(tài)數(shù)組的長(zhǎng)度為T(mén)XT文件的大小    
  14.    MyFile.ReadBuffer(FileBuf[0],iLen);//讀取TXT文件全部數(shù)據(jù)    
  15.    Form1.canvas.Textout(0,0,string(FileBuf)); //在顯示區(qū)域上顯示字符串;    
  16.    FreeAndNil(MyFile);    
  17.    end;    
  18.   end;      

  以上的范例可在窗體Form1上顯示指定TXT文件的全部數(shù)據(jù)。

  現(xiàn)在讓我們來(lái)研究一下如何從TXT文本中的指定位置讀取一定量的數(shù)據(jù),這里用到的函數(shù)就是seek(offset:integer,origin:word)integer; 它的參數(shù)所代表的意義: offset是偏移量;

  而origin是計(jì)算方式 ,下面三個(gè)就是origin的值,soFromBeginning是從文件頭開(kāi)始計(jì)算,soFromCurrent是從當(dāng)前位置開(kāi)始計(jì)算,而soFromEnd Offset是從***位置開(kāi)始計(jì)算。

  下面這個(gè)范例就是從TXT文本中的指定位置取一定量的數(shù)據(jù)

 
 
 
  1. procedure TForm1.Button1Click(Sender: TObject);    
  2.    var    
  3.    MyFile:TMemoryStream;    
  4.    Filebuf: array of pchar; //這里聲明的是動(dòng)態(tài)數(shù)組    
  5.    iLen:Int64;    
  6.   Begin    
  7.    If opendialog1.Execute then    
  8.    begin    
  9.    iLen:=0;    
  10.    MyFile:=TMemoryStream.Create;    
  11.    MyFile.LoadFromFile(opendialog1.FileName);    
  12.    iLen:=MyFile.Size;    
  13.   SetLength(FileBuf,1024);//設(shè)置動(dòng)態(tài)數(shù)組的長(zhǎng)度;    
  14.   Myfile.Seek(1024, soFromBeginning);//從文件頭開(kāi)始計(jì)算到1024個(gè)字節(jié)處    
  15.    MyFile.ReadBuffer(FileBuf[0],1024);//從seek設(shè)置的當(dāng)前位置往后讀取1024字節(jié)    
  16.    Form1.canvas.Textout(0,0,string(FileBuf)); //在窗體上顯示;    
  17.    FreeAndNil(MyFile);    
  18.    end;    
  19.   end;  

  Delphi編程讀取txt文件數(shù)據(jù)到這里就結(jié)束啦。

【編輯推薦】

  1. Delphi基礎(chǔ)開(kāi)發(fā)技巧
  2. 在Delphi程序中操作注冊(cè)表
  3. 如何在Delphi中自動(dòng)錄入數(shù)據(jù)
  4. 基于Delphi的屏幕抓圖技術(shù)的實(shí)現(xiàn)
  5. Delphi開(kāi)發(fā)技術(shù)手冊(cè)

網(wǎng)站名稱:Delphi編程讀取txt文件數(shù)據(jù)
當(dāng)前鏈接:http://www.dlmjj.cn/article/dpeopei.html