Zitat von
raiguen:
Moin...
Du kannst das noch weiter vereinfachen:
Delphi-Quellcode:
procedure CreatePhone;
var i:integer;
temp:string;
tmpList: TStrings;
begin
phoneFullLst := TStringList.Create;
phoneNameLst := TStringList.Create;
phoneNumberLst := TStringList.Create;
phoneAreaLst := TStringList.Create;
if FileExists(ProgrammPfad + '\tbook.txt') then
begin
phoneFullLst.LoadFromFile(ProgrammPfad + '\tbook.txt');
//--tempöräre Liste erzeugen
tmpList := TStringList.Create;
for I:=0 to phoneFullLst.Count-1 do
begin
temp := phoneFullLst.strings[i];
{wenn Delphi 6 und höher:}
tmpList.Delimiter := ',';
tmpList.DelimitedText := temp;
{für alle Delphi-Versionen geht auch das:}
tmpList.CommaText := temp;
phoneNameLst.Add(tmpList[0]); //nur Namen
phoneNumberLst.Add(tmpList[1]); //nur Nummern
PhoneAreaLst.Add(tmpList[2]); //nur Status
end;
tmpList.Free;
end;
end;
Die Funktion .DelimitedText bzw .CommaText erzeugt aus einem (hier) KommaSeparierten String einzelne Strings (in deinem Beispiel 3), auf die Du mittels Index zugreifen kannst
Also die TXT-datei mal so gefüllt:
Hans Müller,02838778876,Home
Frank Zander,054632882622,Work
Frauke Musterfrau,08826255522,Mobil
ergab nicht das richtige Ergebnis.
Inhalt von phoneNameLst:
Hans
Frank
Frauke
Inhalt von phoneNumberLst:
Müller
Zander
Musterfrau
Inhalt von phoneAreaLst:
02838778876
054632882622
08826255522
Gruß bluescreen25
...und ich dachte, Delphi ist ein Programmgenerator mit nur einem Button......tzzz