TStringlist ist keine Kompo sondern eine Klasse.
Verwenden kannst du sie so:
Delphi-Quellcode:
var Liste : TStringList;
i, px : integer;
begin
Liste := TStringList.Create;
Liste.LoadFromFile(dateiname);
Jetzt hast du jede Zeile aus der Datei in einem eigenen Listeneintrag
So kannst du dein record füllen: (#9 also Tabulator ist dein Trennzeichen)
Delphi-Quellcode:
px := 1;
for i:=0 to List.Count - 1 do begin
telebuch[i].name := IniParseString(List[i],px,9);
telebuch[i].vorwahl := IniParseString(List[i],px,#9);
telebuch[i].nummer := IniParseString(List[i],px,#9);
telebuch[i].email := IniParseString(List[i],px,#9);
end;
Liste.Free;
Sorry mir ist grad aufgefallen das IniParseString eine eigene Funktion ist. Sie trennt aber nur den String am Trennzeichen auf:
Delphi-Quellcode:
function IniParseString (const z:string;var px:integer;const TRENN:char):string;
var i, len :integer;
h : string;
begin
len := length (z);
h := '';
for i := px to len do begin
px := px + 1;
if z[i] = TRENN then begin
result:= h;
exit;
end;
h := h + z[i];
end;
result:= h;
end;
Das zurüchschreiben der Einträge läuft halt genau umgekehrt.
mfg Daniel