Thema: Delphi ReadLn-Funktion

Einzelnen Beitrag anzeigen

Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: ReadLn-Funktion

  Alt 25. Mär 2008, 21:20
Naja, ich würde es so machen:

Delphi-Quellcode:
repeat
  b:=ReadByte;
  if b in [10, 13] then
    str:=str+chr(b)
  else
    break;
until (Stream zu Ende);
if b=13 then
begin
  b:=ReadByte;
  if b<>10 then
    (Gehe ein Byte zurück);
end;
Das ganze funktioniert so: Du liest in den String, bis du auf ein Zeilenumbruchszeichen (#10 oder #13) triffst. Dann, am Ende, schaust du noch, ob danach noch ein #10 kommt, wenn davor ein #13 war, weil unter Windows ein Zeilenumbruch immer #13#10 ist, unter Unix aber #10 und unter Mac OS <X #13 ist.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat