Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#14

Re: Doppelte Einträge in 5 ComboBoxen herausfinden ?

  Alt 14. Dez 2007, 14:17
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;
...
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat