Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Abfrage von Eingabefeldern... Problem (https://www.delphipraxis.net/50929-abfrage-von-eingabefeldern-problem.html)

Die Muhkuh 3. Aug 2005 08:03

Re: Abfrage von Eingabefeldern... Problem
 
Zitat:

Zitat von Kara
:shock:
Ok. Aber mit Application.Terminate würde es gehen?

Ja

Sharky 3. Aug 2005 08:14

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:

Kara 3. Aug 2005 08:32

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:
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;
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.

Khabarakh 3. Aug 2005 08:38

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.

Kara 3. Aug 2005 08:43

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.

Khabarakh 3. Aug 2005 09:09

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 Delphi-Referenz durchsuchenHalt :wink: ).

Kara 3. Aug 2005 09:13

Re: Abfrage von Eingabefeldern... Problem
 
Achso, nein hab ich keinen.
Damit ist meine Frage auch schon beantwortet.
Vielen Dank!

Kara 3. Aug 2005 10:49

Re: Abfrage von Eingabefeldern... Problem
 
Jetzt habe ich doch noch eine Frage: Wie kann ich mit Delphi bzw Pascal den PC rebooten?

Sharky 3. Aug 2005 11:02

Re: Abfrage von Eingabefeldern... Problem
 
Zitat:

Zitat von Kara
Jetzt habe ich doch noch eine Frage: Wie kann ich mit Delphi bzw Pascal den PC rebooten?

Hai Kara,

mache bitte für jede Frage einen eigenen Thread auf. Danke.

BTW: zum rebooten wirst Du in der DP sicher etwas finden.

Kara 3. Aug 2005 11:04

Re: Abfrage von Eingabefeldern... Problem
 
ok, dann schau ich erstmal da


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr.
Seite 2 von 3     12 3      

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