XE2 Build Nr to Date - Solved
Hab wohl gerade eine Denkblockade. XE2 bietet ja die Möglichkeit "Build-Nummer automatisch erzeugen" in den Projektoptionen.
Die Dateiversion sieht dann so ähnlich aus: 1.0.5245.55019 1 = Hauptversion 0 = Nebenversion 5245 = Tage seit 1.1.2000 55019 = Sekunden seit Mitternacht Also ich würde gerne "5248.55019" wieder zu einem TDateTime Wert umwandeln. Vielleicht hat jemand eine gute Idee dazu? Soweit bin ich schon :? :
Code:
Man kann sagen ich weiss wieviele Tage vergangen sind zwischen erzeugen und heute. Aber wie bekomm ich dass nun in einen TDate Wert umgewandelt?
var TageSeitErzeugenUndHeute: Integer;
begin TageSeitErzeugenUndHeute := DaysBetween(Today, StrToDate('31.12.1999')) - 5245; end; |
AW: XE2 Build Nr to Date ?
Delphi-Quellcode:
EncodeDate(2000,1,1) + 5245 + 55019/SecsPerDay;
|
AW: XE2 Build Nr to Date ?
Zitat:
Delphi-Quellcode:
IncSecond(IncDay(EncodeDate(2000,1,1), 5245), 55019)
|
AW: XE2 Build Nr to Date - Solved
Vielen Dank euch beiden, ging ja einfach. Kannte leider die Encode-Funktionen nicht.
|
AW: XE2 Build Nr to Date - Solved
Es gibt auch StrToDateTime uvm., aber da muß man auf das FormatSetting aufpassen,
oder man nimmt direkt den nummerischen Wert des Datums als Konstante. |
AW: XE2 Build Nr to Date - Solved
Auch wenn dein Problem schon gelöst ist, hier ein Alternativvorschlag:
Ich nehme an, du willst irgenwo im Programm Build-Datum und -Uhrzeit anzeigen. Ich rufe dazu in den Pre-Build-Befehlen ein kleines Programm auf, das mir diesen Unit-Quellcode erzeugt:
Delphi-Quellcode:
unit VersionInfo;
interface const VersionDate='15.05.2014'; VersionTime='08:52:18'; implementation end. |
AW: XE2 Build Nr to Date - Solved
Es wird auch schon seit sehr vielen Jahren das Compile-Datum im PE-Header abgelegt. (und seit "kurzem" macht das Delphi sogar richtig und nicht mehr hinter einem Magic-Wert versteckt)
Das zusätzliche Datum in der Dateiversion hat aber zumindestens noch den Vorteil, daß der Endbenutzer das auch im Explorer (Dateieigenschaften) sehen kann, ohne das Programm zu starten. (oder irgendein Programm, welches den PE-Header ausliest) |
AW: XE2 Build Nr to Date - Solved
Problem ist ja gelöst, und wir können so langsam philosophisch werden. Was sagt eigentlich das Datum in der Buildnummer über den tatsächlichen Inhalt aus?
Sherlock |
AW: XE2 Build Nr to Date - Solved
Wobei man sich jetzt überlegen kann, ob die Endbenutzer damit auch etwas anfangen können. (ohne zu wissen was es bedeutet)
Nja, immerhin gibt es so eine automatische zeitabhängige Zählung, womit man auch bei gleichen Versionsnummern (Major und Minor) die das alter der Dateiversionen unterscheiden kann. PS: Ich hatte letztens bei uns es so gemacht, daß im Info-Dialog und im Startbildschirm die Versionsnummer uch etwas aussagefähiger wird. Wobei ich dort den Verzeichnisnamen (das Repository/Branch) und die Revision mit angebe, aber vorwiegend, damit wir wissen was nun wirklich für eine Version bei welchem Kunden grade rumliegt. Das wird dort ebenfalls über eine Unit mit Konstanten reingebracht, welche allerdings vom FinalBuilder erstellt wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05: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