Einzelnen Beitrag anzeigen

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