AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

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
138 Beiträge
 
Delphi 6 Enterprise
 
#1

TDateTime auf null bzw. invalid setzen

  Alt 29. Jun 2020, 07: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
3.685 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TDateTime auf null bzw. invalid setzen

  Alt 29. Jun 2020, 07: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
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TDateTime auf null bzw. invalid setzen

  Alt 29. Jun 2020, 07: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
138 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: TDateTime auf null bzw. invalid setzen

  Alt 29. Jun 2020, 07: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
10.994 Beiträge
 
Delphi 12 Athens
 
#5

AW: TDateTime auf null bzw. invalid setzen

  Alt 29. Jun 2020, 08: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.851 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TDateTime auf null bzw. invalid setzen

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

Registriert seit: 15. Mär 2007
3.896 Beiträge
 
Delphi 12 Athens
 
#7

AW: TDateTime auf null bzw. invalid setzen

  Alt 29. Jun 2020, 11: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 11:16 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:53 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