Thema: Delphi Problem mit ComboBox

Einzelnen Beitrag anzeigen

gb0

Registriert seit: 27. Aug 2005
20 Beiträge
 
#5

AW: Problem mit ComboBox

  Alt 23. Feb 2011, 17:40
Stimme Stahli voll zu - das müsste Dein Problem lösen, auch wenn ich es jetzt nicht unter D2006 getestet habe.

Ganz schnell hingetippt: Hier hast Du drei Möglichkeiten, von denen doch mindestens eine verwendbar sein müsste (die obige ist auch dabei). Drei ComboBoxen - ein Eintrag gewählt - löscht den betreffenden Eintrag aus allen drei Listen...

Delphi-Quellcode:
procedure TForm1.ComboBox1Click(Sender: TObject);
var
  choice: byte;
  ctext: string;
begin
  choice := ComboBox1.ItemIndex;
  ctext := ComboBox1.Text;
  ComboBox1.Items.Delete(choice);
  choice := ComboBox2.Items.IndexOf(ctext);
  ComboBox2.Items.Delete(choice);
  choice := ComboBox3.Items.IndexOf(ctext);
  ComboBox3.Items.Delete(choice);
end;

procedure TForm1.ComboBox2Click(Sender: TObject);
var
  ctext: string;
  choice: byte;
begin
  choice := ComboBox2.ItemIndex;
  cText := ComboBox2.Items[choice];
  ComboBox1.Items.Delete(ComboBox1.Items.IndexOf(ctext));
  ComboBox3.Items.Delete(ComboBox3.Items.IndexOf(ctext));
  ComboBox2.Items.Delete(choice);
end;

procedure TForm1.ComboBox3Click(Sender: TObject);
begin
  ComboBox1.Items.Delete(ComboBox1.Items.IndexOf(ComboBox3.Text));
  ComboBox2.Items.Delete(ComboBox2.Items.IndexOf(ComboBox3.Text));
  ComboBox3.Items.Delete(ComboBox3.Items.IndexOf(ComboBox3.Text));
end;
Es ist immer vernünftig, wann immer möglich bei ListBox und ComboBox auf die Original-Einträge zurückzugreifen. Dadurch haben kleinere oder größere Unstimmigkeiten keine Chance, Unfug zu erzeugen, selbst 'En glisch' nicht! Könnte es sein, dass in der String-Liste für eine Deiner ComboBoxen 'Englisch ' steht?

LG, Günther

Geändert von gb0 (23. Feb 2011 um 18:24 Uhr)
  Mit Zitat antworten Zitat