Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Überprüfen ob bereits ein Eintrag vorhanden ist
Halunkel - Mo 29.05.06 22:21
Titel: Überprüfen ob bereits ein Eintrag vorhanden ist
Hallo!
Ich würde gerne andere Objekte ausblenden, sobald ein Eintrag in einer Combobox ausgewählt wurde. Aber wie schaffe ich das ohne großen Quelltext??
Eine Möglichkeit wäre:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| if combobox1.text = 'Eintrag1' then checkbox1.enabled := false; if combobox1.text = 'Eintrag2' then checkbox1.enabled := false; if combobox1.text = 'Eintrag3' then checkbox1.enabled := false; |
Aber irgendwie ist die Lsg. blöd!
Gibts da ne schönere Lsg.??
Narses - Mo 29.05.06 22:24
Moin!
Schau dir mal:
Delphi-Quelltext
1:
| ComboBox1.Items.IndexOf() |
an. ;)
cu
Narses
GSE - Mo 29.05.06 22:33
Delphi-Quelltext
1:
| case combobox.itemindex of |
ist's da schon eher
mfg
GSE
DelphiAnfänger - Mo 29.05.06 22:35
Delphi-Quelltext
1: 2: 3: 4:
| case combobox1.itemindex of 0 : checkbox1.enabled := false; 1 : checkbox1.enabled := false; 2 : checkbox1.enabled := false; |
wenn immer das selbe ausgeführt werden soll:
Delphi-Quelltext
1: 2:
| case combobox1.itemindex of 0,1,2 : checkbox1.enabled := false; |
ob das geht weiß ich net musst du mal probieren:
Delphi-Quelltext
1: 2:
| case combobox1.itemindex of 0..2 : checkbox1.enabled := false; |
EDIT: da war ja jemand schneller
Halunkel - Mo 29.05.06 23:44
Danke..
und wenn ich mehrere Checkboxen ausblenden möchte?
Die Caseformel funktioniert irgendwie nur, wenn ich nur Checkbox1 ausblende. Wie verknüpfe ich es?
Muss ich schreiben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| case combobox1.itemindex of 0..17 : Checkbox1.enabled := false; case combobox1.itemindex of 0..17 : Checkbox2.enabled := false; case combobox1.itemindex of 0..17 : Checkbox3.enabled := false; |
DelphiAnfänger - Mo 29.05.06 23:48
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| case combobox1.itemindex of 0..17 : begin Checkbox1.enabled := false; Checkbox2.enabled := false; Checkbox3.enabled := false; end; |
bei dem bin ich mir nicht sicher obs geht musst du mal ausprobieren:
Delphi-Quelltext
1: 2:
| case combobox1.itemindex of 0..17 : for i:=1 to 3 do Checkbox[i].enabled := false; |
JayEff - Di 30.05.06 00:18
Letzteres klappt natürlich NICHT, es sei denn CheckBox ist ein Array of TCheckBox. Aber klappen tut es so:
Delphi-Quelltext
1: 2:
| case combobox1.itemindex of 0..17 : for i:=1 to 3 do (FindComponent('CheckBox'+IntToStr(i)) as TCheckBox).enabled := false; |
Halunkel - Di 30.05.06 21:30
Danke für eure Antworten!!
Nun würde ich gerne verschiedenen Einträgen verschieden Werte zuordnen und dann in einem Editfeld ausgeben.
Im richtigen Programm kommen noch viele andere WErte dazu, deshalb ist es wichtig den Wert in einer Variablen zu speichern. Aber leider funktioniert das hier nicht!
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var a : double; procedure TForm1.ComboBox1Change(Sender: TObject); begin case comboBox1.ItemIndex of 0: a := 5; 1: a := 15;
Edit1.text := FloatToStr (a); end; |
[/user] - Di 30.05.06 21:32
Versuchs mal so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var a : double; procedure TForm1.ComboBox1Change(Sender: TObject); begin case comboBox1.ItemIndex of 0: a := 5; 1: a := 15; end; Edit1.text := FloatToStr (a); end; |
:wave:
Halunkel - Di 30.05.06 21:45
Perfekt!!
Vielen Dank das klappt!!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!