码迷,mamicode.com
首页 > 其他好文 > 详细

Delphi中文本文件的操作

时间:2014-06-06 19:08:35      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:c   a   ext   文件   使用   数据   

相关知识内容:

    在对文本文件进行任何处理之前,首先要打开此文本文件。声明变量:通过此变量可以来引用一个文本文件。

    打开一个文件需要两步:首先是 AssignFile(),它可以将文件变量与一个文件关联起来。例如:这时,你可以进行第二步:打开文件。有三种方式打开文件:使用Rewrite()过程创建并打开文件;对于一个已存在的文件,此操作将使文件被覆盖;使用Reset()过程只读地打开一个文件;使用Append() 过程向已存在的文件追加文本。

    注意Reset()将以可读写方式打开类型文件和无类型文件。可以使用CloseFile()来关闭一个已打开的文件。

   

    下面是各种调用的函数:

   

    文件的打开与关闭:

     AssignFile:把一个外部文件名和一个文件变量相关联

     Reset:打开一个存在的文件

     Rewrite:创建并打开一个新文件(或覆盖原有文件)

     Append :以添加方式打开一个文件(只适用于文本文件)

     CloseFile:关闭一个打开的文件

     FileOpen:打开一个特定的文件并返回文件句柄

     FileCreate:创建一个给定文件名的文件并返回文件句柄

     FileClose:关闭一个特定句柄的文件

     后边三个文件主要供系统内部使用,在文件复制的编程中也往往会用到。它们操作的对象是文件句柄而不是文件变量。

   

    文件定位:

     Seek:把文件当前位置移到指定部分

     FilePos:返回文件的当前位置

     Eoln:返回行结束标志

     EOF:返回文件结束标志

     FileSeek:改变当前文件指针的位置

【注:RichEdit和Memo这两个文本操作控件属性基本差不多,

Memo1.Lines.LoadFromFile()//读出文件(,如果要打开指定文本需要OpenDialog)

memo1.Lines.SaveToFile() //修改后保存文件(保存到原路径下的原文件,如果要另存需要SaveDialog)

示例代码:

一, 逐行读取

procedure TForm1.Button1Click(Sender: TObject);

var

    myfile:Textfile;

    s:String;

begin

AssignFile(myfile,‘f:\a.txt‘);

Reset(myfile);

while not eof(myfile) do

begin

    Readln(myfile,s);

    Memo1.Lines.Add(s);

end;

CloseFile(myfile);

end;

二, 一次性读取,控件自带属性

procedure TForm1.Button2Click(Sender: TObject);

begin

Memo1.Lines.LoadFromFile(ExtractFilePath(Application.ExeName)+‘a.txt‘); //打开并读出程序目录下的‘a.txt‘文本文件

end;

三,写文件

procedure TForm1.Button3Click(Sender: TObject);   //写文件

var

stxt:TextFile;

begin

AssignFile(stxt,‘my.txt‘);

Rewrite(stxt);   //创建并打开文件;若文件已存在,此操作将使文件内容清空,使用ReSet只能打开,若指定的文件不存在时会产生一个错误

Writeln(stxt, ‘I love you!‘); //此处为写入一行数据,当然也可以写成 Writeln(stxt, Memo1.Text); 即一次性写入Memo1中的所有内容

CloseFile(stxt);

Delphi中文本文件的操作,布布扣,bubuko.com

Delphi中文本文件的操作

标签:c   a   ext   文件   使用   数据   

原文地址:http://www.cnblogs.com/convert/p/3766215.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!