Zitat von
HolgerCW:
Delphi-Quellcode:
...
For I := 1 to 5 do
begin
For T := 1 to 5 do
begin
...
Du macht unnötig viele Vergleiche.
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;
...