SetTextBuf

Z Delphi & Pascal (česká wiki)
Skočit na navigaci Skočit na vyhledávání

Přiřadí textovému souboru vstupně/výstupní buffer.

Deklarace
procedure SetTextBuf(var F: Text; var Buf [ ; Size:   Word ] );
Režim
Windows, Reálný, Proctected
Poznámky
SetTextBuf by nikdy neměla být použita na již otevřený soubor. Je však možné volat tuto proceduru bez rizika ihned po otevření souboru procedurami Reset, Rewrite a Append.
Při přiřazení bufferu k již otevřenému souboru dojde ke ztrátě obsahu původního bufferu, protože se buffer změní.
Borland Pascal nezaručuje, že buffer bude existovat po celou dobu trvání vstupně/výstupních operací se souborem. Např. běžnou chybou je, že se na jeho přiřazení použije lokální proměnná. V tom případě dochází při každém opuštění příslušného podprogramu ke ztrátě obsahu bufferu.


Vzorový příklad

{Settxtbf.PAS}
{Vzorový příklad pro proceduru SetTextBuf.}
{ Pro Windows: }
{ uses WinCrt; }
var
  F: Text;
  Ch: Char;
  Buf: array[1..4095] of Char;          { 4K buffer }
begin
  { Zjištění souboru ke čtení z příkazové řádky }
  Assign(F, ParamStr(1));
  { Větší buffer pro rychlejší čtení }
  SetTextBuf(F, Buf);
  Reset(F);
  { Výpis textového souboru na obrazovku }
  while not Eof(f) do
  begin
    Read(F, Ch);
    Write(Ch);
  end;
end.