加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi 文件操作

发布时间:2020-12-15 10:00:40 所属栏目:大数据 来源:网络整理
导读:先上个例子 procedure TForm1.Button1Click(Sender: TObject); //写文件 var wText: TextFile; begin AssignFile(wText,'ip.txt'); Rewrite(wText); //创建文件,或者使用ReSet打开文件 Writeln(wText,richedit1.text); CloseFile(wText); end ; procedure T

先上个例子

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

var wText: TextFile;
begin
AssignFile(wText,'ip.txt');
Rewrite(wText);//创建文件,或者使用ReSet打开文件
Writeln(wText,richedit1.text);
CloseFile(wText);
end ;

procedure TForm1.Button2Click(Sender: TObject); //读文件
var rText: TextFile;
tmp:String;
begin
richedit2.Clear;//清除原来的内容
AssignFile(rText,'ip.txt');
reset(rText);
whilenot EOF(rText) do
begin
readln(rText,tmp);
richedit2.Lines.Add(tmp);
end ;
closefile(rText);
end ;


文件的打开与关闭 AssignFile : 把一个外部文件名和一个文件变量相关联 Reset :打开一个存在的文件 Rewrite :创建并打开一个新文件(或覆盖原有文件) Append : 以添加方式打开一个文件(只适用于文本文件) CloseFile : 关闭一个打开的文件 FileOpen :打开一个特定的文件并返回文件句柄 FileCreate :创建一个给定文件名的文件并返回文件句柄 FileClose : 关闭一个特定句柄的文件 后边三个文件主要供系统内部使用,在文件复制的编程中也往往会用到。它们操作的对象是文件句柄而不是文件变量。 6.1.4.2 文件定位 Seek : 把文件当前位置移到指定部分 FilePos : 返回文件的当前位置 Eoln : 返回行结束标志 EOF : 返回文件结束标志 FileSeek : 改变当前文件指针的位置 Seek 与FileSeek的区别是:1. Seek仅用于记录文件;2. FileSeek的参数是文件句柄、偏移量、起始位置。其中起始位置有文件首、当前位置、文件尾三种选择。Seek的参数是文件变量、偏移量,偏移量是从文件首开始定位的。3. FileSeek的偏移量以字节数来计算,而 Seek是根据记录号进行移动。 Seek、FilePos仅用于记录文件。但任何文件都可以看作是基于字节的记录文件。下面一段程序表示了它们的用法。 { 该例子的设计界面为一个包含TOpenDialog部件的窗体。} uses Dialogs; var f: file of Byte; size: Longint; S: String; y: Integer; begin if OpenDialog1.Execute then begin AssignFile(f,OpenDialog1.FileName); Reset(f); size := FileSize(f); S := 'File size in bytes: ' + IntToStr(size); y := 10; Canvas.TextOut(5,y,S); y := y + Canvas.TextHeight(S) + 5; S := 'Seeking halfway into file...'; Canvas.TextOut(5,S); y := y + Canvas.TextHeight(S) + 5; Seek(f,size div 2); S := 'Position is now ' + IntToStr(FilePos(f)); Canvas.TextOut(5,S); CloseFile(f); end; end. 6.1.4.3 文件删除与截断 Erase : 删除一个存在的文件 DeleteFile : 删除一个文件 Truncate : 从文件当前位置将文件截断 Erase与DeleteFile的区别是:Erase以文件变量为参数,当文件不能删除时引起一个异常;DeleteFile以文件名为参数,当文件不存在或不能删除时返回False,而并不引起一个异常。 6.1.4.4 文件名操作 Rename :文件更名,以文件变量为操作对象 RenameFile :文件更名,参数为文件的原名和新名 ChangeFileExt :改变文件扩展名 ExpandFileName :返回文件全路径名 ExtractFileExt :返回文件扩展名 ExtractFileName :从全路径名中返回文件名 ExtractFilePath :返回特定文件的路径 6.1.4.5 文件属性 FileGetAttr :返回文件属性 FileSetAttr :设置文件属性 6.1.4.6 文件状态 FileSize :返回文件对象大小 IOResult :返回上一次I/O操作的状态 FileExists :检测文件是否存在 6.1.4.7 文件日期 DateTimeToFileDate :把Delphi日期格式转换为DOS日期格式 FileDateToDateTime :把DOS日期格式转换为Delphi日期格式 FileGetDate :返回文件的DOS日期时间戳 FileSetDate :设置文件的DOS日期时间戳 6.1.4.8 文件读写 Read,Readln :从文本或记录文件中读取变量 Write :将指定变量写入文本或记录文件 Writeln :将指定变量写入文本文件并写入一个行结束标志 FileRead :从一个指定文件中读取变量 FileWrite :向指定文件写入数据 FileRead和FileWrite都是以文件句柄为操作对象,主要供系统内部使用。 6.1.4.9 目录操作 MkDir :创建当前目录的子目录 ChDir :改变当前目录 GetDir :返回特定磁盘的当前目录 RmDir :删除一个空子目录 6.1.4.10 磁盘操作 DiskFree :返回磁盘自由空间 DiskSize :返回特定磁盘的大小 6.1.4.11 文件查找 FileSearch :查找目录中是否存在某一特定文件 FindFirst :在目录中查找与给定文件名(可以包含匹配符)及属性集相匹配 的第一个文件 FindNext :返回符合条件的下一个文件 FindClose :中止一个FindFirst / FindNext序列 有关文件管理标准过程/函数的更详细资料,请查阅Delphi相关的Help主题。以上的大部分过程在后面都有应用实例,读者可以从中体会其用法。 在Delphi的联机帮助Help系统中把有关文件的过程/函数分为两个主题:I/O Routine 和File _Management Routine。前者大部分以文件变量为操作对象,而后者大部分以文件名或文件句柄为操作对象。这里为了方便读者的使用,我们按功能重新进行了分类。在下一节中主要应用I/O Routine主题下的过程,而在第四节的综合举例中主要应用File_Management Routine主题下的过程。 另外,Windows提供了许多有关文件管理的API函数。虽然在一般情况下,利用 Delphi提供的函数已足够解决问题,但有时候仍然需要使用Windows API。在(6.4.4.2)中我们就用到了Windows API函数GetDriveType。有关Windows API函数的情况,请读者参阅相关的资料,这里不再进行介绍

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读