Wozu #13#10 als Trennzeichen verwenden? Dann kannst du doch einfach jede Zeile direkt durchgehen und ausgeben lassen.
Ein Beispiel wie ich es aktuell nutze, mal für dich etwas angepasst. Hab es aber nicht testen können.
Delphi-Quellcode:
procedure Bla.ReadCSVClick(Sender: TObject);
var
StringList : TStringList;
row : Integer;
Eventcounter : integer;
begin
Eventcounter := 0;
StringList := TStringList.Create;
try
StringList.LoadFromFile('Stringlistfile.xxx');
for row := 0 to StringList.Count - 1 do
begin
if split(StringList.Strings[row], ':', 1) = 'Event' then //Wenn ein neues Event kommt;
begin
inc(Eventcounter); //definieren des Events
end;
//Mache was für das Event "Eventcounter" (Name des Events wäre split(StringList.Strings[row], ':', 2)
end;
finally
StringList.Free;
end;
end;
//String zerteilen
function Split(text: string; delimiter: char; p: integer): string;
var
stl: TStrings;
begin
stl := TStringList.Create;
try
stl.delimiter := delimiter;
stl.DelimitedText := text;
finally
result := stl.Strings[p];
stl.free;
end;
end;