[Erledigt] Frage zu ComboBox

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

[Erledigt] Frage zu ComboBox

Beitrag von MacWomble »

Ich fülle aus der Objektliste Anreden die Combobox cbAnrede SELEKTIV!
Hierbei übergebe ich auch die ID des jeweiligen Objekts:

Code: Alles auswählen

 
procedure TAdressEditor.FillCBAnreden;
var
  i: integer;
begin
  for i := 0 to Anreden.Count - 1 do
    if Anreden[i].InAdresse = 1 then
      cbAnrede.Items.AddObject(Anreden.Items[i].Anrede, TObject(IntPtr(Anreden.Items[i].ID)));
end;
 


Nun möchte ich in Abhängigkeit der cbAnrede weitere Daten aus dem Objekt Anreden lesen:

Code: Alles auswählen

 
  idx:=  PtrUInt(cbAnrede.Items.Objects[cbAnrede.ItemIndex]);
  edBriefanrede.Text := Anreden[idx].Anrede;
 


idx enthält dann die ID des richtigen Objekts, in edBriefanrede erscheint aber eine falsche Anrede :shock:

OK,schon klar: idx sollte den Index des Objekts in der Objektliste mit der ID bezeichnen. Nur, wie macht man dies am sinnvollsten?

Nachtrag: Wie so oft, beim erklären des Problems ist mir auch die Lösung wieder eingefallen. Ich muss die Anreden in einer Schleife durchgehen, bis ich die passende ID gefunden habe.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Antworten