Flush

Z Delphi & Pascal (česká wiki)
Verze z 5. 10. 2012, 21:02, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

Vyprázdní vyrovnávací paměť textového souboru, otevřeného pro výstup.

Deklarace
 procedure Flush(var F: Text);
Režim
Windows, Reálný, Chráněný
Poznámky
F je proměnná typu textový soubor.
Pokud byl textový soubor otevřen pro výstup pomocí Rewrite nebo Append, zavolání Flush vyprázdní buffer tohoto souboru. Tím je zajištěno, že všechny znaky, zapsané do souboru, se skutečně zapíšou do vnějšího souboru. U souborů otevřených pro vstup nemá Flush žádný účinek.
V režimu {$I-} vrátí funkce IOResult hodnotu 0, pokud operace proběhla úspěšně, jinak vrátí nenulový kód chyby.


Vzorový příklad

{Flush.PAS}
{Vzorový příklad pro proceduru Flush.}
{ Pro Windows: }
{ uses WinDos, WinCrt; }
uses Dos;
 procedure ReportError(s : String);
  { Přesměruje výstup na standardní
    DOS chybový výstup a vysílá chybové
    hlášení, když je zastaven.
    Soubor "output" musí být před změnou
    deskriptoru uložen, jinak se obsah jeho
    buferu může objevit i v chybovém hlášení. }
   begin
   Flush(output); { Musí uložit aktivní výstup }
   { Přesměruje výstup na deskriptor standardního chybového výstupu }
   TextRec(output).handle := 2; { Pro Windows: TTextRec }
   Writeln(s);
   Halt(1);
   end;
 begin
 ReportError('Chybová zpráva.');
 end.