Ich lese eine Textdatei via AssignFile/readln ein. (D2010)
Falls das erste Zeichen ein ";", soll die Zeile ignoriert werden.
Alles Konstrukt von D7:
Delphi-Quellcode:
if Length(S2) > 0 then
DoLine := Trim(String(S2))[1] <> ';' // Kommentarzeilen beginnen mit einem ';'
else
DoLine := FALSE;
Die Datei liegt in UTF8 mit BOM vor.
Die Stringvariable ist vom Typ "RawByteString".
Die erste Zeile hat den Inhalt
'; This file was auto generated by Langdiff Version 2.0.61 on 12.02.2010 09:28:12'
Die ersten drei Zeichen sind das BOM.
Wie kann ich den String nun davon säubern, damit ich wieder auf das erste Zeichen prüfen kann?
Ein Trim hilft nicht, auch nicht eine Umwandlung in String (casting) oder via UTF8toString.
Hoffe ich konnte mein Vorhaben einigermassen beschreiben.
Gruß
<edit>
Nach dem Schreiben des Postings ist mir gerade noch eine Idee gekommen:
Mit "WideStrUtils.HasUTF8BOM" prüfen ob das BOM da ist, wenn ja dann die ersten drei Zeichen löschen.
Kling das gut?
</edit>