成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Delphi編程讀取txt文件數據

開發 開發工具
TXT文本文件是一種以ACSII嗎存儲數據的文件。在TXT文件中只能夠存儲一些字符數據,所以這種文件的移植性和通用性很強,具有較高的易用性,并且被廣泛應用,所以Delphi對該類型文件提供了較好的支持。本文介紹了Delphi編程讀取txt文件數據的方法。

  Delphi編程讀取txt文件數據,具體操作過程如下:

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

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

  3.初始化讀寫有三種方式: Reset為讀打開文件并把文件指針移動到文件首;Rewrite為寫創建一個新文件;Append為寫打開存在的文件并把文件指針定位在文件尾。

  4.讀取或寫入文本。Readln方法能夠讀取一行文本,writeln方法能向文件寫入一行文本。

  5.***用Closefile方法關閉已打開的文件。

  在這里我們要介紹的就是如何用流來讀取TXT文件中的數據,并且在指定顯示區域顯示出來。首先讓我們通過一個簡單范例來了解ReadBuffer方法,讓我們來讀取指定TXT文件的前10個字符。

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

  以上范例在窗體Form1上顯示的字符串就是打開TXT文本的前10個字符,但是如何得到文本的所有數據呢?這里就需要用到動態數組。動態數組在流中的應用是個難點,因為Delphi中的靜態數組是在運行前就已經將內存空間分配好,所以它的變量地址就是數組的***維地址,即沒有描述部份,故它的sizeof為1個字節,而動態數組是在運行期間動態分配一個內存塊,所以它的變量地址部分需要一個描述部分,故它的sizeof為四個字節,用于存放描述表,所以在用 Readbuffer方法時,需要采用數組的***維地址為起始地址,才不會導致內存溢出。下面這個范例就是用流來讀取TXT文件中的全部數據。

  1. procedure TForm1.Button1Click(Sender: TObject);    
  2.    var    
  3.    MyFile:TMemoryStream;    
  4.    Filebuf: array of pchar; //這里聲明的是動態數組    
  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);//設置動態數組的長度為TXT文件的大小    
  14.    MyFile.ReadBuffer(FileBuf[0],iLen);//讀取TXT文件全部數據    
  15.    Form1.canvas.Textout(0,0,string(FileBuf)); //在顯示區域上顯示字符串;    
  16.    FreeAndNil(MyFile);    
  17.    end;    
  18.   end;      

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

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

  而origin是計算方式 ,下面三個就是origin的值,soFromBeginning是從文件頭開始計算,soFromCurrent是從當前位置開始計算,而soFromEnd Offset是從***位置開始計算。

  下面這個范例就是從TXT文本中的指定位置取一定量的數據

  1. procedure TForm1.Button1Click(Sender: TObject);    
  2.    var    
  3.    MyFile:TMemoryStream;    
  4.    Filebuf: array of pchar; //這里聲明的是動態數組    
  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);//設置動態數組的長度;    
  14.   Myfile.Seek(1024, soFromBeginning);//從文件頭開始計算到1024個字節處    
  15.    MyFile.ReadBuffer(FileBuf[0],1024);//從seek設置的當前位置往后讀取1024字節    
  16.    Form1.canvas.Textout(0,0,string(FileBuf)); //在窗體上顯示;    
  17.    FreeAndNil(MyFile);    
  18.    end;    
  19.   end;  

  Delphi編程讀取txt文件數據到這里就結束啦。

【編輯推薦】

  1. Delphi基礎開發技巧
  2. 在Delphi程序中操作注冊表
  3. 如何在Delphi中自動錄入數據
  4. 基于Delphi的屏幕抓圖技術的實現
  5. Delphi開發技術手冊
責任編輯:韓亞珊 來源: 編程愛好者
相關推薦

2009-08-13 09:32:00

C#讀取TXT文件

2009-08-12 18:29:06

C#讀取TXT文件

2011-11-08 10:01:53

TinyXML

2010-01-13 13:57:09

CentOS vsft

2021-11-11 23:16:33

前端數據格式Web

2011-04-06 15:51:32

DelphiHOOK

2010-04-16 14:39:45

Oracle數據庫

2011-10-11 17:07:12

數據庫Internet文件數據庫

2011-04-06 15:25:20

Delphi

2009-12-18 15:16:49

Ruby on Rai

2010-05-24 14:02:06

MySQL數據庫

2011-04-06 16:07:44

Delphi

2012-02-03 09:55:06

Delphi

2019-08-19 18:04:00

小米OPPOvivo

2009-12-08 12:06:03

linux當前目錄文件數

2011-04-06 16:14:40

Delphi

2009-08-11 14:32:06

C#讀取Excel數據

2010-12-06 15:06:52

2009-10-29 17:01:03

VB.NET TXT文

2009-11-04 17:03:55

ADO.NET Exc
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩成人精品在线观看 | 视频一区二区中文字幕 | 成人免费视频 | 日韩精品在线视频 | 亚洲精选一区 | 奇米四色影视 | 日本天堂视频在线观看 | 97国产精品视频人人做人人爱 | 亚洲欧美一区二区三区国产精品 | 欧美一区中文字幕 | 在线观看中文字幕dvd播放 | 日韩精品在线视频免费观看 | 久久天天躁狠狠躁夜夜躁2014 | 久久久久国产一区二区三区四区 | 国产一区二区三区在线观看免费 | 欧美视频第三页 | 伊人在线| 久久久久久久91 | 欧美午夜久久 | 国产亚洲精品综合一区 | 在线亚洲精品 | 毛片的网址 | 久久精品国产免费高清 | 国产成人精品一区二区三区四区 | 免费三级黄 | 日本不卡一区 | 精品1区| 中文字幕色站 | 国产三级一区二区三区 | 欧美一区二区三区视频 | 日日天天 | 秋霞电影院午夜伦 | 亚洲视频www | 色婷婷久久久久swag精品 | 国产精品美女www爽爽爽视频 | 91精品国产综合久久久久久漫画 | 激情欧美日韩一区二区 | 欧美精品一区二区三区在线 | 国产激情| 黄a免费看 | 久久新视频 |