![]() |
AW: Datumsvergleich im Quelltext vereinfachen
Schade, dass Delphi keinen Precompiler mehr ermöglicht und Emba sich weigert zumindestens eine einfache Variante von Makros zu ermöglichen.
Man könnte sich auch einen neuen Datumstypen oder eine Funktion delarieren, welcher den String (immer mit dem selben FormatSetting) oder einen Integer entgegen nimmt. Dank der neuen Formatierungen im Quellcode, lässt es sich selbst als Integer problemlos lesen. 26_02_2024 oder 2024_02_26 (dann noch bissl DIV, MOD und EncodeDate) |
AW: Datumsvergleich im Quelltext vereinfachen
:shock: Ich dagegen bin sehr froh dass es in Delphi keinen Preprozessor wie in C gibt.:thumb:
Die paar Bytes mehr finde ich vernachlässigbar - vor allem gegenüber dem was aktuelle Delphiversionen eh schon mitbringen. |
AW: Datumsvergleich im Quelltext vereinfachen
Ich verwende für sowas EncodeDate.
Das ist sicher, funktioniert auf allen Systemen und mit allen Settings. Wo Strings umgewandelt werden muss man sehr aufpassen woher die Formatsettings kommen. Das ist eine schöne Fehlerquelle wenn das Programm mal unter UK oder US Datumseinstellungen läuft. |
AW: Datumsvergleich im Quelltext vereinfachen
Die neue Schreibweise die himitsu erwähnte, kann ich noch nicht verwenden, da XE7 noch eingesetzt wird. D12 soll aber bald auch für den Buildprozess verwendet werden.
Daher werde ich das dann bis dahin so lösen:
Delphi-Quellcode:
Als Value wird dann statt '17.03.2024' ein Integer 20240317 übergeben. Dadurch wird der Zusätzliche Code nur einmal erstellt.
function CompareWithDate(Value: Integer): Integer;
... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 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