AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Verhindern der Öffnung eines Formulars bei Bedingung
Thema durchsuchen
Ansicht
Themen-Optionen

Verhindern der Öffnung eines Formulars bei Bedingung

Ein Thema von mr.floppy81 · begonnen am 25. Jan 2005 · letzter Beitrag vom 27. Jan 2005
Antwort Antwort
mr.floppy81

Registriert seit: 18. Nov 2004
Ort: Wismar
77 Beiträge
 
Delphi 5 Enterprise
 
#1

Verhindern der Öffnung eines Formulars bei Bedingung

  Alt 25. Jan 2005, 11:56
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
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Verhindern der Öffnung eines Formulars bei Bedingung

  Alt 25. Jan 2005, 12:37
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Verhindern der Öffnung eines Formulars bei Bedingung

  Alt 25. Jan 2005, 12:38
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.
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#4

Re: Verhindern der Öffnung eines Formulars bei Bedingung

  Alt 25. Jan 2005, 13:37
Laufzeitfehler kannst du mit Delphi-Referenz durchsuchentry und Delphi-Referenz durchsuchenexcept abfangen.

Ansonsten kannst du auch den Code zum Schließen / Öffnen der Forms mit einer if-Abfrage nur dann ausführen lassen, wenn alle DBEdit-Felder gefüllt sind
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Verhindern der Öffnung eines Formulars bei Bedingung

  Alt 25. Jan 2005, 13:51
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.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
mr.floppy81

Registriert seit: 18. Nov 2004
Ort: Wismar
77 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: Verhindern der Öffnung eines Formulars bei Bedingung

  Alt 26. Jan 2005, 09:12
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
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Verhindern der Öffnung eines Formulars bei Bedingung

  Alt 26. Jan 2005, 09:17
Zitat von mr.floppy81:
...Nun hab ich 8 if...then...else schleifen eingebaut ...
Warum das denn? Zeige mal deinen Code
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Verhindern der Öffnung eines Formulars bei Bedingung

  Alt 27. Jan 2005, 08:34
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;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz