Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)aaapublished in(发表于) 2014/7/19 0:11:45 delphi无类型文件
无类型文件文本文件和类型文件的字节数可以通过代码得到,但不是所有的文件都能做到,例如RTF 文件。虽然RTF 文件中也包含文本文件,但是它还有其他的格式属性,所以需要使用识别RTF 格式的编辑器才可以进行浏览。无类型文件是由数据块序列组成的,每个数据块为128 字节大小的数据。无类型文件数据的读写操作可以利用数据块实现。无类型文件的操作步骤与文本文件的操作步骤基本相同,其操作方法也与前面两种文件的操作方法基本相同,只是调用的函数略有差异。下面利用一个示例来说明如何利用数据块将内容全部为“Y”的字符串写到无类型文件中,并将其读出显示在Memo 中。(1)新建一个工程。在窗体中添加一个Memo 组件和两个Button 组件。两个Button 组件的Caption 属性分别为“读取”和“写入”。(2)“读取”按钮代码如下:procedure TForm1.Button1Click(Sender: TObject);varUnTypedFile:file;Buf:array [0..128] of byte;Num,I:Integer;Str:String;beginAssignFile(UnTypedFile,’UnTypedFile.dat’);Reset(UnTypedFile);tryBlockRead(UnTypedFile,Buf,1,Num);for I:=0 to 128 doStr:=Str+VarToStr(char(Buf[I]));Memo1.Lines.Add(Str);finallyCloseFile(UnTypedFile);end;end;(3)“写入”按钮代码如下:procedure TForm1.Button2Click(Sender: TObject);varUnTypedFile:file;Buf:array[0..128] of byte;Num:Integer;beginAssignFile(UnTypedFile,’UnTypedFile.dat’);Reset(UnTypedFile);if FileExists(’UnTypedFile.dat’) thenReset(UnTypedFile)elseRewrite(UnTypedFile);trySeek(UnTypedFile,FileSize(UnTypedFile)); //Seek 使文件指针的位置位于末尾FillChar(Buf,SizeOf(Buf),’Y’);BlockWrite(UnTypedFile,Buf,1,Num);finallyCloseFile(UnTypedFile);end;end;
赞