1. AssignFile、Erase

AssignFile

procedure AssignFile(var F; FileName: string);:给文件变量连接一个外部文件名。这里需要注意的是AssignFile不能用在已打开的文件上。

procedure TForm1.Button1Click(Sender: TObject);
var
text : String;
F1 : TextFile;
begin
Try
AssignFile(F1,Trim(Edit1.Text));  //变量与外部文件名关联
Append(F1);
text := Memo1.Text;
write(f1,text);
CloseFile(f1);                   //终止变量与外部文件的关联
Except
ShowMessage('写入失败');
End;
end;

Erase

procedure Erase(var F);:删除一个外部文件。

AssignFile(MyFile,'d:\dd.txt');
Erase(MyFile);  //必须关闭一个文件后才可以删除它

2.ChDir

procedure ChDir(const S: string); overload;

procedure ChDir(P: PChar); overload;

将当前目录修改为指定目录。其中S、P表示指定修改的目录。

3.CloseFile

procedure CloseFile(var F);:终止一个文件变量与一个外部磁盘文件的关联。其中,F表示指定关闭的文件变量。

4. CreateDir

function CreateDir(const Dir: string): Boolean;:创建一个新的目录。如果返回值为true,则表示目录创建成功;否则返回失败。

procedure TForm1.Button1Click(Sender: TObject);
begin
if not DirectoryExists('c:\temp') then  //判断目录是否存在
if not CreateDir('C:\temp') then      //判断目录是否可以新创建
raise Exception.Create('Cannot create c:\temp');
end;

5. DeleteFile、FileClose、FileCreate、FileExists、FileGetAttr、FileOpen、FileSearch

DeleteFile

function DeleteFile(const FileName: string): Boolean;:从磁盘中删除一个指定的文件。如果返回true,则表示文件删除成功;否则删除失败。

FileClose

procedure FileClose(Handle: Integer);:用来关闭一个指定的文件。

FileCreate

function FileCreate(const FileName: string): Integer; overload;

function FileCreate(const FileName: string; Rights: Integer): Integer; overload;

用于创建一个文件。其中第二个函数中的Rights用于设置文件许可,主要用于Linux系统。如果返回值为-1,则表示文件创建失败;否则表示文件创建成功。该返回值作为FileClose的参数。

FileExists

function FileExists(const FileName: string): Boolean;:测试指定的文件是否存在。如果存在,则返回true;否则返回false。

FileGetAttr

function FileGetAttr(const FileName: string): Integer;:返回文件的属性。如果返回值为1,则文件是只读的(faReadOnly);如果为2,则文件是隐藏文件(faHidden);

FileOpen

function FileOpen(const FileName: string; Mode: LongWord): Integer;:用指定的访问方式打开一个指定的文件。其中Mode为文件访问方式(只读(mOpenRead)、只写(fmOpenWrite)、读写(fmOpenReadWrite))。如执行成功,则返回值大于等于0;否则返回值为-1。

procedure OpenForShare(const FileName: String);
var
FileHandle : Integer;
begin
FileHandle := FileOpen(FileName, fmOpenWrite or fmShareDenyNone);
if FileHandle > 0 then
{valid file handle}
else
{Open error: FileHandle = negative DOS error code}
end;

FileSearch

function FileSearch(const Name, DirList: string): string;:在指定路径中搜索指定的文件。其中DirList用于输入文件所在路径,如有多个路径,中间需要用;。如未找到文件,则返回空值;否则返回的是文件名称。

procedure TForm1.btn_SearchFileClick(Sender: TObject);
var
FileToFind : string;
begin
FileToFind := FileSearch(edit_FileName.Text,GetCurrentDir);
if FileToFind = '' then
ShowMessage('不能找到文件')
else
ShowMessage('找到文件:'+FileToFind);
end; 

6. DirectoryExists

function DirectoryExists(const Directory: string): Boolean;:判断指定的目录是否存在。如果目录存在,则返回true;否则返回false。其中Directory如果是绝对路径,则在该绝对路径下查找,否则则在当前项目路径下查找。

7.FileRead、FileSeek、FileWrite

FileRead

function FileRead(Handle: Integer; var Buffer; Count: Integer): Integer;:从指定文件(当前文件指针)中读取相应字节的数据,同时调整文件指针位置。其中,buffer用于保存从文件中读取的数据;count表示读取的字节数。返回实际读取的字节数。

FileSeek

function FileSeek(Handle, Offset, Origin: Integer): Integer; overload;
function FileSeek(Handle: Integer; const Offset: Int64; Origin: Integer): Int64; overload;

能够重新定位文件读写指针。其中Origin表示源点(0表示指针在文件的开始;1表示指针在当前文件的位置;2表示指针在文件的末尾);handle为FileOpen或FileCreate返回的值;Offset表示位移量。如果FileSeek执行成功,则返回新的文件指针;否则返回-1。

procedure TForm1.btn_ReadClick(Sender: TObject);
var
fend : integer;
fOpen : THandle;
buffer : PChar;
count : integer;
i: integer;
begin
{文件读取分为:1.已指定方式打开文件;2.利用fileSeek获取字符长度;3.重新定位文件指针,使其从头开始;
4.为buffer分配内存空间;5.读取文件内存,返回长度;6.关闭文件;}
fOpen := FileOpen('F:\test.txt',fmOpenReadWrite);   //以读写的方式打开文件test.txt
if fOpen<> -1 then
begin
fend := FileSeek(fOpen,0,2);   //将文件指针移动到末尾,为了方便创建数组
FileSeek(fOpen,0,0);       //将文件指针重新指定到文件开头,为读写文件作准备
buffer := PChar(AllocMem(fend+1));     //为buffer分配内存空间
count := FileRead(fOpen,buffer^,fend);  //读取文件内容,返回字符数
FileClose(fOpen);        //关闭文件
for i:=0 to count-1 do    //遍历内存,取出内容
begin
ShowMessage(buffer[i]);
end;
end
else
ShowMessage('文件不存在!');
end;

FileWirte

function FileWrite(Handle: Integer; const Buffer; Count: Integer): Integer;:将缓存区中的内容写入到文件中。其中buffer用于写入文件的数据;count指定写入数据的长度。

{写入文件}
procedure TForm1.btn_WriteClick(Sender: TObject);
var
fOpen : THandle;
result : integer;
buffer : PChar;
begin
fOpen := FileOpen('F:/test.txt',fmOpenReadWrite);
if fOpen <> -1 then
begin
FileSeek(fOpen,0,2);
buffer := PChar(edit_FileName.Text);  //将编辑框中的内容放到buffer缓冲区中
result := FileWrite(fOpen,buffer^,StrLen(buffer));
if result <> -1 then
ShowMessage('写入成功!')
else
ShowMessage('写入失败');
end
else
ShowMessage('未找到文件');
FileClose(fOpen);
end;

8.FindClose、FindFirst、FindNext

FindClose

procedure FindClose(var F: TSearchRec);:终止一个查找过程,并释放查找文件所分配的空间。其中F为TSearchRec类型的结构,记录文件搜索时的一些信息。而FindClose中的参数值来源于FindFirst或FindNext函数。

FindFirst

function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer;:在指定目录中搜索第一个指定属性的文件。其中Attr(faReadOnly、faHidden、faSysFile、faVolumeID、faDirectory(23)、faArchive、faAnyFile)

FindNext

function FindNext(var F: TSearchRec): Integer;:继续查找指定的文件。其中F为FindFirst查找文件或得到的信息。如结果返回为0,则说明函数执行成功;否则执行失败。

{查找指定目录的文件}
procedure TForm1.btn_SearchClick(Sender: TObject);
begin
FindFile(Trim(edit_FileName.Text));
end;
{自定义文件查找方法}
procedure TForm1.FindFile(filename: string);
var
path : string;
begin
if FindFirst(filename + '*.*',faAnyFile,search)=0 then  //
begin
if (search.Name<>'.') and (search.Name<>'..') then    //判断路径下是否还包含子路径
memo_showfile.Lines.Add(search.Name);
while FindNext(search) = 0 do
begin
path := filename + '\'+search.Name+'\';
if(search.Name<>'.') and(search.Name<>'..') then
memo_showfile.Lines.Add(search.Name);
if (search.Attr = faDirectory) and (search.Name<>'.') and (search.Name<>'..') then
FindFile(path);    //如果search.Name为目录,则重新执行FindFile函数
end;
Caption := IntToStr(memo_showfile.Lines.Count);  //显示记录条数
end;
end;
{停止查找}
procedure TForm1.btn_StopSearchClick(Sender: TObject);
begin
FindClose(search);
end;

对于FindFirst、FindNext来说,F.Attr=32表示文件;F.Attr = 16表示目录。

Delphi7文件操作常用函数一相关推荐

  1. 【推荐】有趣儿的PHP文件操作常用函数总结

    有趣儿的PHP文件操作常用函数总结 以下是个人总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来. 一 .解析路径: 1 获得文件名: basename(); 给出一个包含有指向一个文 ...

  2. c语言文件操作常用函数及读写文件代码举列

    文件操作常用函数 fopen() 打开流 fclose() 关闭流 fputc() 写一个字符到流中 fgetc() 从流中读一个字符 fseek() 在流中定位到指定的字符 fputs() 写字符串 ...

  3. PHP文件操作常用函数总结

    一 .解析路径: 1 获得文件名: basename(); 给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名.如果文件名是以 suffix 结束的,那这一部分也会被去掉. eg: $ ...

  4. python常用函数的用法_python3 文件操作常用函数用法示例

    1. file.close() 关闭文件.关闭后文件不能再进行读写操作,需要重新打开才能进行读写.f = open('demo.text' , 'r') # 使用只读方式打开文本 print(f.re ...

  5. C语言字符串、文件操作常用操作函数,

    C语言字符串常用操作函数 C语言字符串.文件操作常用操作函数 字符串输出 - puts() 字符串输入 - gets() 字符串比较 - strcmp() 字符串复制 - strcpy() 字符串连接 ...

  6. day3 集合、文件操作、函数、局部变量

    文章目录 1.集合 2.文件操作 3.函数 4.局部变量 1.集合   集合是一个无序的,不重复的数据组合,它的主要作用如下:   1)去重,把一个列表变成集合,就自动去重了   2)关系测试,测试两 ...

  7. C++文件操作API函数介绍

    转自 http://www.studentblog.net/m/tonycat/archives/2006/26364.html 文件的基本概念 所谓"文件"是指一组相关数据的有序 ...

  8. Python开发【第三篇】:文件操作与函数

    内容概要 文件操作 初始函数 函数定义与调用 函数的返回值 函数的参数 函数进阶 函数参数--动态传参 名称空间 作用域 函数的嵌套 函数名的运用 gloabal,nonlocal 关键字 1.文件操 ...

  9. C语言文件读写常用函数总结

    C语言文件读写常用函数总结 有点小头疼这几天复习,可是总是有些小可爱问有关C语言文件方面的内容,在此写篇博文一劳永逸. 目录 C语言文件读写常用函数总结 fopen函数 fclose函数 fseek函 ...

最新文章

  1. 程序员必须掌握的核心算法有哪些?
  2. Windows服务的安装,启动,停止和卸载
  3. php 微信 返回,php版微信返回用户text输入的方法
  4. 编程语言中的Lambda 函数是如何产生的 它究竟有什么用
  5. php 冒泡置顶,浅谈php冒泡的排序
  6. Java洛谷P1149 火柴棒等式
  7. Android中使用AlertDialog实现几种不同的对话框
  8. python 04 基础
  9. 93号涨0.86元售6.2元/升 20日油价正式上调
  10. ASP.Net Jquery 随机验证码 文本框判断
  11. linux lvs 存储层,LVS集群配置之LVS介绍
  12. 十四、View Port 2.0
  13. 大数模拟——K - Large Division LightOJ - 1214
  14. JavaScript操作Cookies
  15. html内容写入txt文件内容,写入内容到文件里面 - FileWriter《 HTML5:文件系统 》
  16. 风之大陆互通服务器账号,风之大陆有几个服务器?服务器互通吗?
  17. 计算机丢失msvcrt.dll,msvcrt.dll修复工具
  18. 初级学电脑计算机的入门知识,电脑基础知识入门学习(小白学好电脑从哪里开始)...
  19. SQLite3安装与使用(linux)
  20. 明源售楼系统技术解析(三)付款定义新增、修改、删除

热门文章

  1. Windows Terminal 使用管理员身份创建标签页
  2. java找不到主类_Java找不到主类引发的探究
  3. Linux终端定时任务重启,Linux设置定时重启系统的方法:定时任务crontab 和 编写脚本...
  4. 办公本推荐计算机专业,适合设计师的轻薄办公笔记本电脑,我只推荐这几款
  5. 使用js将html导出到word(包含样式及图片)
  6. 【KingSCADA】如何创建新应用
  7. oracle alter增加索引,sql – Oracle alter index允许索引空值
  8. ssm+JSP计算机毕业设计在线课程网站72s13【源码、程序、数据库、部署】
  9. 如何用origin添加水平的横线
  10. Mapbox GL JS实现移动端H5实时多边形(涂鸦)绘制