Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 5. Jun 2003, 12:53
Moin Timm,

als erstes:
Bitte künftig unbedingt beachten:
Zwei Fragen => Zwei Threads.

Das verhindert ein Durcheinander im Thread, und erleichtert anderen die Suche.

Nun zu Deinem ComboBox-Problem.
Das liesse sich recht einfach lösen.
Du kannst einfach die Indizes beider ausgewählten Einträge in einen Wert zusammenrechnen, und dann, mit Hilfe einer Case Anweisung ermitteln, welche Funktion ausgeführt wird.

Beispiel:

Delphi-Quellcode:
const
  _Function1 = $0000;
  _Function2 = $0100;
  //...
var
  wFunction : WORD;

begin
  // Kein Eintrag gewählt, nichts zu tun
  if ComboBox1.ItemIndex = -1 then exit;
  if ComboBox2.ItemIndex = -1 then exit;
  // Durch shl 8, wird der Index in das höherwertige Byte verschoben
  wFunction := (ComboBox1.ItemIndex shl 8) or (ComboBox2.ItemIndex);
  case wFunction of
    _Function1 : begin
      // 1. Funktion ausführen
    end;
    _Function2 : begin
      // 2. Funktion ausführen
    end;
    // ...
  end;
end;
Das Beispiel geht von maximal 255 Einträgen je ComboBox aus.
Falls der Index nicht sicher auf einen bestimmten ComboBox Eintrag schliessen lässte, kann man die Items auch mit AddObject hinzufügen, und als "Objekt" den entsprechenden Wert speichern.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat