![]() |
Zwei Combobox
Hallo ich möchte das wenn ich zwei Combobox geändert habe button2.enabled=:true setzen.
wie mach ich das?? :shock: mfg matthias |
Re: Zwei Combobox
Hallo!
Wenn es bei nur zwei Comboboxen bleibt, könntest du zwei Variablen global deklarieren: CB1Geändert: boolean; CB2Geändert: boolean; Dann bei den OnChangeEreignissen der Boxen CB1Geändert bzw. CB2Geändert auf true setzen und dahinter schreiben(Im OnchangeEreignis von ComboBox1):
Delphi-Quellcode:
Vielleicht keine schöne Variante, müsste aber funktionieren! :wink:
if CB2Geändert= true then Button1.enabled:= true;
Gruß Flo |
Re: Zwei Combobox
versteh ich nicht ganz alles was du meinst
kannst du das verfeinert bzw im quelltext deutlich machen? danke im vorraus matthias :pale: |
Re: Zwei Combobox
Hier ein Beispiel. Wenn Checkbox1 geändert wird, dann wird cb1 auf True gesetzt, genau das selbe bei Checkbox2. Noch dazu wird gefragt, ob schon beide geändert wurden.
Delphi-Quellcode:
var
Form1: TForm1; cb1: Boolean = False; cb2: Boolean = False; implementation {$R *.dfm} procedure TForm1.CheckBox1Click(Sender: TObject); begin cb1 := True; if (cb1) and (cb2) then Button1.Enabled := True; end; procedure TForm1.CheckBox2Click(Sender: TObject); begin cb2 := True; if (cb1) and (cb2) then Button1.Enabled := True; end; |
Re: Zwei Combobox
Hai,
und um die IF-Abfrage zu vermeiden kannst Du es auch so schreiben:
Delphi-Quellcode:
var
Form1: TForm1; cb1: Boolean = False; cb2: Boolean = False; implementation {$R *.dfm} procedure TForm1.CheckBox1Click(Sender: TObject); begin cb1 := True; Button1.Enabled := (cb1) and (cb2); end; procedure TForm1.CheckBox2Click(Sender: TObject); begin cb2 := True; Button1.Enabled := (cb1) and (cb2); end; |
DP-Maintenance
Dieses Thema wurde von "Sharky" von "Datenbanken" nach "VCL-Komponenten und Controls" verschoben.
Auch dies ist keine Datenbankfrage. Bitte auf die richtige Sparte achten! Danke. |
Re: Zwei Combobox
:hi:
Wuaegner meint, du sollt 2 Variablen global deklarieren:
Delphi-Quellcode:
im OnCnage der beiden ComboBoxen stellst du sie auf true:
var
Form1: TForm1; CB1Geaendert, CB2Gaeändert: boolean; implementation
Delphi-Quellcode:
Dann fragst du evtl in den OnChanges npch das ab:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin CB1Geaendert := true; end; procedure TForm1.ComboBox2Change(Sender: TObject); begin CB2Geaendert := true; end;
Delphi-Quellcode:
also dann so:
if CB1Geaendert and CB2Geaendert then
Button1.Enabled := false;
Delphi-Quellcode:
Ausfühlicher geht's glaub kaum mehr. :mrgreen: ;)
procedure TForm1.ComboBox1Change(Sender: TObject);
begin CB1Geaendert := true; if CB1Geaendert and CB2Geaendert then Button1.Enabled := false; end; procedure TForm1.ComboBox2Change(Sender: TObject); begin CB2Geaendert := true; if CB1Geaendert and CB2Geaendert then Button1.Enabled := false; end; Edit: Mist, ich schreib nie mehr sowas langes :stupid: |
Re: Zwei Combobox
Danke für die Schnelle und ausführliche Hilfe
:cheers: :coder: |
Re: Zwei Combobox
Zitat:
Delphi-Quellcode:
Warum auf Werte überprüfen, die schon bekannt sind??? :P
procedure TForm1.CheckBox1Click(Sender: TObject);
begin cb1 := True; Button1.Enabled := cb2; end; procedure TForm1.CheckBox2Click(Sender: TObject); begin cb2 := True; Button1.Enabled := cb1; end; |
Re: Zwei Combobox
Zitat:
das habe ich gemacht um den Fall zu berücksichtigen das an anderer Stelle eine der Variablen wieder auf False gesetzt wird ;-) Aber im Kontext der Frage hast Du mit deinem Code natürlich recht :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 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 by Thomas Breitkreuz