Delphi文本文件读写完整操作

合集下载

Delphi对INI文件进行读、写操作

Delphi对INI文件进行读、写操作
myinifile.readsection("小节名",TStrings变量);可将指定小节中的所有关键字名读取至一个字符串列表变量中;
myinifile.readsections(TStrings变量);可将INI文件中所有小节名读取至一个字符串列表变量中去。
myinifile:=TInifile.Create(filename);
四、读取关键字的值
针对INI文件支持的字符串、整型数值、布尔值三种数据类型,TINIfiles类提供了三种不同的对象方法来读取INI文件中关键字的值。
值得注意的是,如果括号中的文件名没有指明路径的话,那么这个Program.ini文件会存储在Windows目录中,把Program.ini文件存储在应用程序当前目录中的方法是:为其指定完整的路径及文件名。下面的ctFilePath(Paramstr(0))+"program.ini";
注释以分号“;”开头。
二、定义
1、在Interface的Uses节增加IniFiles;
2、在Var变量定义部分增加一行:
myinifile:Tinifile;
然后,就可以对变量myinifile进行创建、打开、读取、写入等操作了。
当这个INI文件不存在时,上面的语句还会自动创建该INI文件。
六、删除关键字
除了可用写入方法增加一个关键字,Tinifile类还提供了一个删除关键字的对象方法:
myinifile.DeleteKey("小节名","关键字");
myinifile.distory;
假设已定义变量vs、vi、vb分别为string、 integer、boolean类型。

delphi文件的读取和写入

delphi文件的读取和写入

delphi文件的读取和写入概述:Delphi是一种高级编程语言,用于开发Windows应用程序。

在Delphi中,文件的读取和写入是常见的操作,可以通过使用内置的文件处理函数和过程来实现。

本文将详细介绍如何在Delphi中进行文件的读取和写入操作。

一、文件的读取在Delphi中,可以使用TFileStream类来读取文件的内容。

以下是读取文件的步骤:1. 创建TFileStream对象:使用TFileStream类的构造函数创建一个TFileStream对象。

构造函数需要两个参数,第一个参数是文件名,第二个参数是打开文件的模式。

模式可以是fmOpenRead(只读模式)或fmShareDenyNone(允许其他进程访问)。

2. 读取文件内容:调用TFileStream对象的Read方法来读取文件的内容。

Read方法需要两个参数,第一个参数是读取到的数据存放的缓冲区,第二个参数是要读取的字节数。

3. 关闭文件:使用TFileStream对象的Free方法来关闭文件。

示例代码如下:```delphivarFileStream: TFileStream;Buffer: array of Byte;ReadBytes: Integer;beginFileStream := TFileStream.Create('file.txt', fmOpenRead);SetLength(Buffer, FileStream.Size);ReadBytes := FileStream.Read(Buffer[0], FileStream.Size);FileStream.Free;// 处理读取到的文件内容// ...end;```二、文件的写入在Delphi中,可以使用TFileStream类来写入文件的内容。

以下是写入文件的步骤:1. 创建TFileStream对象:使用TFileStream类的构造函数创建一个TFileStream对象。

Delphi中初始化.Ini文件的读写

Delphi中初始化.Ini文件的读写

Delphi中初始化.Ini文件的读写金林樵郭彩虹PowerBuilder、Office及Cstar等。

因此初始化文件的读写Object Pascal中的文本文件一样读写,但因ucdos中提供的rdfnt.ini文文件中的数据,Delphi中向用户提供了一个TIniFile类,通过TiniFile类就可十分方便地读写初始化文件。

Ucdos中rdfnt.ini文件的内容为:[True Type fonts directory]Dir=C:/WINDOWS/SYSTEM[True Type fonts list]ARIAL.TTF=64ARIALBD.TTF=65ARIALI.TTF=66ARIALBI.TTF=67TIMES.TTF=68TIMESBD.TTF=69TIMESI.TTF=70TIMESBI.TTF=71COUR.TTF=72COURBD.TTF=73COURI.TTF=74COURBI.TTF=75[Use All True Type fonts]All=0TiniFile类不是一个Delphi的部件,因此不能在Delphi的VCL模板中找到,它在Delphi 系统中的inifiles单元中定义,因此要使用TiniFile类,必须在使用该类的单元文件中用Uses inifiles指令明确地说明。

TiniFile类中定义了许多成员函数,这里介绍几个使用频率较高的成员函数:⑴ Create()函数定义为: constructor Create(const FileName: string);该函数建立TiniFile类的对象。

参数FileName是要读写的初始化文件名。

若读写的文件在Windows的目录里(如system.ini文件),则可以直接写文件名而不必指定路径,否则就必须指定路径(如d:/ucdos/rdfnt.ini)。

如按以下规则在规定的目录中存在该文件,则打开该初始化文件;否则在规定的目录里创建该初始化文件。

delphi操纵word(完整版)[精华]

delphi操纵word(完整版)[精华]

一、Delphi程序启动Word采用CreateOleObjects的方法来启动Word,调用VBA代码,具体实现过程为:首先使用GetActiveOleObject('Word.Application')判断当前内存中是否存在Word程序,如果存在,则直接连接,如果没有Word程序,则使用CreateOleObject('Word.Application')启动Word二、Delphi程序新建Word文稿格式:WordDocuments.Add(Template,NewTemplate,DocumentType,Visible)Template:使用模板的名称,NewTemplate:新建文档的类型,True表示为模板,False表示为文档DocumentType:文档类型,默认为空白文档Visible:打捞的窗口是否可见举例:Doc_Handle:=Word_Ole.Documents.Add(Template:='C:\Temlate.dot',NewTemplate:=False );三、Delphi程序打开Word文稿格式:WordDocuments.Open(FileName,ConfirmConversions,ReadOnly,PassWordDocument,PasswordTemplate,Revent,WritePasswordDocument,WritePassWordTemplate,Format,Encoding,Visible)FileName:文档名(包含路径)Confirmconversions:是否显示文件转换对话框ReadOnly:是否以只读方式打开文档AddToRecentFiles:是否将文件添加到"文件"菜单底部的最近使用文件列表中PassWordDocument:打开此文档时所需要的密码PasswordTemplate:打开此模板时所需要的密码Revert:如果文档已经,是否重新打开文档WritePasswordDocument:保存对文档更改时所需要的密码WritePasswordTemplate:保存对模板进行更改时所需要的密码Format:打开文档时所需使用的文件转换器Encoding:所使用的文档代码页Visible:打开文档的窗口是否可见举例:Doc_Handle:=Word_Ole.Documents.open(FileName:=Doc_File,ReadOnly:=False,AddToRecentFiles:=False);四、Delphi程序保存Word文稿格式:WordDocuments.SaveAs(FileName, FileFormat, LockComments, Password,AddToRecentFiles, WritePassword, ReadOnlyRecommended,EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter)FileName:文件名。

Delphi 对Txt文件的操作

Delphi 对Txt文件的操作
Closefile(F);
End;
//逐行读取,顾名思义一行一行的读取内容
Procedure ForTxt(FileName:String);
Var
F:TextFile;
S:String;
Ser:String;
begin
AssignFile(F,FileName);
AssignFile(F,FileName); //将文件名与变量 F 关联
ReWrite(F); //创建Txt文档并命名为 “FileName ”
Closefile(F); //关闭文件 F
End;
//读取指定的TXT文档
Procedure ReadTxt(FileName:String);
Reset(F);
while not EOF(F) do //循环读取
begin
Readln(F,S);
Ser:=Ser+S+#13#10;
end;
CloseFile(F);
end;
Begin
// NewTxt('i:\我的文档\桌面\Delphi对Txt的基本操作.Txt');
Readln;
End.
Procedure AppendTxt(Str:String;FileName:String);
Var
F:TextFile;
Begin
AssignFile(F, FileName);
Append(F); //附上原来的内容以免原内容被清空
Writeln(F, Str); //把内容 Ser 写入文件F
// ForTxt('i:\我的文档\桌面\Delphi对Txt的基本操作.Txt');

delphi文件的读取和写入

delphi文件的读取和写入

Delphi继承了Object Pascal的文件管理功能,并有很大的发展,其中最主要的是提供了用于文件管理的标准控件,同时也提供了更多的文件管理函数。

利用Delphi的强大功能,开发一个自己的文件管理系统就成为很容易的事。

本章首先介绍Delphi文件管理的基本概念和标准过程/函数,并提供了一个记录文件的应用实例,这是从我们实际课题开发中提取出来的。

而后介绍Delphi提供的文件控件的使用方法。

最后提供的一个综合例程MDI文件管理器则是对Delphi文件管理功能的综合应用。

6.1 文件类型和标准过程Delphi同Object Pascal一样支持三种文件类型,即:文本文件、记录文件、无类型文件。

6.1.1文本文件文本文件类型的变量用如下方法声明:varTextFileVar: Text ;文本文件是以行为单位进行读、写操作的。

由于每一行长度不一定相同,不能计算出给定行在文件中的确切位置,因而只能顺序地读写。

而且文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。

6.1.1.1 文本文件的打开、关闭文本文件的打开需要两个步骤:(1). 文件变量与文件名关联;(2). 初始化读写。

联文件变量与文件名调用AssignFile标准过程:AssignFile ( TextFileVar , FileName ) ;FileName 既可以是全路径名,也可以仅是文件名。

对于后者系统将在当前目录下查找。

AssignFile是Delphi新提供的一个函数,其功能等价于Object Pascal中的Assign。

而Assign在Delphi 中更多地被用作一个方法名。

初始化读写有三种方式:1. Reset : 为读打开文件并把文件指针移动到文件首;2. Rewrite : 为写创建一个新文件;3. Append : 为写打开存在的文件并把文件指针定位在文件尾。

当使用Reset或Append过程而文件不存在时将会引发一个I/O异常。

Delphi操作Word的方法

Delphi操作Word的方法
首先使用GetActiveOleObject(''Word.Application'')判断当前内存中是否存在Word程序,如果存在,则直接连接,如果没有Word程序,则使用CreateOleObject(''Word.Application'')启动Word
二、Delphi程序新建Word文稿
ToolsReviewRevisions 接受或拒绝修订
ToolsRevisionMarksAccept 接受修订
ToolsRevisionMarksReject 拒绝修订
ToolsRevisionMarksToggle 修订
ToolsMacro 宏
ToolsRecordMacroToggle 录制新宏
二、Word中内嵌的Com技术
可以说Word是对Com技术支持最好的软件,这样说似乎是太极端了一点,但是Word提供的强大的编程接口技术却能够是我们通过程序控制Word的任何一部分。无论是文件的打开、存盘、打印还是文档中表格的自动绘制。
通过编程软件,可以灵活的操纵word,这里只以Borland Delphi为例,进行详细描述:
这样,我们就可以屏弃Word自动执行的宏,通过Delphi直接调用相应宏来达到目的。
五、Word命令宏的详细描述
Word本身的命令函数包含很多,但是无论是word联机帮助还是MSDN帮助,都没有这方面的介绍,因此只能凭自己的实验取探索,初步探测的函数如下:
宏名 解释 注释
FileNew 新建
ViewSecurity 安全性
ViewVBCode 查看VB编辑器环境
FileTemplates 模板和可加载项

Delphi读写INI文件

Delphi读写INI文件

Delphi 7 读写ini文件转载操作INI文件INI 文件在系统配置及应用程序参数保存与设置方面,具有很重要的作用,所以可视化的编程一族,如VB、VC、VFP、Delphi 等都提供了读写INI 文件的方法,其中Delphi中操作INI 文件,最为简洁,这是因为Delphi提供了一个TI nifile 类,使我们可以非常灵活的处理INI 文件。

一、有必要了解INI 文件的结构:[小节名]关键字=值...INI文件允许有多个小节,每个小节又允许有多个关键字,“=”后面是该关键字的值。

值的类型有三种:字符串、整型数值和布尔值。

其中字符串存贮在INI文件中时没有引号,布尔真值用1表示,布尔假值用0表示。

注释以分号“;”开头。

二、定义:1、在Interface的Uses节增加IniFiles;2、在Var变量定义部分增加一行:myinifile:Tinifile;然后,就可以对变量myinifile进行创建、打开、读取、写入等操作了。

三、打开INI文件:myinifile:=Tinifile.create('program.ini');上面这一行语句将会为变量myinifile与具体的文件program.ini建立联系,然后,就可以通过变量myinifile,来读写program.ini文件中的关键字的值了。

值得注意的是,如果括号中的文件名没有指明路径的话,那么这个Program.ini 文件会存储在Windows目录中把Program.ini文件存储在应用程序当前目录中的方法是:为其指定完整的路径及文件名。

下面的两条语句可以完成这个功能:Filename:=ExtractFilePath(Paramstr (0))+'program.ini'; myinifile:=Tinifile.Cre ate(filename);四、读取关键字的值:针对INI文件支持的字符串、整型数值、布尔值三种数据类型,TINIfiles类提供了三种不同的对象方法来读取INI文件中关键字的值。

delphi delphi 文件操作

delphi delphi 文件操作

文件输入和输出下表列出了输入和输出例程:Procedure orfunctionDescriptionAppend打开存在的文本文件(用于对文件追加文本)。

AssignFile指定外部文件的文件名到文件变量。

BlockRead从无类型文件读出一个或多个记录。

BlockWrite向无类型文件写入一个或多个记录。

ChDir改变当前目录。

CloseFile关闭打开的文件。

Eof返回文件的文件结束(end-of-file)状态。

Eoln返回文本文件的行结束(end-of-line)状态。

Erase删除外部文件。

FilePos返回类型文件或无类型文件的当前位置。

FileSize返回文件的当前尺寸;不适用于文本文件。

Flush刷新输出文本文件的缓冲区。

GetDir返回指定驱动器的当前目录。

IOResult返回表示最后一次I/O函数执行状态的整数值。

MkDir创建子目录。

Read从文件读出一个或多个值到一个或多个变量。

Readln在文本文件中执行Read操作并跳至下一行行首。

Rename对外部文件重命名。

Reset打开存在的文件。

Rewrite创建并打开新文件。

RmDir删除空的子目录。

Seek从类型文件或无类型文件的当前位置移动到指定的分量;不适用于文本文件。

SeekEof返回文本文件的文件结束(end-of-file)状态。

SeekEoln返回文本文件的行结束(end-of-line)状态。

SetTextBuf指定输入/输出(I/O)缓冲区到文本文件。

Truncate在类型文件或无类型文件的当前位置截断文件。

Write向文件写入一个或多个值。

Writeln在文本文件中执行Write操作然后写入一个行结束(end-of-line)标记。

文件变量就是其类型是文件类型的任何变量。

在Object Pascal中,文件类型有三种:类型文件(typed)、文本文件(text)和无类型文件(untyped)。

文件类型的声明见文件类型。

文件操作流程

文件操作流程

下面我们来总结一下Delphi中文件操作流程。

Delphi中把文件分为3种:文本文件、类型文件和无类型文件。

文本文件指可以被任意文件编辑器读取的ASCII文件。

类型文件包含由程序员定义的数据类型的文件。

无类型文件包含了其他所有的文件类型。

一.文本文件Step 1 调用AssignFile()将文件变量与一个关联起来。

如:AssignFile(MyTextFile,’TextFile.txt’);Step 2 打开文件。

有三种打开文件的方式:1.Rewrite过程创建并打开文件,对于一个已经存在的文件,此操作将使文件被覆盖;2.使用Reset过程只读地打开一个文件;3.使用Append过程向已经存在的文本文件追加文本。

Step 3 对文件进行操作。

如Write或Read操作。

Step 4 使用CloseFile来关闭一个已经打开的文件。

下面是一个文本文件操作的示例。

例1:procedure TForm1.Button1Click(Sender: TObject);varMyTextFile: TextFile; //定义变量MyTextFile为文本文件类型begin(*步骤1,将文件变量与外部文件联系。

相当于为外部文件找了个“替身”*)AssignFile(MyTextFile, ‘TextFile.txt’);(*判断操作的文件是否存在,不存在则创建文件。

*)if FileExists(‘TextFile.txt’) then(*步骤2,打开文件,不过在打开前,最好进行文件是否存在的判断。

*)Append(MyTextFile) //追加elseRewrite(MyTextFile); //新建,有则覆盖try(*步骤3,对文件进行操作。

*)WrtieLn(MyTextFile, ‘在文件末尾添加的文字!’);Flush(MyTextFile); //清空缓冲区,确保字符串已经写入文件之中。

finally(*步骤4,关闭打开的文件,CloseFile常与try…finally搭配,用于回收资源 *)CloseFile(MyTextFile);end;end;二.类型文件Step 1 定义数据结构Step 2 调用AssignFile()将文件变量与一个类型文件关联起来。

Delphi文件操作

Delphi文件操作

Delphi文件操作变量的数据保存于内存中,随程序运行的结束而结束,若要使程序下次运行时能重复使用或给其他程序员使用,必须保存在文件中,Delphi存取文件的方式有4种,即传统的PASCAL方式、windows API文件句柄方式、VCL文件流方式、使用类方法方式。

使用类方法方式比较简单,其他三种方式一般的步骤为:(1) 声明文件类型变量;(2) 给文件类型变量指定文件名;(3) 通过文件类型变量打开并且读写文件,必要时进行文件定位;(4) 关闭文件。

1、PASCAL方式访问文件文件是由相同数据类型的数据元素组成的序列,文件可以分为三种类型:文本文件,类型文件,无类型文件。

文本文件中每个数据元素就是一个字符,占有一个字节,并以回车换行符(#13#10)表示每行的结束;类型文件中每个数据元素的数据类型可以是整数、实型记录型等;无类型文件中每个数据元素是一个字节的二进制数。

文件和数组在形式上有些类似,但实质上有诸多不同,主要表现为以下三个方面:(1)数组的元素个数一般是固定的,而文件的长度一般是不定的、随即的;(2)数组元素总是放于内存中,而文件往往存于外存中;(3)数组以“数组名[下标]”的形式访问数组中的任意一个元素,而文件则需要通过文件变量来访问。

1)类型文件例一、Button1按钮将记录数组XS[0..1]写入文件…Stu.dat‟,Button2将…Stu.dat‟读到记录变量X1,X2,然后用消息框输出。

TYPE Stu = RecordXh:integer;Xm:string[20];END;Procedure TForm1.Buttonclick(Sender:TObject);//记录数组写入文件Const xs:array[0..1] of Stu=((Xh:=405;xm:='张三'),(xh:=406,xm:='李四'));Var F:File of Stu;beginAssignFile(F,'Stu.dat');//关联文件ReWrite(F);//打开方式(写)Write(F,xs[0],xs[1]);//将数组写到文件CloseFile(F);end;procedure TForm1.Button2Click(Sender: TObject);VarF:File of Stu;x1,x2:Stu;beginAssignFile(F,'Stu.dat');ReSet(F); //打开方式(读)Read(F,x1,x2); //从文件中读到记录CloseFile(F);//关闭F指定文件showmessageFmt('%d,%s;%d,%s',[x1.xh,x1.xm,x2.xh,x2.xm]);end;2)文本文件例二、Button3将EDIT1指定库名写入文件'DBN.txt',Button4将DBN.txt读到变量DBN,然后用消息框输出。

Delphi 用流来读取TXT文件

Delphi 用流来读取TXT文件

var
MyFile:TMemoryStream;
Filebuf: array of pchar; //这里声明的是动态数组
iLen:Int64;
Begin
If opendialog1.Execute then
begin
iLen:=0;
MyFile:=TMemoryStream.Create;
SetLength(FileBuf,iLen);//设置动态数组的长度为TXT文件的大小
MyFile.ReadBuffer(FileBuf[0],iLen);//读取TXT文件全部数据
Form1.canvas.Textout(0,0,string(FileBuf)); //在显示区域上显示字符串;
MyFile.LoadFromFile(opendialog1.FileName);
iLen:=MyFile.Size;
SetLength(FileBuf,1024);//设置动态数组的长度;
Myfile.Seek(1024, soFromBeginning);//从文件头开始计算到1024个字节处
3.初始化读写有三种方式: Reset为读打开文件并把文件指针移动到文件首;Rewrite为写创建一个新文件;Append为写打开存在的文件并把文件指针定位在文件尾。
4.读取或写入文本。Readln方法能够读取一行文本,writeln方法能向文件写入一行文本。
5.最后用Closefile方法关闭已打开的文件。
MyFile.ReadBuffer(FileBuf[0],1024);//从seek设置的当前位置往后读取1024字节
Form1.canvas.Textout(0,0,string(FileBuf)); //在窗体上显示;

delphi trzline用法

delphi trzline用法

delphi trzline用法在Delphi编程中,trzline是一个常用的函数,用于在文本文件中读取和处理数据。

以下是trzline函数的详细用法:功能:从文本文件中读取一行字符串,并对其进行处理。

语法:```function trzline(const FileName: string; const BufferSize: integer): string;```参数:-FileName:输入,字符串类型,表示要读取的文件名。

-BufferSize:输入,整数类型,表示读取缓冲区的最大长度。

返回值:-成功读取一行时,返回读取到的字符串;失败时,返回空字符串。

示例:以下示例展示了如何使用trzline函数从文件中读取一行数据,并将其转换为大写:```delphiprogram ReadFileLine;usesSysUtils,FileUtil;varFileName: string;Line: string;BufferSize: integer;beginFileName := 'example.txt';BufferSize :=100;//打开文件if not FileExists(FileName) thenraise EFileNotFound.Create(FileName);File := TFileStream.Create(FileName, fmOpenRead); //读取文件第一行Line := trzline(FileName, BufferSize);//关闭文件File.Free;//输出读取到的行WriteLn(Line);ReadLn;end.```在这个示例中,我们首先检查文件是否存在,然后使用trzline 函数从文件中读取一行。

读取到的行存储在Line变量中,然后关闭文件并输出读取到的行。

注意:-在实际应用中,请确保在读取文件后正确关闭文件。

Delphi 用流来读取TXT文件

Delphi 用流来读取TXT文件

Delphi 用流来读取TXT文件作者:佚名来源:本站整理发布时间:2008-11-6 15:39:32TXT文本文件是一种以ACSII吗存储数据的文件。

在TXT文件中只能够存储一些字符数据,所以这种文件的移植性和通用性很强,具有较高的易用性,并且被广泛应用,所以Delphi对该类型文件提供了较好的支持。

目前在Internet上最为流行的XML文件也是一种文本文件。

TXT文本文件的操作非常简单,具体操作过程如下:1.首先要声明一个TextFile类型的的文件指针。

如:var MyFile:TEXTFile。

2.然后使用AssignFile方法将声明的文件指针与外部TXT文件相关联。

AssignFile (FileName ) ;FileName 既可以是全路径名,也可以仅是文件名。

对于后者系统将在当前目录下查找。

3.初始化读写有三种方式: Reset为读打开文件并把文件指针移动到文件首;Rewrite 为写创建一个新文件;Append为写打开存在的文件并把文件指针定位在文件尾。

4.读取或写入文本。

Readln方法能够读取一行文本,writeln方法能向文件写入一行文本。

5.最后用Closefile方法关闭已打开的文件。

在这里我们要介绍的就是如何用流来读取TXT文件中的数据,并且在指定显示区域显示出来。

首先让我们通过一个简单范例来了解ReadBuffer方法,让我们来读取指定TXT文件的前10个字符。

procedure TForm1.Button1Click(Sender: TObject);varMyFile:TMemoryStream;Filebuf: array[1..10] of char; //这里声明的是静态数组a:string;BeginIf opendialog1.Execute thenbeginMyFile:=TMemoryStream.Create;//创建流MyFile.LoadFromFile(opendialog1.FileName);MyFile.ReadBuffer(Filebuf,10);//读取TXT文件前10个字符a:= strpas(Filebuf) //将数组转化成为字符串Form1.canvas.Textout(0,0,a); //在显示区域上显示字符串FreeAndNil(MyFile);//释放流end;end;以上范例在窗体Form1上显示的字符串就是打开TXT文本的前10个字符,但是如何得到文本的所有数据呢?这里就需要用到动态数组。

Delphi读取文件和写入文件总结

Delphi读取文件和写入文件总结
procedure TForm1.Button1Click(Sender: TObject);
var
pMyFile:textfile;
pStr : string;
begin
if OpenDialog1.Execute then begin
Assignfile(pMyFile,OpenDialog1.FileName);
公用写日志文件过程
//==ini文件设置:
'日志选项和文件 当Log_Flag=N时不记录,否则均记录
Log_Flag=1
Log_PathFileName=\\10.105.10.12\c\Prd_220_File\log.dat
//==声明全局变量
x_pLogFile: string; //日志文件名称
//或者
ChDir(dir); //无返回值
//也可以使用API:
SetCurrentDirectory(PChar(Dir)); //返回 Boolean
end;
--------------------------------------------------------------------------------
//删除文件 DeleteFile; Windows.DeleteFile
var
f: string;
begin
f := 'c:\temp\test.txt';
//DeleteFile(f); //返回 Boolean
//或者用系统API:
Windows.DeleteFile(PChar(f)); //返回 Boolean

delphi writefile 用法

delphi writefile 用法

在Delphi中,`WriteFile`函数用于将数据写入到一个已打开的文件中。

以下是`WriteFile`函数的基本用法:1. 声明和初始化变量:您需要声明一个文件句柄(通常通过`CreateFile`或其他方式获得),以及一个缓冲区来存储要写入的数据。

2. 调用`WriteFile`函数:使用`WriteFile`函数将缓冲区中的数据写入文件。

该函数的原型如下:```pascalfunction WriteFile(hFile: THandle; // 文件句柄lpBuffer: PChar; // 指向要写入数据的缓冲区的指针nNumberOfBytesToWrite: DWORD; // 要写入的字节数var lpNumberOfBytesWritten: DWORD; // 实际写入的字节数lpOverlapped: POverlapped): BOOL; // 重叠操作结构,通常为nil```3. 检查返回值:`WriteFile`函数会返回一个布尔值,指示操作是否成功。

如果函数失败,可以通过调用`GetLastError`函数来获取更多的错误信息。

4. 关闭文件:在完成所有写操作后,应使用`CloseHandle`函数关闭文件句柄。

此外,在使用`WriteFile`时,需要注意以下几点:1. 确保文件已经被正确地打开,并且具有写入权限。

2. 如果使用了`FILE_FLAG_NO_BUFFERING`标志,必须以扇区为单位进行读写操作。

3. 当写入最后一个缓冲区时,即使它不是完整的扇区,也必须将其写入整个扇区,否则`WriteFile`可能会失败。

总之,以上就是`WriteFile`函数在Delphi中的基本用法和注意事项。

在实际编程中,还需要结合具体的需求和上下文来进行适当的错误处理和资源管理。

Delphi 文件操作

Delphi 文件操作

Delphi 文件操作var file_name:string;file_name:='c:\luther.gliethttp.txt';FileWrite(com.log_fd, PChar(file_name)^, length(file_name));文件是同一种类型元素的有序集合,是内存与外设之间传输数据的渠道。

文件的本质是一个数据流,所有的文件实际上是一串二进制序列。

文件管理包括:1、文件操作。

2、目录操作。

3、驱动器操作。

三部分。

1、常见文件操作函数和过程。

1.1、AssignFile过程作用:将一个外部文件的文件名与一个File类型的变量关联,并对变量进行初始化。

原型:procedure AssignFile(var F; FileName: String);F:一个File类型的变量,可以是任何数据类型。

FileName:外部文件的文件名。

1.2、FileExists函数作用:用于测试指定文件名的文件是否存在。

原型:function FileExists(const FileName: String): Boolean;FileName:文件名。

字符串类型。

注意:如果文件存在,返回True;否则,返回False。

1.3、Append过程作用:为在一个已经存在的文件末尾添加文本做好准备工作。

文件是只写方式打开的。

原型:procedure Append(var F: Text);F: 一个TextFile类型变量。

注意:这是一个对文本类型文件操作的过程。

其中变量F必须和外部文件关联。

如果F 没有与外部文件关联,将抛出异常。

如果F已经处于打开状态,则过程会关闭F并重新打开。

文件指针位置将被设置在文件末尾。

1.4、Reset过程作用:对于文本文件,Reset过程将以只读方式打开文件。

对于类型文件和无类型文件,Reset过程将以可读写方式打开文件。

原型:procedure Reset(var F [: File; RecSize: Word ] );F:File类型变量,可以是任何文件类型。

delphi读写文件

delphi读写文件

delphi读写txt文件━━━━━━━━━━━━━━━━━━━━━━━━━━1. memo控件读取txtmemo1.Lines.LoadFromFile('E:\*\*.txt');2.Procedure NewTxt(FileName:String);VarF : Textfile;Beginif fileExists(FileName) then DeleteFile(FileName); {看文件是否存在,在就刪除} AssignFile(F, FileName); {将文件名与变量F 关联}ReWrite(F); {创建一个新的文件并命名为ek.txt}Writeln(F, '将您要写入的文本写入到一个.txt 文件');Closefile(F); {关闭文件F}End;Procedure OpenTxt(FileName:String);VarF : Textfile;BeginAssignFile(F,FileName); {将文件名与变量F 关联}Append(F); {以编辑方式打开文件F }Writeln(F, '将您要写入的文本写入到一个.txt 文件');Closefile(F); {关闭文件F}End;Procedure ReadTxt(FileName:String);VarF : Textfile;str : String;BeginAssignFile(F, FileName); {将文件名与变量F 关联}Reset(F); {打开并读取文件F }Readln(F, str);ShowMessage('文件有:' +str + '行。

');Closefile(F); {关闭文件F}End;procedure TForm1.Button1Click(Sender: TObject);beginNewTxt;end;procedure TForm1.Button2Click(Sender: TObject);beginOpenTxt;end;procedure TForm1.Button3Click(Sender: TObject);beginReadTxt;end;------------------------------------------------------------------Procedure AppendTxt(Str:String;FileName:String);VarF:Textfile;BeginAssignFile(F, FileName);Append(F);Writeln(F, Str);Closefile(F);End;3.Delphi 用流来读取TXT文件TXT文本文件是一种以ACSII吗存储数据的文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
end;
//不同数据类型的写入和读取
procedure TForm1.Button7Click(Sender: TObject);
var name: string[6];
age: Word;
birthday: TDate;
begin
AssignFile(F,FileName);
CloseFile(F);
end;
//追加
procedure TForm1.Button3Click(Sender: TObject);
begin
AssignFile(F,FileName);
Append(F); //打开准备追加
Writeln(F, '第三行');
procedure Button4ClБайду номын сангаасck(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
FileName: string = 'c:\temp\test.txt';
//写文件
procedure TForm1.Button1Click(Sender: TObject);
begin
AssignFile(F,FileName);
Rewrite(F); //会覆盖已存在的文件
Reset(F); //只读打开
Memo1.Clear;
while not Eof(F) do
begin
Readln(F, s);
Memo1.Lines.Add(s);
end;
CloseFile(F);
end;
//分列写入
procedure TForm1.Button5Click(Sender: TObject); //这个过程级函数的功能是: 用空格把 s 凑够 n 的长度
文本文件的打开需要两个步骤:1.文件变量与文件名关联;2.初始化读写。
1.文件变量与文件名关联:
AssignFile(VarTxt, FileName);
FileName 如果省略路径将默认当前目录。
2.初始化读写有三种方式:
(1) Reset: 只读打开, 指针移到文件头;
(2) Rewrite: 创建新文件并打开, 只写;
begin
AssignFile(F, FileName);
Reset(F);
Memo1.Clear;
while not Eof(F) do
begin
Readln(F, name);
Memo1.Lines.Add(name);
end;
CloseFile(F);
function AddSpace(s: string; n: Word): string;
begin
while Length(s) < n do
begin
s := s + ' ';
end;
Result := s;
end;
var
Rewrite(F);
name := '菜花 '; //加两个空格凑够6个字符
age := 18;
birthday := StrToDate(DateToStr(Now-18*365)); //假如她今天过生日
Writeln(F,name,age,birthday);
address := AddSpace(address,16);
Writeln(F, name, address);
name := '李四儿';
name := AddSpace(name,8);
address := '贵州省安顺黄果树';
address := AddSpace(address,16);
CloseFile(F);
Reset(F);
Readln(F,name,age,birthday);
Memo1.Clear;
Memo1.Lines.Add(name);
Memo1.Lines.Add(IntToStr(age));
Memo1.Lines.Add(DateToStr(birthday));
Writeln(F, '第四行');
CloseFile(F);
end;
//读取全部(需要Memo帮忙显示)
procedure TForm1.Button4Click(Sender: TObject);
var
s: string;
begin
AssignFile(F,FileName);
{写入的结果是: 张三 山东泰安 李四儿 贵州省安顺黄果树 王二麻子北京市海淀区}
end;
//分列读取
procedure TForm1.Button6Click(Sender: TObject);
var name: string[8];
address: string[16];
Writeln(F, name, address);
name := '王二麻子';
name := AddSpace(name,8);
address := AddSpace(address,16);
Writeln(F, name, address);
CloseFile(F);
CloseFile(F);
{读取结果: 菜花 18 1989-12-23}
//其实这样的东西应该用类型文件操作更合适, 但如果有这样的文本文件让你读取呢?
end;
end.
name: string[8];
address: string[16];
begin
AssignFile(F, FileName);
Rewrite(F);
name := '张三';
name := AddSpace(name,8);
address := '山东泰安';
Delphi文本文件读写
Delphi 支持三种文件类型: 文本文件、记录文件、无类型文件。
文本文件是以行为单位进行读、写的。由于每一行的长度不一定相同,不能计算出给定行在文件中的确切位置,因而只能顺序地读写。
文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Writeln(F, '第一行');
Writeln(F, '第二行');
CloseFile(F);
end;
//读文件(先执行写文件)
procedure TForm1.Button2Click(Sender: TObject);
var
s: string;
begin
Button7: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var Form1: TForm1;
implementation
{$R *.dfm}
var
F: Text; //TextFile 和 Text 是一样的
(3) Append: 从尾部追加, 指针当然在文件尾。
文件不存在时使用 Reset 或 Append 会引发一个I/O异常。
最后用 CloseFile 关闭文件。
为保持兼容,Delphi 也允许用户用 Assign 建立关联, 用 Close 关闭文件。
--------------------------------------------------------------------------------
AssignFile(F,FileName);
Reset(F); //只读打开
Readln(F, s); //读取
ShowMessage(s); //显示: 第一行
Readln(F, s); //继续读取
ShowMessage(s); //显示: 第二行
//读写示例:
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm)
Reset(F);
while not Eof(F) do
begin
相关文档
最新文档