AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Datumsvergleich im Quelltext vereinfachen
Thema durchsuchen
Ansicht
Themen-Optionen

Datumsvergleich im Quelltext vereinfachen

Ein Thema von BerndS · begonnen am 26. Feb 2024 · letzter Beitrag vom 27. Feb 2024
Antwort Antwort
Seite 1 von 2  1 2      
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
480 Beiträge
 
Delphi 11 Alexandria
 
#1

Datumsvergleich im Quelltext vereinfachen

  Alt 26. Feb 2024, 10:19
Hallo,
ab und an kommt es vor, dass bestimmte Funktionen erst später aktiviert werden sollen.
Als Beispiel das SEPA Format 3.7.
Was natürlich geht aber nicht optimal ist:

Delphi-Quellcode:
 if (Date > StrToDate('17.3.2024')) then
  ...
Solche Strings möchte ich aber im Quelltext nicht haben und ich lasse mir mit einem Miniprogramm das umrechnen.

Schöner wäre es, wenn man im Editor die Möglichkeit hätte, diesen String bereits in einen TDate zu wandeln.
Ich habe MMX, GExpert und cnPack installiert, hier aber keine Option dafür gefunden.

Als Lösung könnte ich mir vorstellen, dass ich den string markiere und dann eine Erweiterung diese Markierung in den TDate konvertiert.

'17.3.2024' -> 45368 {17.3.2024}

Vieleicht sucht ja ein Expertenentwickler noch nach neuen Features.
Bernd
  Mit Zitat antworten Zitat
hotrs02

Registriert seit: 7. Apr 2022
38 Beiträge
 
#2

AW: Datumsvergleich im Quelltext vereinfachen

  Alt 26. Feb 2024, 10:39
Wäre die Verwendung von EncodeDate eine Alternative?

  if Date > EncodeDate(2024, 03, 17) then
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
480 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Datumsvergleich im Quelltext vereinfachen

  Alt 26. Feb 2024, 12:55
Das ist eine Alternative, die aber auch zusätzlichen Code erzeugt, den ich möglichst vermeiden wollte.
Bernd
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Datumsvergleich im Quelltext vereinfachen

  Alt 26. Feb 2024, 13:39
StrToDate und auch EncodeDate kann man auch im Evaluate / Modify Fenster beim Debugging aufrufen. Vielleicht reicht das ja schon? Ansonsten ist ein passendes Programm dafür in 2 Minuten geschrieben.
Thomas Mueller
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
480 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Datumsvergleich im Quelltext vereinfachen

  Alt 26. Feb 2024, 14:02
Das Programm hab ich ja bereits, aber wenn es direkt in Editor per z.B. rechter Maustaste ginge, wäre es komfortabler.
Bernd
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.021 Beiträge
 
Delphi 12 Athens
 
#6

AW: Datumsvergleich im Quelltext vereinfachen

  Alt 26. Feb 2024, 14:11
Das ist eine Alternative, die aber auch zusätzlichen Code erzeugt, den ich möglichst vermeiden wollte.
Den zusätzlichen Code kann man ja vermeiden
Delphi-Quellcode:
const
  day = 17;
  month = 3;
  year = 2024;

{$REGION 'calculate _date'}
  _monthdays = Ord((month > 1))*31 +
               Ord((month > 2))*(28 + ord(year mod 4 = 0)) +
               Ord((month > 3))*31 +
               Ord((month > 4))*30 +
               Ord((month > 5))*31 +
               Ord((month > 6))*30 +
               Ord((month > 7))*31 +
               Ord((month > 8))*31 +
               Ord((month > 9))*30 +
               Ord((month > 10))*31 +
               Ord((month > 11))*30;
  _year = year - 1;
  _date = _year * 365 + _year div 4 - _year div 100 + _year div 400 + _monthdays + Day - DateDelta;
{$ENDREGION}

  TheSpecialDate = _date;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Datumsvergleich im Quelltext vereinfachen

  Alt 26. Feb 2024, 14:16
Das Programm hab ich ja bereits, aber wenn es direkt in Editor per z.B. rechter Maustaste ginge, wäre es komfortabler.
Dann kann ich Dich nur einladen, die entsprechende Funktion in GExperts zu implementieren. Ich bin gerne bereit, sie als Patch zu integrieren. Ist ja kein Hexenwerk.
Thomas Mueller
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
480 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Datumsvergleich im Quelltext vereinfachen

  Alt 26. Feb 2024, 14:39
Zitat:
Dann kann ich Dich nur einladen, die entsprechende Funktion in GExperts zu implementieren. Ich bin gerne bereit, sie als Patch zu integrieren. Ist ja kein Hexenwerk.
Ok, dass könnte ich mal versuchen.
Bernd
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Datumsvergleich im Quelltext vereinfachen

  Alt 26. Feb 2024, 17:42
Hallo,
wie wäre es, wenn Du diese Variablen in eine Konfig-Datei auslagerst?
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.351 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Datumsvergleich im Quelltext vereinfachen

  Alt 26. Feb 2024, 18:59
Ich finde es nicht sinnvoll, wenn man im Code nicht direkt sehen und prüfen kann, was passiert. Der Kommentar schützt davor nicht, denn der kann ja auch falsch sein.

Deshalb würde ich immer die korrekten menschenlesbaren Werte verwenden und mit dem schon genannten EncodeDate regionsunabhängig (deshalb kein String) umwandeln.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:17 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