SetTextBuf过程 - Borland Delphi 开发工作者手册

返回介绍

SetTextBuf过程

发布于 2019-08-04 字数 1442 浏览 812 评论 0

System

procedure SetTextBuf(var F:Text;var Buf[;Size:Integer]);

SetTextBuf将一个I/O缓冲器分配给一个文本文件。

F是一个文本文件变量,Buf是任意变量,Size是一个可选的表达式。每个文本文件有一个供缓冲器读和写的128字节的内部缓冲区。这个缓冲区对许多操作是合适的。然而,有大量的I/O操作程序对于有较大的缓冲区来说是可以减少磁头的运动和文件的系统内部操作。SetTextBuf使文本文件F可以使用由Buf参数来说明的内存缓冲区数,以代替F的原始内部缓冲区。Size参数说明了缓冲区字节的尺寸。如果此参数是忽略的,SizeOf(Buf)是被设想的。直到下一次的AssignFile调用,新的缓冲区才起作用。SetTextBuf可以在Reset,Rewrite和Append之后立刻被调用,但是不能把它应用在一个打开的文件中。当SetTextBuf对应一个已经进行了I/O操作的打开的文件时,由于缓冲区的改变数据将丢失,Delphi不能担保在全部的I/O操作的过程之间缓冲区是存在的。一个一般的错误是安装一个本地的变量作为一个缓冲区,接着使用文件的外部过程来声明缓冲区。

uses Dialogs;

var

F,FTwo:System.TextFile;

Ch:Char;

Buf:array[1..4095]of Char;{4K buffer}

begin

ifOpenDialog1.Execute then begin

AssignFile(F,ParamStr(1));

{Bigger buffer for faster reads}

SetTextBuf(F,Buf);

Reset(F);

{Dump text file into another file}

AssignFile(FTwo,’WOOF,DOG’);

Rewrite(FTwo);

while not Eof(f) do

begin

Read(F,Ch);

Write(FTwoCh);

end;

System.CloseFile(F);

System.CloseFile(FTwo);

end;

end;

上一篇:SetString过程

下一篇:ShortCutToKey函数

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

目前还没有任何评论,快来抢沙发吧!