Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#36

AW: Eigenes Zeichen für Zeilenende bei ReadLN

  Alt 22. Mai 2013, 08:11
Es wird 2x geprüft, ob noch Zeichen da sind, und zwar einmal beim Abfragen der Position und dann nochmal ob das Lesen eines Zeichens funktioniert hat. Das ist nicht schön.

Ich würde eine Funktion schreiben, die genau eine Seite liefert und True/False, ob noch weitere Seiten zu erwarten sind.

Delphi-Quellcode:
Function ReadOnePage (myFileStream : TStream; Var Page : String) : boolean;
Const
  CharSize = SizeOf(Char);
Var
  Ch : Char;

Begin
  result := True;
  Page := '';
  While myFileStream.Read(Ch,CharSize) = CharSize do
    if Ch=#12 then
      exit
    else
      Page := Page + Ch;

  result := false;
End;

// Der eigentliche Aufruf ist dann ziemlich selbsterklärend
While ReadOnePage (myFileStream, Page) Do
  ProcessPage(Page)
  Mit Zitat antworten Zitat