AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Wie auf den Eintrag der Combobox zugreifen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie auf den Eintrag der Combobox zugreifen?

Ein Thema von Rolf Rostig · begonnen am 26. Mär 2004 · letzter Beitrag vom 26. Mär 2004
Antwort Antwort
Rolf Rostig

Registriert seit: 5. Mär 2003
Ort: Stade
117 Beiträge
 
Delphi 7 Professional
 
#1

Wie auf den Eintrag der Combobox zugreifen?

  Alt 26. Mär 2004, 12:04
Hallo,

ich fülle eine Combobox aus einer Firebird-Tabelle:


Delphi-Quellcode:
  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;
Nun möchte ich mit der ID auf den Eintrag der Combobox zugreifen.
Aber wie?

Combobox.ItemIndex := FieldByName('ID').asInteger geht ja nicht
Gruss
Rolf
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: Wie auf den Eintrag der Combobox zugreifen?

  Alt 26. Mär 2004, 12:36
TStrings hat doch auch die Funktion "IndexOfObject":
  ...ComboBox1.Items.IndexOfObject(TObject(FieldByName('ID').asInteger));
  Mit Zitat antworten Zitat
DelphiDeveloper

Registriert seit: 9. Apr 2003
Ort: Köln
256 Beiträge
 
Delphi XE2 Enterprise
 
#3

Re: Wie auf den Eintrag der Combobox zugreifen?

  Alt 26. Mär 2004, 13:06
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;
  Mit Zitat antworten Zitat
Rolf Rostig

Registriert seit: 5. Mär 2003
Ort: Stade
117 Beiträge
 
Delphi 7 Professional
 
#4

Re: Wie auf den Eintrag der Combobox zugreifen?

  Alt 26. Mär 2004, 15:39
Hallo DelphiDeveloper,

nee genau anders herum.
Jetzt will ich zu dieser ID den ItemIndex.
Gruss
Rolf
  Mit Zitat antworten Zitat
DelphiDeveloper

Registriert seit: 9. Apr 2003
Ort: Köln
256 Beiträge
 
Delphi XE2 Enterprise
 
#5

Re: Wie auf den Eintrag der Combobox zugreifen?

  Alt 26. Mär 2004, 16:04
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
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#6

Re: Wie auf den Eintrag der Combobox zugreifen?

  Alt 26. Mär 2004, 16:06
Haalllloo...

Ist das denn nicht das, was du wolltest?
Zitat von Robert_G:
ComboBox1.Items.IndexOfObject(TObject(FieldByName('ID').asInteger));
  Mit Zitat antworten Zitat
DelphiDeveloper

Registriert seit: 9. Apr 2003
Ort: Köln
256 Beiträge
 
Delphi XE2 Enterprise
 
#7

Re: Wie auf den Eintrag der Combobox zugreifen?

  Alt 26. Mär 2004, 16:12
@robert hat recht geht einfacher

CBNamen.ItemIndex := integer(CBNamen.Items.IndexOfObject(TObject(aID))) ;
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#8

Re: Wie auf den Eintrag der Combobox zugreifen?

  Alt 26. Mär 2004, 16:30
Wozu der TypeCast????
TStrings.IndexOfObject liefert einen Integer!
  Mit Zitat antworten Zitat
Rolf Rostig

Registriert seit: 5. Mär 2003
Ort: Stade
117 Beiträge
 
Delphi 7 Professional
 
#9

Re: Wie auf den Eintrag der Combobox zugreifen?

  Alt 26. Mär 2004, 17:11
Danke, so geht´s

Gruss
Rolf
  Mit Zitat antworten Zitat
DelphiDeveloper

Registriert seit: 9. Apr 2003
Ort: Köln
256 Beiträge
 
Delphi XE2 Enterprise
 
#10

Re: Wie auf den Eintrag der Combobox zugreifen?

  Alt 26. Mär 2004, 18:05
@robert hat schon wieder recht


typecast brauchts wirklich nicht bei IndexOfObject

CBNamen.ItemIndex := CBNamen.Items.IndexOfObject(TObject(aID));
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz