Ich frage mich wie man die Anzahl der Tabulatoren eines Strings zählen kann.
Ich würde die einzelne Zeile in eine Stringliste auftrennen und dann schauen, an welcher Stelle im Index ->[i] der String "Name:" auftaucht.
<TAB> Name: Horst ->[1] (da Index bei 0 beginnt: TAB = [0])
<TAB> Haustiere:
<TAB><TAB> Name: Fiffi ->[2]
<TAB><TAB> Alter: 10
<TAB><TAB> Vorbesitzer
<TAB><TAB><TAB> Name: Manuel ->[3]
Damit hast Du Deine Levels.
Hier der Code für das Aufsplitten des Strings (bei Dir eine Memozeile) in eine Stringliste (hat bei mir auch mit TAB funktioniert):
Delphi-Quellcode:
procedure SplitLine(Source: string; Dest: TStringList; Delimeter: char = ';');
// splittet den string am delimeter auf und hängt die einzelnen strings in eine Stringlist
var
lpos : Integer;
begin
Dest.Clear;
lpos := Pos(Delimeter, Source); // p = 0, wenn nicht gefunden
while lpos <> 0 do begin
Dest.Add(Copy(Source, 1, lpos - 1));
Delete(Source, 1, lpos);
lpos := Pos(Delimeter, Source); // suche erneut nach delimiter
end;
// wenn string noch nicht leer, dann hänge rest auch an liste
if Source <> '' then begin
Dest.Add(Source);
end;
end;
Grüße, Christoph