Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Überprüfung Datumsformat (https://www.delphipraxis.net/54841-ueberpruefung-datumsformat.html)

nadja 12. Okt 2005 12:34


Überprüfung Datumsformat
 
Hallo,

ich bin sehr unerfahren im Umgang mit DELPHI.

Mit welcher Funktion kann ich überprüfen, ob ein eingegebenes Datum vom Typ DATE ist (zum späteren Eintragen in die DB)?

Nadja

dfried 12. Okt 2005 12:37

Re: Überprüfung Datumsformat
 
Du könntest z.B. einfach versuchen den eingegebenen String mit der Funktion StrToDate in ein Datum umzuwandeln. Am besten innerhalb eines try except blocks.

Sharky 12. Okt 2005 12:37

Re: Überprüfung Datumsformat
 
Hai nadja,

ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS" :hi:

Zitat:

Zitat von nadja
Mit welcher Funktion kann ich überprüfen, ob ein eingegebenes Datum vom Typ DATE ist ...

Ich würde das überhaupt nicht prüfen ;-)
Benutze für die Eingabe eine Komponente mit der nur Datumswerte eingegeben werden können.
Unter Delphi gibt es dafür die Komponente Delphi-Referenz durchsuchenTDateTimePicker. Grundsätzlich sollte man vermeiden das der Benutzer unerwünschte Daten eingeben kann und nicht erst im Nachhinein prüfen ob die Daten richtig sind.

marabu 12. Okt 2005 13:00

Re: Überprüfung Datumsformat
 
Hallo Nadja,

meine Kunden mögen den DateTimePicker nicht. Im Erfassungsdialog muss ich Edit-Felder verwenden. Ich färbe das Feld beim Erfassen ein, wenn die Eingabe nicht korrekt ist. Der OkButton schließt den modalen Erfassungsdialog nur, wenn alle Eingaben akzeptabel sind:

Delphi-Quellcode:
procedure TDetailDialog.DateEditChange(Sender: TObject);
var
  dt: TDateTime;
begin
  with Sender as TEdit do
  begin
    Tag := 1 - Ord((Text = '') or TryStrToDate(Text, dt));
    if Odd(Tag)
      then Color := clRed
      else Color := clWindow;
  end;
end;

procedure TDetailDialog.OkButtonClick(Sender: TObject);
begin
  if Odd(DateEdit.Tag)
    then ShowMessage('Datum ungültig')
    else ModalResult := mrOK;
end;
Grüße vom marabu

nadja 12. Okt 2005 14:30

Re: Überprüfung Datumsformat
 
Hallo zusammen,

vielen Dank für die schnelle Hilfe.


Nadja


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 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