![]() |
Re: Doppelte Einträge in 5 ComboBoxen herausfinden ?
Zitat:
Aber was macht Du wenn er 7 Comboboxen auf dem Form hat, aber nur 5 Testen will? In dem Fall ist das mit dem direkten Zuweisen einfacher. ;-) Mann kann das auch in eine Funktion packen so was wie:
Delphi-Quellcode:
Damit ist man flexibel, da mann beliebig viele Comboboxen angeben kann.
...
function CheckComboBoxes(const a: array of TComboBox): Boolean; var i, j: Integer; begin Result := True; for i := 0 to High(a) do if a[i].ItemIndex > -1 then for j := i + 1 to High(a) do begin Result := Result and (a[i].ItemIndex <> a[j].ItemIndex); end; end; procedure TForm1.Button2Click(Sender: TObject); begin if CheckComboBoxes([ComboBox1, ComboBox2, ComboBox3]) then Caption := 'OK' else Caption := 'NOT OK'; end; ... Ich hoffe das hilft Dir weiter ;-) |
Re: Doppelte Einträge in 5 ComboBoxen herausfinden ?
Hi MaBuSe,
da hast Du natürlich recht. Wenn ich jetzt Deine Lösung mit dem Array sehe, ist es imho die beste Lösung. ;-) |
Re: Doppelte Einträge in 5 ComboBoxen herausfinden ?
Astrein.
Vielen dank für all die Lösungen. Gruss Holger |
Re: Doppelte Einträge in 5 ComboBoxen herausfinden ?
Zitat:
i = 1 und t = 2 gibt immer das selbe Ergebnis wie i = 2 und t = 1 Ich habe meine Funktion von ItemIndex auf Text Vergleich umgestellt, da es Dir wohl sympatischer ist ;-) (Durch das [i]Result := Result and (a.Text <> a[j].Text); wird übrigens bei Result := False kein Vergleich mehr durchgeführt, da der Compiler das wegoptimiert.)
Delphi-Quellcode:
...
function CheckComboBoxes(const a: array of TComboBox): Boolean; var i, j: Integer; begin Result := True; for i := 0 to High(a) do if a[i].Text <> '' then for j := i + 1 to High(a) do begin Result := Result and (a[i].Text <> a[j].Text); end; end; procedure TForm1.Button2Click(Sender: TObject); begin if CheckComboBoxes([ComboBox1, ComboBox2, ComboBox3]) then Caption := 'OK' else Caption := 'Ein Auftragstyp ist doppelt vorhanden'; end; ... |
Re: Doppelte Einträge in 5 ComboBoxen herausfinden ?
Hi,
man könnte das ganze jetzt noch weitgehend "verbessern" und den Index der ComboBoxen zurückgeben, in denen das gleiche ausgewählt ist. ;-) |
Re: Doppelte Einträge in 5 ComboBoxen herausfinden ?
Super,
danke werde es umsetzen. Gruss Holger |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 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-2025 by Thomas Breitkreuz