delphi编程:用流来读取txt文件中的数据

delphi编程:用流来读取txt文件中的数据

ID:9777597

大小:31.00 KB

页数:5页

时间:2018-05-08

delphi编程:用流来读取txt文件中的数据_第1页
delphi编程:用流来读取txt文件中的数据_第2页
delphi编程:用流来读取txt文件中的数据_第3页
delphi编程:用流来读取txt文件中的数据_第4页
delphi编程:用流来读取txt文件中的数据_第5页
资源描述:

《delphi编程:用流来读取txt文件中的数据》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Delphi编程:用流来读取TXT文件中的数据http://www.enet.com.cn/esoftware/  2007年09月12日15:27  来源:eNet硅谷动力  作者:xqi  字号:小

2、大【文章摘要】TXT文本文件是一种以ACSII吗存储数据的文件。在TXT文件中只能够存储一些字符数据,所以这种文件的移植性和通用性很强,具有较高的易用性,并且被广泛应用,所以Delphi对该类型文件提供了较好的支持。目前在Internet上最为流行的XML文件也是一种文本文件。  【eNet硅谷动力专稿】TXT文本文件是一种以ACSII吗存储

3、数据的文件。在TXT文件中只能够存储一些字符数据,所以这种文件的移植性和通用性很强,具有较高的易用性,并且被广泛应用,所以Delphi对该类型文件提供了较好的支持。目前在Internet上最为流行的XML文件也是一种文本文件。TXT文本文件的操作非常简单,具体操作过程如下:  1.首先要声明一个TextFile类型的的文件指针。如:varMyFile:TEXTFile。  2.然后使用AssignFile方法将声明的文件指针与外部TXT文件相关联。AssignFile(FileName);FileName既可以是全路径名,也可以仅是文件名。对

4、于后者系统将在当前目录下查找。  3.初始化读写有三种方式:Reset为读打开文件并把文件指针移动到文件首;Rewrite为写创建一个新文件;Append为写打开存在的文件并把文件指针定位在文件尾。  4.读取或写入文本。Readln方法能够读取一行文本,writeln方法能向文件写入一行文本。  5.最后用Closefile方法关闭已打开的文件。  在这里我们要介绍的就是如何用流来读取TXT文件中的数据,并且在指定显示区域显示出来。首先让我们通过一个简单范例来了解ReadBuffer方法,让我们来读取指定TXT文件的前10个字符。  pro

5、cedureTForm1.Button1Click(Sender:TObject);  var  MyFile:TMemoryStream;  Filebuf:array[1..10]ofchar;//这里声明的是静态数组  a:string;  Begin  Ifopendialog1.Executethen  begin  MyFile:=TMemoryStream.Create;//创建流  MyFile.LoadFromFile(opendialog1.FileName);  MyFile.ReadBuffer(Filebuf,10)

6、;//读取TXT文件前10个字符  a:=strpas(Filebuf)//将数组转化成为字符串  Form1.canvas.Textout(0,0,a);//在显示区域上显示字符串  FreeAndNil(MyFile);//释放流  end;  end;  以上范例在窗体Form1上显示的字符串就是打开TXT文本的前10个字符,但是如何得到文本的所有数据呢?这里就需要用到动态数组。动态数组在流中的应用是个难点,因为Delphi中的静态数组是在运行前就已经将内存空间分配好,所以它的变量地址就是数组的第一维地址,即没有描述部份,故它的size

7、of为1个字节,而动态数组是在运行期间动态分配一个内存块,所以它的变量地址部分需要一个描述部分,故它的sizeof为四个字节,用于存放描述表,所以在用Readbuffer方法时,需要采用数组的第一维地址为起始地址,才不会导致内存溢出。下面这个范例就是用流来读取TXT文件中的全部数据。  procedureTForm1.Button1Click(Sender:TObject);  var  MyFile:TMemoryStream;  Filebuf:arrayofpchar;//这里声明的是动态数组  iLen:Int64;  Begin  

8、Ifopendialog1.Executethen  begin  iLen:=0;  MyFile:=TMemoryStream.Create;  MyFile.LoadFromFile(opendialog1.FileName);  iLen:=MyFile.Size;//获得指定TXT文件的大小  SetLength(FileBuf,iLen);//设置动态数组的长度为TXT文件的大小  MyFile.ReadBuffer(FileBuf[0],iLen);//读取TXT文件全部数据  Form1.canvas.Textout(0,0,

9、string(FileBuf));//在显示区域上显示字符串;  FreeAndNil(MyFile);  end;  end;  以上的范例可在窗体Form1上显

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。