![]() |
#$d#$a -> \n
Hallo,
ich suche in einem Text nach der ersten Leerzeile. Mach ich mit
Delphi-Quellcode:
Funktioniert auch. Leider enthält der Text teilweise anstelle von "echten" Newlines manchmal "#$D#$A". Beim wegspeichern werden die brav nach CRLF umgewandelt. Leider schaffe ich aber nicht, diese beim Suchen zu beachten. Obiger Vergleich funktioniert ja nicht, das msg[i] ja nicht '' ist, sondern '#$D#$AWeiterer Text'. Ich habe schon mit Pos und Comparestr versucht - leider keinen Erfolg. Was kann ich tun?
if msg[i]='' then break;
Kompletter Code:
Delphi-Quellcode:
Danke!
// Suche nach erster Leerzeilen
for i:=0 to msg.Count-1 do begin if msg[i]='' then break; // end of header if (Length(msg[i])>6) then begin if (CompareStr('#$D#$A', msg[i])=0) then begin MessageDlg('Leerzeile! ', mtError, [mbOK], 0); break; end; end; end; |
Re: #$d#$a -> \n
Wenn ich mich richtig irre, solltest du beim Vergleich mit '#$D#$A' einfach nur die Hochkommas weglassen. Also nur #$D#$A bzw. #13#10 schreiben. Die Länge des Strings ist dabei auch nicht 6, sondern 2.
|
Re: #$d#$a -> \n
Zitat:
Jupp, danke! |
Re: #$d#$a -> \n
Du kannst auch die Funktion Trim verwenden, die entfernt alle unnötigen Whitespace-Zeichen und Kontrollzeichen aus dem String.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz