AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Abfrage von Eingabefeldern... Problem

Ein Thema von Kara · begonnen am 3. Aug 2005 · letzter Beitrag vom 8. Aug 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Kara
Kara

Registriert seit: 2. Aug 2005
113 Beiträge
 
#1

Abfrage von Eingabefeldern... Problem

  Alt 3. Aug 2005, 08:18
Hallo!

Ich mach momentan ein Praktikum und habe zur Aufgabe, ein in Delphi II mit ObjektPascal geschriebenes Programm anzupassen und zu aktualisieren.
Unter anderem soll ich eine Abfrage schreiben, die überprüft, ob in einem Eingabeformular alle Felder gefüllt sind. Das krieg ich ja noch hin. Aber ich schaffe es nicht, dass bei Feststellung eines leeren Feldes (was nicht sein darf), wieder zum Eingabeformular zurückgesprungen wird, nachdem der Hinweis "Geben Sie... ein" gekommen ist.
Ich hab einfach keine Ahnung, wie das gehen soll. Ich bin nicht so tief drin in Delphi...

Ich häng mal den Codeabschnitt an. Hoffentlich könnt ihr mir helfen.
Momentan kommt das Hinweisfenster, dass eines der Felder nicht ausgefüllt ist und wenn man auf OK klickt, startet trotzdem normal das eigentliche Programm. Das sollte nicht sein, sondern das Eingabefenster sollte wieder erscheinen oder alternativ das Programm komplett schließen.

Und nun der Code:
Delphi-Quellcode:
procedure TFormIdentPunktEingabe.BitBtnOKClick(Sender: TObject);
begin
  TimerSec.Enabled:=false;
  Label2.Visible:=false;
  LabelSekunden.Visible:=false;
  Label4.Visible:=false;
  try
     if (EditIdentPunkt.Text = '') then
        begin
             MessageDlg('Bitte Ident Punkt eingeben!', mtWarning, [mbOk], 0);
             EditIdentPunkt.SetFocus;
        end
        else if (EditEIP.Text = '') then
             begin
                  MessageDlg('Bitte eigene IP-Adresse eingeben!', mtWarning, [mbOk], 0);
                  EditEIP.SetFocus;
             end
             else if (EditFIP.Text = '') then
                  begin
                       MessageDlg('Bitte fremde IP-Adresse eingeben!', mtWarning, [mbOk], 0);
                       EditFIP.SetFocus;
                  end
                  else if (EditSubnet.Text = '') then
                       begin
                            MessageDlg('Bitte Subnetmask-Nummer eingeben!', mtWarning, [mbOk], 0);
                            EditSubnet.SetFocus;
                       end
                       else if (EditGateway.Text = '')then
                            begin
                                 MessageDlg('Bitte Gateway Nummer eingeben!', mtWarning, [mbOk], 0);
                                 EditGateway.SetFocus;
                            end
        else
       IdentPunkt:=EditIdentPunkt.Text;
       IP_CRS:=EditEIP.Text;
       IP_SPS:=EditFIP.Text;
       Subnet_CRS:=EditSubnet.Text;
       Gateway_CRS:=EditGateway.Text;
       NurTNR:=Label11.Caption;
       Close;
  except
    MessageDlg('Bitte Programm neu starten und alle Felder ausfüllen!', mtWarning,[mbOk], 0);
  end
end;
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Abfrage von Eingabefeldern... Problem

  Alt 3. Aug 2005, 08:22
servus

zur Übung gibst du den quellcode mit delphi-Tags ein.
so wie der code ist, kann den kein mensch lesen...

gruessle
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Kara
Kara

Registriert seit: 2. Aug 2005
113 Beiträge
 
#3

Re: Abfrage von Eingabefeldern... Problem

  Alt 3. Aug 2005, 08:26
Ah, sowas gibts
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Abfrage von Eingabefeldern... Problem

  Alt 3. Aug 2005, 08:33
Wenn du nach der Prüfung ein "Close" machst, kann es auch nicht funktionieren.
Ich vermute, dass du beim "else" das begin..end vergessen hast.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Abfrage von Eingabefeldern... Problem

  Alt 3. Aug 2005, 08:33
Zitat von Kara:
Ah, sowas gibts
ja, genau.
in dem Fenster, wo du den Beitrag editierst, ist eine Zeile mit verschiedenen Buttons.
einer davon heisst "Delphi-Code", wenn du damit arbeitest, sieht das ergebnis so aus:
Delphi-Quellcode:
function test(parameter: string);
begin
  testcode;
end;
gruessle
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Kara
Kara

Registriert seit: 2. Aug 2005
113 Beiträge
 
#6

Re: Abfrage von Eingabefeldern... Problem

  Alt 3. Aug 2005, 08:35
Hast du nicht geschaut? Ich habs schon gemacht.
Jetzt kannst du ja mal schauen, ob mir zu helfen ist
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Abfrage von Eingabefeldern... Problem

  Alt 3. Aug 2005, 08:42
Dir ist nicht zu helfen.
Ich habe dir dich schon einen Hinweis gegeben.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Kara
Kara

Registriert seit: 2. Aug 2005
113 Beiträge
 
#8

Re: Abfrage von Eingabefeldern... Problem

  Alt 3. Aug 2005, 08:45
Oh!
Vor lauter Tags übersehen.
Ich probiers mal. Also Close weglassen...
*rumtüdel*

Edit: jetzt gehts.
Aber ich hab ein weiteres Problem entdeckt: Wenn ich auf Abbrechen gehe, sollte er das gesamte Programm schließen, schließt aber mit Close wieder nur das Eingabefenster.
Ich bin echt nicht für Delphi geschaffen, fürcht ich.
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Abfrage von Eingabefeldern... Problem

  Alt 3. Aug 2005, 08:52
Close bezieht sich immer nur auf das aktuelle Fenster.
Für deinen Fall benötigst du Application.Terminate.
Obwohl ich es geschickter fände, das Eingabe-Fenster Modal (ShowModal statt Show) zu machen und das ModalResult im Hauptfenster zu prüfen und dort das Programm zu beenden.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Kara
Kara

Registriert seit: 2. Aug 2005
113 Beiträge
 
#10

Re: Abfrage von Eingabefeldern... Problem

  Alt 3. Aug 2005, 09:01

Ok. Aber mit Application.Terminate würde es gehen?

(Danke übrigens schon mal für die schnelle Hilfe!!)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 08:53 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