Ich möchte eine UTF8-Kodierte Textdatei einlesen und verarbeiten...
Das Schema der Datei sieht so aus:
Code: Alles auswählen
1=Gelb
2=Rot
...
Code: Alles auswählen
procedure TForm1.ButtonReadFileClick(Sender: TObject);
var
UTF8Text: TextFile;
Info: TInfoRecord; // selbstdefinierter record
Line: UTF8String;
begin
AssignFile(UTF8Text,'C:\Text-UTF8.txt');
Reset(UTF8Text);
while not EOF(UTF8Text) do
begin
ReadLn(UTF8Text,Line);
Info.Number:=StrToInt(Copy2SymbDel(Line,'=')); // <-- Hier tritt der Fehler auf
Info.Description:=Line;
end;
CloseFile(UTF8Text);
end;
Überspringe ich die erste Zeile, klappt alles so wie es soll. Mit Pos(); bekomme ich erst an vierter Stelle die "1"... Daher gehe ich davon aus das der UTF8-Header das Problem ist. der ist ja bekanntlich drei Zeichen lang.
Hat jemand von euch eine Idee wie ich das Problem in den Griff bekommen kann?
Im Anhang ist ein Beispielprojekt inklusive UTF8-Kodierter Textdatei im ensprechendem Schema...