• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Delphi中文本文件的操作

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

相关知识内容:

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

    打开一个文件需要两步:首先是 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);


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
DELPHI: TTreeView 中禁止双击事件展开或关闭节点.发布时间:2022-07-18
下一篇:
Delphi中Hash表实现思路发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap