![]() |
Wie auf den Eintrag der Combobox zugreifen?
Hallo,
ich fülle eine Combobox aus einer Firebird-Tabelle:
Delphi-Quellcode:
Nun möchte ich mit der ID auf den Eintrag der Combobox zugreifen.
with DM.IBSQLAdressen do
begin close; ExecQuery; cbNamen.Items.clear; while not Eof do begin cbNamen.Items.AddObject(FieldByName('Eintrag').asString, TObject(FieldByName('ID').asInteger)); next; end; close; end; Aber wie?
Delphi-Quellcode:
geht ja nicht
Combobox.ItemIndex := FieldByName('ID').asInteger
|
Re: Wie auf den Eintrag der Combobox zugreifen?
TStrings hat doch auch die Funktion "IndexOfObject":
Delphi-Quellcode:
...ComboBox1.Items.IndexOfObject(TObject(FieldByName('ID').asInteger));
|
Re: Wie auf den Eintrag der Combobox zugreifen?
Hallo Rolf,
du musst dein TObject als integer casten um an die ID's zu kommen: Der ItemIndex ist ja schon vom anwender bestimmt, indem er einen Eintrag in der Combo ausgewaehlt hat. Jetzt willst du zu diesem ItemIndex die ID.
Delphi-Quellcode:
with CBNamen do
begin showmessage(Inttostr( integer( Items.Objects[ItemIndex]))); end; |
Re: Wie auf den Eintrag der Combobox zugreifen?
Hallo DelphiDeveloper,
nee genau anders herum. Jetzt will ich zu dieser ID den ItemIndex. |
Re: Wie auf den Eintrag der Combobox zugreifen?
dann faellt mir nichts bessers ein als sowas
Delphi-Quellcode:
function TForm1.GetItemIndexFromID(const aID: integer): integer;
var i: integer; begin result := -1; with CBNamen do begin i := 0; while i <= pred(CBNamen.Items.Count) do begin if integer(cbnamen.Items.Objects[i]) = aID then begin result := i; break; end; //if inc(i) end; //while end; //with end; //func |
Re: Wie auf den Eintrag der Combobox zugreifen?
Haalllloo... :hi:
Ist das denn nicht das, was du wolltest? Zitat:
|
Re: Wie auf den Eintrag der Combobox zugreifen?
@robert hat recht geht einfacher
CBNamen.ItemIndex := integer(CBNamen.Items.IndexOfObject(TObject(aID))) ; |
Re: Wie auf den Eintrag der Combobox zugreifen?
Wozu der TypeCast????
TStrings.IndexOfObject liefert einen Integer! |
Re: Wie auf den Eintrag der Combobox zugreifen?
Danke, so geht´s
:cheers: |
Re: Wie auf den Eintrag der Combobox zugreifen?
@robert hat schon wieder recht :stupid:
typecast brauchts wirklich nicht bei IndexOfObject CBNamen.ItemIndex := CBNamen.Items.IndexOfObject(TObject(aID)); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:36 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 by Thomas Breitkreuz