Thema: Delphi Delphi Telefonbuch

Einzelnen Beitrag anzeigen

Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#7
  Alt 24. Jun 2003, 17:57
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
Daniel
  Mit Zitat antworten Zitat