AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fragen zu ComboBox und Items

Ein Thema von Dibelius · begonnen am 6. Nov 2003 · letzter Beitrag vom 7. Nov 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Dibelius
Dibelius

Registriert seit: 6. Nov 2003
Ort: DDR
12 Beiträge
 
#1

Fragen zu ComboBox und Items

  Alt 6. Nov 2003, 17:36



Hi, ich hoffe, das gehört in dieses Forum.

Ich bin noch Noob, was Programmierung und Delphi angeht.
Ich hab ein kleines Programm erstellt, wo ich verschiedene Buttons hab und 4 ComboBoxes (die alle übereinander liegen. Ich hab das so gescriptet, dass zb. ComboBox4 sichtbar wird, nachdem man auf Button3 geklickt hat. alle anderen ComboBoxes werden dann invisible. Soviel dazu.
Nun hab ich natürlich auch Items in den jeweiligen ComboBoxes. Bei einem Klick auf ein bestimmtes Item soll nun etwas passieren. In meinem Fall zb. sollen Edit-Felder und Labels un-/sichtbar werden. Das ist alles kein Problem, nur weiß ich nicht, wie man das so scriptet, dass bei einem Klick auf Item1 zb. genau die Aktion1 in Kraft tritt und bei einem Klick auf Item2 genau die Aktion2.
Bei mir kommt immer Aktion1, egal ob ich Item1, Item2, Item3 ... gewählt habe.

Ich denke, ihr wisst schon, was ich meine.

Wenn mir jemand den Quellcode mal geben könnte, wäre super!

Greetz Dibi
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Fragen zu ComboBox und Items

  Alt 6. Nov 2003, 17:44
Hi und herzlich willkommen im Forum!

Du hast zwei möglichkeiten:

Die erste:

Delphi-Quellcode:
Procedure TForm1.Combobox1click(Sender:TObject);
begin
  case Combobox1.itemindex of
    0: begin
        Label1.visible := true;
        Label2.visible := false;
        ...
    1: Label3.visible := false;
     ....
Das ist die erste Veriosn! Achtung 0 ist für den ersten Combobox eintrag 1 für den zweiten und so weiter!

Die Zweite möglichkeit:

Delphi-Quellcode:
Procedure {Combobox};
begin
  if Combobox1.itemindex = 0 then
  begin
    Label1.visible := true;
    Label2.visible := false;
  end
  else
  if Combobox1.visible = 1 then
  {blablabla}
Spider
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#3

Re: Fragen zu ComboBox und Items

  Alt 6. Nov 2003, 17:45
Hallo und herzlich Willkommen in der DP!

Schau Dir mal Case und ItemIndex an. So kann man auf die jeweiligen Werte der ComboBox zugreifen.
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#4

Re: Fragen zu ComboBox und Items

  Alt 6. Nov 2003, 17:47
Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  Case Combobox1.ItemIndex Of
    0: Aktion1; // Item1
    1: Aktion2; // Item2
    2: Aktion3; // Item3
    // ....
  end;
end;
[edit]
Ups... da war einer schneller
[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Fragen zu ComboBox und Items

  Alt 6. Nov 2003, 17:50
@scp

Hihi war schneller
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#6

Re: Fragen zu ComboBox und Items

  Alt 6. Nov 2003, 17:59
Zitat von Spider:
@scp

Hihi war schneller
Dafür habt Ihr beide dafür gesorgt, das ein Mensch mehr nicht weiss wo die OH zu finden ist.
  Mit Zitat antworten Zitat
Benutzerbild von Dibelius
Dibelius

Registriert seit: 6. Nov 2003
Ort: DDR
12 Beiträge
 
#7

Re: Fragen zu ComboBox und Items

  Alt 6. Nov 2003, 18:04
@Spider, scp
ich danke euch. klappt

@Daniel B
hol's nach
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#8

Re: Fragen zu ComboBox und Items

  Alt 6. Nov 2003, 18:12
Hallo Dibelius,

schön, dass Du Dich mit Delphi beschäftigen möchtest.

Du kannst in Delphi (visuellen) Komponenten so mit Methoden verknüpfen, dass sie beim Eintreten eines bestimmten Ereignisses ausgelöst werden. Wenn Du zB im Formdesigner einen Doppelklick auf einen Button1 machst, wird automatisch eine Methode .Button1Click generiert und mit dem Ereignis Button1.OnClick verknpüft.

In Deinem Fall möchtest Du, wenn ich Dich richtig verstanden habe, eine Handlung durchführen, wenn ein Eintrag aus einer Combobox, sagen wir Combobox1, ausgewählt wird. Das ist das Ereignis Combobox1.OnChange. Wenn Du die entsprechende Methode mithilfe des Objektinspektors erzeugst und zuweist, wird sie immer ausgeführt, wenn ein Eintrag der Combobox1 ausgewählt wird. Es gibt kein zweites, drittes oder viertes Ereignis für alle denkbaren Anzahlen von Elementen, die Auswahl eines beliebigen Elements hat das Eregnis OnChange zur Folge.
Damit Du unterscheiden kannst, welcher Eintrag ausgewählt wurde, nutze die Eigenschaft ItemIndex (Nutze die ausführliche OH!).

Du kannst auch alle OnChange-Ereignisse der Comboboxen mit der selben Methode verknüpfen, musst dann allerdings entscheiden, welche Combobox das Ereigniss ausgelöst hat.
Zwar könntest Du mit
Delphi-Quellcode:
if Sender=Combobox1 then Foo else
if Sender=Combobox2 then Bar else
  FooBar;
jede Komponente abfragen, dies bietet sich idR aber nicht an.
Nutze stattdessen den Parameter Sender der Ereignisbehandlungsroutine, sie ist eine Referenz auf das ereignisauslösende Objekt und caste es zu dem Typen, von dem Du ausgehst.
Delphi-Quellcode:
var
  myCombobox: TCombobox;
begin
  myCombobox:= Sender as TCombobox;
  //Ab hier mit myCombobox arbeiten, statt mit Combobox1, etc.
  //also zB case myCombobox.ItemIndex of...
Du solltest vorher jedoch überprüfen, ob es sich bei Sender wirklich um einen adequaten Typ handelt (sieh hierzu in die OH unter "is" und "as" nach).

EDIT: Mist, zu langsam getippt
gruß, choose
  Mit Zitat antworten Zitat
Benutzerbild von Dibelius
Dibelius

Registriert seit: 6. Nov 2003
Ort: DDR
12 Beiträge
 
#9

Re: Fragen zu ComboBox und Items

  Alt 6. Nov 2003, 18:19
ja etwas *g*

trotzdem danke für die Arbeit die ihr euch gemacht habt. klappt jetzt
  Mit Zitat antworten Zitat
Benutzerbild von Dibelius
Dibelius

Registriert seit: 6. Nov 2003
Ort: DDR
12 Beiträge
 
#10

Re: Fragen zu ComboBox und Items

  Alt 7. Nov 2003, 17:57
mmmh...

sagt mal, ist es möglich, statt der index nummer den index text abzurufen, also im Prinzip eine Index in eine Zeichenkette umzuwandeln (oder so ähnlich )?
Ich habe gemerkt, dass es praktischer wäre, wenn ich die Items per dem Text abrufen könnte, da ich mit der Zeit immer wieder Items zur ComboBox hinzufügen werde und diese alphabetisch ordne. Das heißt, ich hätte dann einen haufen arbeit damit, die ganzen index nummern wieder zu ändern.

Danke schonmal,

Greetz Dibi
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:07 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