![]() |
Re: Abfrage von Eingabefeldern... Problem
Zitat:
|
Re: Abfrage von Eingabefeldern... Problem
Liste der Anhänge anzeigen (Anzahl: 1)
Hai Kara,
ersteinmal: "Herzlich Willkommen in der Delphi-PRAXis" :hi: Es würde zwar gehen ist aber keine schöne Lösung ;-) Im Anhang ist mal ein ganz einfaches Demo: |
Re: Abfrage von Eingabefeldern... Problem
Danke :)
Ich bin sehr froh, dass ich euch gefunden habe. Leider krieg ich bei deiner Demo den Fehler "ungültiges Streamformat" und kanns nicht laufen lassen. Aber es klappt mit Application.Terminate tatsächlich. :hello: Ich habs sogar hingekriegt, dass er nach Ablauf des Timers und bei Drücken des Abbrechen-Buttons alles zumacht, wenn ein Feld nicht ausgefüllt ist.
Delphi-Quellcode:
Jetzt müsste ich nur vielleicht vorher noch ein Hinweisfenster aufmachen, das sagt, dass das Programm neu gestartet werden soll, und alle Felder gefüllt werden sollen. Aber irgendwie ist das umständlich.
procedure TFormIdentPunktEingabe.BitBtnAbbruchClick(Sender: TObject);
begin TimerSec.Enabled:=false; Label2.Visible:=false; LabelSekunden.Visible:=false; Label4.Visible:=false; if (EditIdentPunkt.Text = '') or (EditEIP.Text = '') or (EditFIP.Text = '') or (EditSubnet.Text = '') or (EditGateway.Text = '') then begin Application.terminate; end else Close; end; procedure TFormIdentPunktEingabe.TimerSecTimer(Sender: TObject); var SekAkt:integer; begin SekAkt:=StrToInt(LabelSekunden.Caption)-1; if SekAkt <=0 then begin TimerSec.Enabled:=false; if (EditIdentPunkt.Text = '') or (EditEIP.Text = '') or (EditFIP.Text = '') or (EditSubnet.Text = '') or (EditGateway.Text = '') then begin Application.terminate; end else Close; end else begin LabelSekunden.Caption:=IntToStr(SekAkt); end; end; |
Re: Abfrage von Eingabefeldern... Problem
Eines musst du beachten: Application.Terminate überspringt im Gegensatz zu Close die Events beim Schließen wie z.B. OnClose.
|
Re: Abfrage von Eingabefeldern... Problem
Was heißt das für mich konkret?
Ich hab im Code jetzt einfach ein "MessageDlg('Bitte Programm neu starten und alle Felder ausfüllen', MtWarning, [mbOk], 0) vor Application.Terminate gesetzt. (Beim Timer und Abbruch) Das ist zwar nicht der feine Weg, aber es klappt. |
Re: Abfrage von Eingabefeldern... Problem
Wenn du irgendeinen Eventhandler hast, der auf das Schließen einer Form o.Ä. reagiert, wird dieser einfach übersprungen. Falls du keinen hast oder es so beabsichtigt ist, kannst du ruhig Application.Terminate verwenden (bloß nicht
![]() |
Re: Abfrage von Eingabefeldern... Problem
Achso, nein hab ich keinen.
Damit ist meine Frage auch schon beantwortet. Vielen Dank! |
Re: Abfrage von Eingabefeldern... Problem
Jetzt habe ich doch noch eine Frage: Wie kann ich mit Delphi bzw Pascal den PC rebooten?
|
Re: Abfrage von Eingabefeldern... Problem
Zitat:
mache bitte für jede Frage einen eigenen Thread auf. Danke. BTW: zum rebooten wirst Du in der DP sicher etwas finden. |
Re: Abfrage von Eingabefeldern... Problem
ok, dann schau ich erstmal da
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 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