Delphi7文件操作常用函数一
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文件操作常用函数一相关推荐
- 【推荐】有趣儿的PHP文件操作常用函数总结
有趣儿的PHP文件操作常用函数总结 以下是个人总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来. 一 .解析路径: 1 获得文件名: basename(); 给出一个包含有指向一个文 ...
- c语言文件操作常用函数及读写文件代码举列
文件操作常用函数 fopen() 打开流 fclose() 关闭流 fputc() 写一个字符到流中 fgetc() 从流中读一个字符 fseek() 在流中定位到指定的字符 fputs() 写字符串 ...
- PHP文件操作常用函数总结
一 .解析路径: 1 获得文件名: basename(); 给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名.如果文件名是以 suffix 结束的,那这一部分也会被去掉. eg: $ ...
- python常用函数的用法_python3 文件操作常用函数用法示例
1. file.close() 关闭文件.关闭后文件不能再进行读写操作,需要重新打开才能进行读写.f = open('demo.text' , 'r') # 使用只读方式打开文本 print(f.re ...
- C语言字符串、文件操作常用操作函数,
C语言字符串常用操作函数 C语言字符串.文件操作常用操作函数 字符串输出 - puts() 字符串输入 - gets() 字符串比较 - strcmp() 字符串复制 - strcpy() 字符串连接 ...
- day3 集合、文件操作、函数、局部变量
文章目录 1.集合 2.文件操作 3.函数 4.局部变量 1.集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 1)去重,把一个列表变成集合,就自动去重了 2)关系测试,测试两 ...
- C++文件操作API函数介绍
转自 http://www.studentblog.net/m/tonycat/archives/2006/26364.html 文件的基本概念 所谓"文件"是指一组相关数据的有序 ...
- Python开发【第三篇】:文件操作与函数
内容概要 文件操作 初始函数 函数定义与调用 函数的返回值 函数的参数 函数进阶 函数参数--动态传参 名称空间 作用域 函数的嵌套 函数名的运用 gloabal,nonlocal 关键字 1.文件操 ...
- C语言文件读写常用函数总结
C语言文件读写常用函数总结 有点小头疼这几天复习,可是总是有些小可爱问有关C语言文件方面的内容,在此写篇博文一劳永逸. 目录 C语言文件读写常用函数总结 fopen函数 fclose函数 fseek函 ...
最新文章
- 程序员必须掌握的核心算法有哪些?
- Windows服务的安装,启动,停止和卸载
- php 微信 返回,php版微信返回用户text输入的方法
- 编程语言中的Lambda 函数是如何产生的 它究竟有什么用
- php 冒泡置顶,浅谈php冒泡的排序
- Java洛谷P1149 火柴棒等式
- Android中使用AlertDialog实现几种不同的对话框
- python 04 基础
- 93号涨0.86元售6.2元/升 20日油价正式上调
- ASP.Net Jquery 随机验证码 文本框判断
- linux lvs 存储层,LVS集群配置之LVS介绍
- 十四、View Port 2.0
- 大数模拟——K - Large Division LightOJ - 1214
- JavaScript操作Cookies
- html内容写入txt文件内容,写入内容到文件里面 - FileWriter《 HTML5:文件系统 》
- 风之大陆互通服务器账号,风之大陆有几个服务器?服务器互通吗?
- 计算机丢失msvcrt.dll,msvcrt.dll修复工具
- 初级学电脑计算机的入门知识,电脑基础知识入门学习(小白学好电脑从哪里开始)...
- SQLite3安装与使用(linux)
- 明源售楼系统技术解析(三)付款定义新增、修改、删除
热门文章
- Windows Terminal 使用管理员身份创建标签页
- java找不到主类_Java找不到主类引发的探究
- Linux终端定时任务重启,Linux设置定时重启系统的方法:定时任务crontab 和 编写脚本...
- 办公本推荐计算机专业,适合设计师的轻薄办公笔记本电脑,我只推荐这几款
- 使用js将html导出到word(包含样式及图片)
- 【KingSCADA】如何创建新应用
- oracle alter增加索引,sql – Oracle alter index允许索引空值
- ssm+JSP计算机毕业设计在线课程网站72s13【源码、程序、数据库、部署】
- 如何用origin添加水平的横线
- Mapbox GL JS实现移动端H5实时多边形(涂鸦)绘制