![]() |
Verhindern der Öffnung eines Formulars bei Bedingung
Moin,
in meinem Programm arbeite ich mit dbedit feldern. Diese dbedit felder werden bei drücken des Knopfes "Füllen" mit verschiedenen Daten gefüllt. Mit diesen Daten sollen Berechnungen durchgeführt werden wenn man auf den Knopf "Berechnen" drückt. Ein weiteres Ereignis das auftritt wenn man den Knopf "Berechnen" drückt, ist dass sich Form1 schliesst und Form2 öffnet. Auf Form2 werden dann die Ergebnisse angezeigt. Wenn nun die Felder auf Form1 nicht mit daten gefüllt werden(der Anwender vergisst den Knopf Füllen zu drücken), so zeigt mir das Programm nach drücken des Knopfes die Fehlermeldung " '' ist kein gültiger Gleitkommawert an". Das ist klar weil eben die dbedit felder leer sind. Wie kann ich diese Fehlermeldung verhindern??? und wie kann ich verhindern dass wenn ein Fehler auftritt, sich die Form2 öffnet??? LG Andreas |
Re: Verhindern der Öffnung eines Formulars bei Bedingung
Schau mal die möglichen Ereignisse zu deinem Datensensitiven Controls an. Bei TDataset-Nachfahren gibt es viele OnBeforeXXX-Events, mit welchen man Überprüfungen durchführen könnte bevor ein Post zur Datenbank erfolgt.
|
Re: Verhindern der Öffnung eines Formulars bei Bedingung
Hi, mit Button2.Enabled := false kannst du verhindern, dass der Benutzer den Button klickt, bevor die Felder ausgefüllt sind.
Einfach am Ende von Button1.OnClick den anderen Button mit Button2.Enabled := true wieder aktivieren. |
Re: Verhindern der Öffnung eines Formulars bei Bedingung
|
Re: Verhindern der Öffnung eines Formulars bei Bedingung
Ich würde einfach den Button "Berechnen" so lange sperren bis in allen Feldern Werte stehen.
Das ist in meinen Augen die einzige saubere Art und Weise. |
Re: Verhindern der Öffnung eines Formulars bei Bedingung
jepp,
hatte ja gehofft dass das vielleicht mit einem mir unbekanntem Befehl gehen könnte^^. Nun hab ich 8 if...then...else schleifen eingebaut und es geht... (oder besser gesagt der Knopf geht nicht zu drücken ;) ) Gut dann Danke für die Hilfe Grüsse Andreas |
Re: Verhindern der Öffnung eines Formulars bei Bedingung
Zitat:
|
Re: Verhindern der Öffnung eines Formulars bei Bedingung
Hai mr.floppy81,
hier mal eine Beispiel wie ich es gemacht hätte:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin // Alle Edits haben das gleiche OnChange-Ereigniss Edit1.OnChange := EditChange; Edit2.OnChange := EditChange; Edit3.OnChange := EditChange; Edit4.OnChange := EditChange; end; procedure TForm1.EditChange(Sender: TObject); begin // Button wird enebled wenn in allen Edits etwas steht Button1.Enabled := (Length (Trim(Edit1.Text)) > 0) AND (Length (Trim(Edit2.Text)) > 0) AND (Length (Trim(Edit3.Text)) > 0) AND (Length (Trim(Edit4.Text)) > 0); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 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-2025 by Thomas Breitkreuz