Wenn du mehrere Daten an ein TStrings hänge willst, wobei TListBox Items sind TStrings, dann würde ich es mit Objekten machen, denn da kannst an jedes Item Daten anhängen wie du willst.
Hier ein kleines Beispiel. Es hängt nur ein Datum als Beispiel ran, aber du kannst es erweitern wie du willst.
Delphi-Quellcode:
type
TInfo = class //Beispiel-Klasse
DT: TDateTime;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Info: TInfo;
p: Integer;
begin
with ListBox1 do
begin
Info := TInfo.Create; //Beispiel-Objekt Erstellen
Info.DT := Now;
p := Items.AddObject('Datum und Zeit', Info); //Zuweisen
if p > -1 then
ShowMessage(Format('Aktuelle Zeit im Item %d als Objekt gespeichert.',
[p]));
end;
end;
procedure TForm1.ListBox1Click(Sender: TObject);
var
DT: TDateTime;
Info: TInfo;
begin
with ListBox1 do
begin
if Count = 0 then Exit;
if ItemIndex = -1 then Exit;
if not (Items.Objects[ItemIndex] is TInfo) then Exit;
Info := TInfo(Items.Objects[ItemIndex]); //Auslesen
DT := Info.DT;
ShowMessage('Im Objekt gespeicherte Zeit: ' + TimeToStr(DT));
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
var
i: Integer;
Info: TInfo;
begin
with ListBox1 do //Objekte müssen separat freigegeben werden
for i := 0 to Items.Count - 1 do
begin
Info := TInfo(Items.Objects[i]); //Freigeben
Info.Free;
end;
end;
Mit gewissem Aufwand geht es auch mit Records.