Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   combobox gewählter eintrag auslesen, aber wie ? ergänzt! (https://www.delphipraxis.net/126227-combobox-gewaehlter-eintrag-auslesen-aber-wie-ergaenzt.html)

khh 20. Dez 2008 11:49


combobox gewählter eintrag auslesen, aber wie ? ergänzt!
 
hallo zusammen,
also ich hab jetzt meine combobox aus den diversen Gründen mit Objecten bestückt:
myForm.AnredeCombobox.Items.AddObject(Tanreden(Fan redenlist.items[i]).Bezeichnung, Tanreden(Fanredenlist.items[i]));

funktioniert auch alles wunderbar.

beim Auslesen der Box ist es auch kein Problem den index des selectierten Eintrages zu bekommen.
ich brauche aber die id meines Objektes, also :
Fanredenlist.items[i]).anrede_id

wie komme ich da ran, bzw wie ist die Syntax?
Steh ich grad aufm Schlauch?
:wall:

Gruss KH

DeddyH 20. Dez 2008 11:50

Re: combobox gewählter eintrag auslesen, aber wie ?
 
Du hast es bestimmt überlesen: http://www.delphipraxis.net/internal...=978414#978414

khh 20. Dez 2008 11:54

Re: combobox gewählter eintrag auslesen, aber wie ?
 
Zitat:

Zitat von DeddyH

ich glaube es ist Zeit ins WE zu gehen ;-)
EDIT:
bin doch noch da ;-)


Irgendwie kapier ichs nicht.
Wenn ich das richtig sehe greifst du in deinem Beispiel auf den Eintrag der Listbox zu.
ich brauche aber doch den wert ( in diesem falle die anreden_id ) des Objects in der Listbox.

>> myForm.AnredeCombobox.Items.AddObject(Tanreden(Fan redenlist.items[i]).Bezeichnung, Tanreden(Fanredenlist.items[i]));


also z.B die Bezeichnung oder sonst ne Property der Anredenliste
mit :
id:= myForm.AnredeComboBox.Items.Objects[Tanreden].ANREDEN_ID ;
versuche ich doch auf die Property der combobox zuzugreifen, die es ja nicht gibt :-8

wie ist die richtige syntax?

:wall: :wall:
ich danke dir

Gruss KH

DeddyH 20. Dez 2008 13:01

Re: combobox gewählter eintrag auslesen, aber wie ? ergänzt!
 
Ich nehme meine Beispielzeile zum besseren Verständnis mal etwas auseinander.
Zitat:

Delphi-Quellcode:
TSalutation(lbSalutations.Items.Objects[lbSalutations.ItemIndex])

Mit
Delphi-Quellcode:
lbSalutations.Items.Objects[lbSalutations.ItemIndex]
greife ich auf das Objekt zu, das in der aktuell selektierten Zeile der Listbox hinterlegt ist. In diesem Moment ist das noch vom Typ TObject, daher muss es in den passenden Typen gecastet werden, um Zugriff auf die objektspezifischen Properties zu erhalten. Da ich genau weiß, von welchem Typ das Objekt ist, mache ich einen harten Cast, fehlertoleranter wäre ein Softcast mittels as-Operator.
Delphi-Quellcode:
TSalutation(lbSalutations.Items.Objects[lbSalutations.ItemIndex]) //harter Cast des TObject in meine Klasse TSalutation
Nun ist es ein Objekt vom Typ TSalutation, ich kann also per "Punkt-Notation" auf dessen Eigenschaften und Methoden zugreifen.
In Deinem Fall müsste es also ungefähr so aussehen:
Delphi-Quellcode:
id:= Tanreden(myForm.AnredeComboBox.Items.Objects[myForm.AnredeComboBox.ItemIndex]).ANREDEN_ID ;

khh 20. Dez 2008 13:21

Re: combobox gewählter eintrag auslesen, aber wie ? ergänzt!
 
super so passts


danke schön


Gruss KH


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz