Hallo,
ich hatte mal für einen anderen Thread das explode
so umgebaut das es eine StringList zurückgibt.
Delphi-Quellcode:
// Explode trennt S in die durch Separator getrennten Elemente auf. Wenn Limit
// > 0 ist, so werden max. Limit Elemente getrennt, wobei im letzen Element
// die Restzeichenkette steht.
function Explode(const Separator, S: string; Limit: Integer = 0): TStringList;
var
SepLen: Integer;
F, P: PChar;
Index: Integer;
begin
result := TStringList.Create;
if (S = '') or (Limit < 0) then Exit;
if Separator = '' then
begin
Result.add(S);
Exit;
end;
SepLen := Length(Separator);
Index := 0;
P := PChar(S);
while P^ <> #0 do
begin
F := P;
P := AnsiStrPos(P, PChar(Separator));
if (P = nil) or ((Limit > 0) and (Index = Limit - 1)) then
P := StrEnd(F);
result.Add(copy(AnsiString(F),0,P-F));
inc(index,1);
if P^ <> #0 then Inc(P, SepLen);
end;
end;
Damit würde Dein Code dann so ausschauen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i: Integer;
List : TStringList;
List2: TStringList;
begin
List:=TStringList.Create;
try
List.LoadFromFile(ExtractFilePath(ParamStr(0)) + '\Datei.txt');
for i:=0 to List.Count-1 do
begin
List2:=explode('=',List[i]);
ListBox1.Items.Insert(i, List2[1]);
ListBox2.Items.Insert(i, List2[2]);
ListBox3.Items.Insert(i, List2[3]);
ListBox4.Items.Insert(i, List2[4]);
List2.free;
end;
finally
List.Free;
end;
end;
Grüße
Klaus