AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TDateTime auf null bzw. invalid setzen

Ein Thema von kagi3624 · begonnen am 29. Jun 2020 · letzter Beitrag vom 29. Jun 2020
Antwort Antwort
kagi3624

Registriert seit: 3. Feb 2020
104 Beiträge
 
Delphi 6 Enterprise
 
#1

TDateTime auf null bzw. invalid setzen

  Alt 29. Jun 2020, 08:09
Delphi-Version: 6
Hallo, ich möchte meine TDateTime Variable bei einer ungültigen Eingabe auf Null, ungültig, was auch immer setzen, so dass wenn man diese variable ausgibt, der Bediener dann auch sieht, dass da was nicht stimmt. Wenn ich sie einfach auf 0 setze, habe ich 30.12.1899 mit der Uhrzeit 00:00:00,
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
2.636 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: TDateTime auf null bzw. invalid setzen

  Alt 29. Jun 2020, 08:28
Nutz doch einfach einen anderen Datentyp, sagen wir mal String. Bei korrekter Eingabe wird das TDateTime erzeugt und bei falschen halt einen String.
Oder nutz einen DatePicker, damit lässt Du eh nur korrekten krams zu, den kann man ja so einstellen das halt das aktuelle Datum voreingestellt ist.
Nur so eine Idee.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
7.807 Beiträge
 
Delphi XE4 Professional
 
#3

AW: TDateTime auf null bzw. invalid setzen

  Alt 29. Jun 2020, 08:41
Hallo,
Zitat:
auf Null, ungültig, was auch immer setzen
Dann nimm doch einfach an, das 0 ungültig st,
schreib eine eigene DateToStr-Funktion, wo du das abprüfst.
Heiko
  Mit Zitat antworten Zitat
kagi3624

Registriert seit: 3. Feb 2020
104 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: TDateTime auf null bzw. invalid setzen

  Alt 29. Jun 2020, 08:44
Ja, da ich eine Funktion habe, setze ich das auf Null und mache es über eine IF abfrage. Kann man so machen, habe ich grad gesehen. Danke!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
7.942 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: TDateTime auf null bzw. invalid setzen

  Alt 29. Jun 2020, 09:37
Als NULL-Wert für ein TDateTime, der mit sehr hoher Wahrscheinlichkeit nicht mit einem realen Datumswert kollidiert, bietet sich -DateDelta an.
Delphi-Quellcode:
{ Days between 1/1/0001 and 12/31/1899 }

  DateDelta = 693594;
Das wäre dann auch der kleinste Wert, den ein TDateTime annehmen kann und noch als gültig durchgeht.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.634 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: TDateTime auf null bzw. invalid setzen

  Alt 29. Jun 2020, 09:46
Zitat:
Nutz doch einfach einen anderen Datentyp, sagen wir mal String.
Ganz schlechte Alternative.
Markus Kinzler
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
2.823 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: TDateTime auf null bzw. invalid setzen

  Alt 29. Jun 2020, 12:09
Ich (mis)brauche TDateTime für allerlei Dinge.
Auch z.B. für Stopuhr, Debounce, speziell formatierte Timestamps, etc.

Dafür habe ich mir einfach einen Helper geschrieben der das so umsetzt wie ich es brauche.
Der Vorteil ist das es intern und beim Speichern immer nur ein TDateTime ist und bleibt.

Geändert von Rollo62 (29. Jun 2020 um 12:16 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf