Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi combobox enabled (https://www.delphipraxis.net/40407-combobox-enabled.html)

Matze 15. Feb 2005 13:41

Re: combobox enabled
 
Da es sich beides mal um boolsche Werte handelt, kann man das auch schön kurz schreiben, wie es Sharky demonstriert hat.

Nachtrag: Selbst so etwas würde gehen:
Delphi-Quellcode:
  i := 5;
  CheckBox1.Checked := i = 5; //gecheckt

herrentor 15. Feb 2005 13:45

Re: combobox enabled
 
die sache ist jetzt bloß, dass sich die checkbox auf einem anderen formular als die comboboxen befindet. das würde doch bedeuten, dass ich mit sendern arbeiten muss, oder wie bekommt sonst das formular mit den comboboxen gesagt ob ein häckchen drin ist.

Sharky 15. Feb 2005 13:48

Re: combobox enabled
 
Zitat:

Zitat von herrentor
die sache ist jetzt bloß, dass sich die checkbox auf einem anderen formular als die comboboxen befindet.

Dann versuche es mal so:
Code:
ComboBox1.Enabled := not ((ComboBox2.Text <> '') AND ([b]Name_der_Form.[/b]CheckBox1.Checked))

Neutral General 15. Feb 2005 13:48

Re: combobox enabled
 
Zitat:

Zitat von Sharky
[Delphi-Grundlagen = ON] *g*

Das Property .Enabled ist eine Boolvariable. Es kann ihr also True oder False zugewiesen werden.
Der Ausdrug (1=1) wird vom als Boolcheoperation gewertet und gibt True zurück wenn die Bedingung erfüllt ist. Ansonsten False.

Ergo ergibt
Delphi-Quellcode:
((ComboBox2.Text <> '') AND (CheckBox1.Checked))
True wenn in der Combobox2 ein Text steht und die Checkbox1 "gechecked" ist. Da es für diese Anforderung aber umgedreht sein soll wird das Ergebniss der Boolchenoperation mit NOT negiert.

Das war mir ja alles klar ich weis ja was Boolsche Variablen :roll:
Ich komm mir vor als hätte ich vor 5 min mein "Hallo Welt" Programm geschrieben :roll: :mrgreen:

@ Matze : das sowas :

Delphi-Quellcode:
i := 5;
CheckBox1.Checked := i = 5; //gecheckt
geht ist mir aber absolut neu :mrgreen:
Aber ich glaube das ist auch nicht sooo bekannt oder ?
Na gut... nochwas gelernt ^^

Matze 15. Feb 2005 13:49

Re: combobox enabled
 
Zitat:

Zitat von Neutral General
geht ist mir aber absolut neu :mrgreen:
Aber ich glaube das ist auch nicht sooo bekannt oder ?

Hab's spaßeshalber nur getestet und es ging. ;)

Aber praktisch ist das schon.

Irgendwie sind wir weit neben dem eigentlichen Thema.

Thanatos81 15. Feb 2005 13:53

Re: combobox enabled
 
Zitat:

Zitat von Neutral General

@ Matze : das sowas :

Delphi-Quellcode:
i := 5;
CheckBox1.Checked := i = 5; //gecheckt
geht ist mir aber absolut neu :mrgreen:
Aber ich glaube das ist auch nicht sooo bekannt oder ?
Na gut... nochwas gelernt ^^

Das ist mir zwar nicht neu (gehöre ich jetzt zu den Auserwählten :?: :wink:) Aber zur Übersichtlichkeit schreib ich es meist so:
Delphi-Quellcode:
i := 5;
CheckBox1.Checked := (i = 5);
Dann könne andere Leute, die den Code zu Gesicht bekommen, schneller was damit anfangen :wink:

herrentor 15. Feb 2005 13:58

Re: combobox enabled
 
wie wäre denn das umgedrehte beispiel dazu. ich möchte nämlich auch das die checkbox auslesen kann, ob sich die combobox2 bei einer auswahl von combobox1 auf enabled=false stellt?

Sharky 15. Feb 2005 14:03

Re: combobox enabled
 
Zitat:

Zitat von herrentor
wie wäre denn das umgedrehte beispiel dazu. ich möchte nämlich auch das die checkbox auslesen kann, ob sich die combobox2 bei einer auswahl von combobox1 auf enabled=false stellt?

Meinst Du das jetzt so?
Code für Form1:
Delphi-Quellcode:
implementation

Uses
 Unit2;

{$R *.dfm}

procedure TForm1.ComboBox2Change(Sender: TObject);
begin
  ComboBox1.Enabled := not ((ComboBox2.Text <> '') AND (Form2.CheckBox1.Checked))
end;
Code für Form2:
Delphi-Quellcode:
Uses
  Unit1;

{$R *.dfm}

procedure TForm2.CheckBox1Click(Sender: TObject);
begin
  Form1.ComboBox1.Enabled := not ((Form1.ComboBox2.Text <> '') AND (CheckBox1.Checked))
end;

Thanatos81 15. Feb 2005 14:04

Re: combobox enabled
 
Zitat:

Zitat von herrentor
wie wäre denn das umgedrehte beispiel dazu. ich möchte nämlich auch das die checkbox auslesen kann, ob sich die combobox2 bei einer auswahl von combobox1 auf enabled=false stellt?

Das würde ich im OnChange von ComboBox1 machen:
Delphi-Quellcode:
checkBox1.Checked := ComboBox2.Enabled;
oder
Delphi-Quellcode:
checkBox1.Checked := not(ComboBox2.Enabled);
Je nachdem wie rum es soll. Muss natürlich nach der Stelle, an der du ComboBox2 auf enabled := false stellst.
Falls da aber noch mehr passiert, wäre eine if-Struktur wahrscheinlich schon wieder übersichtlicher:
Delphi-Quellcode:
if Bedingung then
  begin
    ComboBox1.Enabled := false;
    CheckBox1.Checked := true;
    Anweisung3;
    Anweisung4;
  end;

herrentor 15. Feb 2005 14:11

Re: combobox enabled
 
schwere geburt. besten dank an alle.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 Uhr.
Seite 2 von 3     12 3      

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