用下面的函数实现:fileopen
fileseek
fileread ... filewrite循环
fileclose可以定义一个 8位指针指向文件当前位置,然后用这个指针进行操作
fileseek
fileread ... filewrite循环
fileclose可以定义一个 8位指针指向文件当前位置,然后用这个指针进行操作
解决方案 »
- 我该不该继续学Delphi?迷茫中......请大家多多指点.
- 谁有Trufun Kant 2005.0.6.0注册码???
- 〓 强烈建议 〓:大家共同研究ehlib 中的DbgridEh强大的过滤功能
- 怎么在Delphi5中调试Windows 服务程序?
- 听说传奇2是用DELPHI开发。。。。。
- d7 ADO+sql Server 如何实现远程访问??
- ●●●请问: 我使用了 TdxDBDateEdit,如何将时间也保存进数据库?????
- 如何给菜单加分隔条。解决后马上给分。在线等。
- 一个关于SQL语句的简单问题。。。。。
- 三个SQL server数据表,其中一个表的记录被删后,另两个表的对应记录自动删除,该如何实现?
- 怎样让程序只从特定的光盘安装?
- 使用WinRoute作为代理服务器,怎样设置才能够屏蔽QQ以及聊天室呢?谢谢!
assignfile(file,"filename");
reset(file,1);
filepos1:=filepos(file);
read(file,byte1);
if byte1=$7f then begin
see(file,filepos1);
write(file,byte1);
end;
以上只是示例,可能有一点需要修改
我知道了,谢谢大家了!
Delphi同Object Pascal一样支持三种文件类型,即:文本文件、记录文件、无类型文件。
文本文件
文本文件类型的变量用如下方法声明:
var
TextFileVar: Text ;
文本文件是以行为单位进行顺序地读写操作的。而且文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。
本文件的打开、关闭
文本文件的打开需要两个步骤:(1). 文件变量与文件名关联;(2). 初始化读写。
关联文件变量与文件名调用AssignFile标准过程:
AssignFile ( TextFileVar , FileName ) ;
FileName 既可以是全路径名,也可以仅是文件名。对于后者系统将在当前目录下查找。
AssignFile是Delphi新提供的一个函数,其功能等价于Object Pascal中的Assign。而Assign在Delphi中更多地被用作一个方法名。
初始化读写有三种方式:
1. Reset : 为读打开文件并把文件指针移动到文件首;
2. Rewrite : 为写创建一个新文件;
3. Append : 为写打开存在的文件并把文件指针定位在文件尾。
当使用Reset或Append过程而文件不存在时将会引发一个I/O异常。文件的关闭很简单,只须调用CloseFile过程即可。
虽然Delphi应用程序在退出时会自动关闭所有打开的文件,但自己动手关闭文件可以确保释放文件句柄,并使程序的可移植性增强。
为保持兼容,Delphi也允许用户用Assign建立关联,Close关闭文件。
文本文件的读写
从文本文件中读取信息用Read、Readln两个标准过程。
当读入数值时,Read、Readln假定数值是用一个或多个空格分开的,而不是逗号、分号或其它字符。对如下一条语句:
Read ( TextFileVar , Num1 , Num2 , Num3 ) ;
如果文件中的数值是:
100 200 300
则能够成功读入,而若文件中的数值是
100 200, 300
则Read读入“200,”并试图把它转化成一个数值时会引发一个异常。
当读入字符是字符串时,Read、Readln过程总是读取尽可能多的字符填充到字符串变量中或一直读到行结束符为止。因此从文本文件中读取格式化的字符串数据,必须声明与其长度相匹配的字符串变量。如果要从文件中读取单词,必须先把文件中的每一行读入字符串,然后再从字符串中逐个分析出单词。或者一次只从文本文件中读入一个字符并测试每个字符后是否是单词断开处。
格式化字符串之间的分隔符应读入到一个临时变量中,而字符串与数值、数值与数值间的分隔符读入时会自动识别剔除。对如下一行数据:
Mon 12:10 40 50
定义
var
Day: string[3] ;
Time: string[5] ;
Num1, Num2: Integer ;
则须用如下的read 语句读入:
read ( TextFileVar , Day , c , Time , Num1 , Num2 ) ;
C为一个临时字符变量。
文本文件的编辑
在Delphi中实现对一个文本文件的编辑,只须让其与一个Tmemo控件建立关联即可:
Memo1.Lines.LoadFromFile ( TextFileName ) ;
这样在TMemo上所做的一切修改当调用Memo部件的SaveToFile方法后都会反映到文件中去。
记录文件
允许同时为读和写打开,而且由于记录文件中每条记录的长度固定,所以可随机存取。
记录文件的类型变量可如下声明:
var
RecordFileVar: file of RecordType;
RecordType是一个自定义的记录类型。
无类型文件
无类型文件提供了底层的I/O通道,可用于存取可变长度记录的文件。经常用于文件的复制操作中。由于Delphi提供了更好的方法,所以无类型文件很少使用。6.1.4 Delphi的文件管理标准过程
根据功能我们把标准过程划分为十一类进行介绍。
文件的打开与关闭
AssignFile : 把一个外部文件名和一个文件变量相关联
Reset :打开一个存在的文件
Rewrite :创建并打开一个新文件(或覆盖原有文件)
Append : 以添加方式打开一个文件(只适用于文本文件)
CloseFile : 关闭一个打开的文件
FileOpen :打开一个特定的文件并返回文件句柄
FileCreate :创建一个给定文件名的文件并返回文件句柄
FileClose : 关闭一个特定句柄的文件
后边三个文件主要供系统内部使用,在文件复制的编程中也往往会用到。它们操作的对象是文件句柄而不是文件变量。
TFileStream.Create;
TFileStream.Seek;
TFileStream.Read;
TFileStream.Write;
TFileStream.Free;