AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Doppelte Einträge in 5 ComboBoxen herausfinden ?
Thema durchsuchen
Ansicht
Themen-Optionen

Doppelte Einträge in 5 ComboBoxen herausfinden ?

Ein Thema von HolgerCW · begonnen am 14. Dez 2007 · letzter Beitrag vom 14. Dez 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von MaBuSE
MaBuSE

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

Re: Doppelte Einträge in 5 ComboBoxen herausfinden ?

  Alt 14. Dez 2007, 13:09
Zitat von Die Muhkuh:
wenn Du z.B. den Text einer ComboBox abfragen willst, könntest Du es z.B. so machen:
Ok Du warst schneller
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:
...
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;
...
Damit ist man flexibel, da mann beliebig viele Comboboxen angeben kann.
Ich hoffe das hilft Dir weiter
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#12

Re: Doppelte Einträge in 5 ComboBoxen herausfinden ?

  Alt 14. Dez 2007, 13:12
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.
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#13

Re: Doppelte Einträge in 5 ComboBoxen herausfinden ?

  Alt 14. Dez 2007, 13:16
Astrein.

Vielen dank für all die Lösungen.

Gruss

Holger
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

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

Re: Doppelte Einträge in 5 ComboBoxen herausfinden ?

  Alt 14. Dez 2007, 13: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
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#15

Re: Doppelte Einträge in 5 ComboBoxen herausfinden ?

  Alt 14. Dez 2007, 13:18
Hi,

man könnte das ganze jetzt noch weitgehend "verbessern" und den Index der ComboBoxen zurückgeben, in denen das gleiche ausgewählt ist.
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#16

Re: Doppelte Einträge in 5 ComboBoxen herausfinden ?

  Alt 14. Dez 2007, 13:34
Super,

danke werde es umsetzen.

Gruss

Holger
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz