Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   TryStrToDate('1.2') liefert True (https://www.delphipraxis.net/164743-trystrtodate-1-2-liefert-true.html)

hoika 28. Nov 2011 13:18

TryStrToDate('1.2') liefert True
 
Hallo #,

ich muss ein Datum prüfen.

Delphi-Quellcode:
var
  dt: TDateTime;

  TryStrToDate('1.2', dt)
liefert mir aber dummerweise True mit dt=1.2.2011

Das will ich aber nicht !
Soll ich jetzt anfangen, mit ein eigenes TryStrToDate bauen ?
Weiss jemand Rat ?
Mit zusätzlich übergebenem FormatSettings klappt es auch nicht.


Danke

Heiko

flipdascript 28. Nov 2011 13:31

AW: TryStrToDate('1.2') liefert True
 
Eine Methode die den String auf ein validates Datum prüft ist mir nicht bekannt.

Läßt sich aber recht einfach umsetzen.

Ich würde eine Kombination aus

- TryStrToDate
- DecodeDate
- IsValidDate

nutzen.

Lemmy 28. Nov 2011 13:32

AW: TryStrToDate('1.2') liefert True
 
Hi Hoika,

ist ein Standardverhalten: http://docwiki.embarcadero.com/VCL/d...s.TryStrToDate

von daher musst Du dir wohl selbst was basteln müssen...

Grüße

scrat1979 28. Nov 2011 15:57

AW: TryStrToDate('1.2') liefert True
 
Sonst prüfe doch vorher, ob sich im String zwei Punkte befinden, bevor Du die Funktion aufrufst... Kannst Du nicht z.B. über eine Eingabemase ein "gültiges" Datum bzw. das Format xx.xx.xxxx erzwingen?

mquadrat 28. Nov 2011 16:26

AW: TryStrToDate('1.2') liefert True
 
Eine Regular Expression sollte doch die Aufgabe lösen können.

p80286 28. Nov 2011 21:55

AW: TryStrToDate('1.2') liefert True
 
Was willst Du denn? gegen den 1. Februar ist doch nichts einzuwenden?

Gruß
K-H


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