Einzelnen Beitrag anzeigen

Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 8. Feb 2003, 17:18
Hallo FlatG,

du nervst doch nicht .

Also wenn ich dich richtig verstehe, willst du mehrere Einträge in eine ComboBox eintragen. Items ist ein Objekt der Klasse TStrings. Diese kann pro Eintrag genau einen String und ein beliebiges von TObject abgeleitetes Objekt übernehmen. Wenn du also mehrere Werte übernehmen willst, kannst du eine von 2 möglichen Lösungen wählen:

1. Zu baust den String so zusammen, dass du ihn hinterher wieder auseinander dividieren kannst. (Z.B. durch CommaSeparatedValues [eine Liste von Einträgen, die durch ein Trennzeichen z.B. ";" getrennt wird). Jeder String sieht dann eventuell so aus:
Eintrag1;Eintrag2;Eintrag3

2. Du definierst eine neue Klasse: TMyObjects:
Code:
TMyObjects = class(TObject)
  Eintrag1 : String;
  Eintrag2 : Integer;
  Eintrag3 : String;
  Eintrag4 : Boolean;
end;
Wenn du durch die Query läufst erzeugst du ein neues Objekt dieser Klasse:

Delphi-Quellcode:
NextEntry := TMyObjects.Create(Self);
NextEntry.Eintrag1 := ...
...
NextEntry.Eintrag4 := ...

{ jetzt in die Combobox packen }
ComboBox2.Items.AddObject(Query1.FieldByName('Name').AsString, NextEntry);
Übrigens: bei der ersten Lösung sind alle Ergebnisse sofort in der ComboBox sichtbar, bei der zweiten sind ist das Objekt unsichtbar.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat