Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Datumsformat überprüfen ? (https://www.delphipraxis.net/64569-datumsformat-ueberpruefen.html)

polondo 5. Mär 2006 13:20


Datumsformat überprüfen ?
 
Hi,

Ich habe zwar schon das Forum nach meinem Problem durchforstet doch wirklich geholfen hat es mir nicht.
Ich möchte das nach Eingabe eines Datums das besagte Feld auf das richtige Format überprüft wird.
Dazu hab ich bisher folgenden Code geschrieben der allerdings nicht einwandfrei funktioniert:
Delphi-Quellcode:
procedure CheckIfDate(Sender:tobject);
VAR
d :tdatetime;
begin
  dateseparator := '/';
  IF (sender as tedit).GetTextLen = 8 Then
  begin
    IF NOT TryStrToDate((sender as tedit).Text,d) THEN
    begin
      MessageDlg ('only date values allowed! YY/MM/TT',mtwarning,[mbok],0);
      (sender as tedit).SetFocus;
    end
  end
  else
  begin
    MessageDlg ('only date values allowed! YY/MM/TT',mtwarning,[mbok],0);
    (sender as tedit).SetFocus;
  end;
end;
Wenn ich jedoch am Ende des Datums ein / eingebe wie hier: /6/02/14 dann nimmt er das genauso wie ein 06/02/14 und meckert nicht.
Kann da einer helfen?

mfg
R.

Sharky 5. Mär 2006 13:25

Re: Datumsformat überprüfen ?
 
Hai polondo,

warum nimmst Du für die Eingabe eines Datums nicht einfach einen TDateTimePicker?

monta 5. Mär 2006 13:32

Re: Datumsformat überprüfen ?
 
bzw. man könnte es mit einem MaskEdit lösen, da kannst du dann dein Format zusammenstellen.

polondo 5. Mär 2006 13:37

Re: Datumsformat überprüfen ?
 
erstmal danke für die Antworten!
Das Problem bei dem Datetimepicker ist das das Datum von mir berechnet werden muss (multilingual Programm)
Und die Maske möcht ich nicht nehmen weil ich die fehlermeldungen von dem nicht so gut finde.

Sharky 5. Mär 2006 16:03

Re: Datumsformat überprüfen ?
 
Zitat:

Zitat von polondo
... Das Problem bei dem Datetimepicker ist das das Datum von mir berechnet werden muss (multilingual Programm) ...

Warum ist das denn ein Problem? Der Datetimepicker zeigt das Datum in dem Format an wie es auf dem Computer in der Systmsteuerung eingrichtet ist. Und alle Datumsberechnungsfunktionen von Delphi berücksichtigen auch dieses Format.
Es ist also von Vorteil für dich es so zu machen und dem Anwender nicht ein bestimmtest Format aufzuzwingen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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 by Thomas Breitkreuz