Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Button erst aktivieren, wenn Editfelder Werte enthalten
fritz_07 - Sa 09.07.16 14:51
Titel: Button erst aktivieren, wenn Editfelder Werte enthalten
Hallo an alle,
ich habe folgende Aufgabenstellung:
Im Formular befinden sich zwei Editfelder, eine ComboBox und ein Button.
1x LabeledEdit
1x JvDirectoryEdit
1x ComboBox
Der Button soll erst aktiv (enabled) sein,wenn alle 3 Felder Werte enthalten.
Bei JvDirectoryEdit habe ich es mal so ausprobiert:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.JvDirectoryEdit1Change(Sender: TObject); var pfad : String; begin pfad := JvDirectoryEdit.Directory; if pfad = '' then Button3.Enabled := false else Button3.Enabled := true;
end; |
Soweit funktioniert alles.
Wenn ich das jetzt für jedes Feld seperat so mache,bekomme ich eine Art Oderverknüpfung.
Benötigen tue ich aber ein Undverküpfung.
Wie kann ich dies in eine Prozedur schreiben???
Gruß fritz
Mathematiker - Sa 09.07.16 15:08
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.JvDirectoryEdit1Change(Sender: TObject); begin button3.Enabled := (JvDirectoryEdit1.Directory <> '') and (LabeledEdit1.Text <> '') and (Combobox1.items.index >= 0); end; |
und die JVDirectoryEdit1Change auch bei LabeledEdit1 und der Combobox1 eintragen.
Beste Grüße
Mathematiker
jfheins - Sa 09.07.16 15:08
Schreib dir eine Funktion, die entsprechend zu den Eingabefeldern je einen Parameter hat.
Sowas wie "IsValidInputComposition(a, b, c)". Und dann einfach in allen drei Eventhandlern
Delphi-Quelltext
1: 2: 3:
| pfad := JvDirectoryEdit.Directory; name := JvLabeledEdit.Text; Button3.Enabled := IsValidInputComposition(pfad, name, ...); |
Dann kannst du in der Funktion beliebig viele Sachen abprüfen und hast in den Evewnthandlern schönen, sprechenden Code.
Delete - Sa 09.07.16 15:23
- Nachträglich durch die Entwickler-Ecke gelöscht -
fritz_07 - Mo 11.07.16 21:39
Hallo,
vielen Dank für die guten Vorschläge.
Das mit der eigenen Funktion und der TActionList werde ich mal ausprobieren.
Gruß fritz
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 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!