AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

XE2 Build Nr to Date - Solved

Ein Thema von FatPap · begonnen am 14. Mai 2014 · letzter Beitrag vom 15. Mai 2014
Antwort Antwort
FatPap

Registriert seit: 23. Jul 2013
Ort: Österreich
17 Beiträge
 
Delphi XE6 Architect
 
#1

XE2 Build Nr to Date - Solved

  Alt 14. Mai 2014, 15:37
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:
var TageSeitErzeugenUndHeute: Integer;
begin
  TageSeitErzeugenUndHeute := DaysBetween(Today, StrToDate('31.12.1999')) - 5245;
end;
Man kann sagen ich weiss wieviele Tage vergangen sind zwischen erzeugen und heute. Aber wie bekomm ich dass nun in einen TDate Wert umgewandelt?

Geändert von FatPap (15. Mai 2014 um 07:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
9.404 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: XE2 Build Nr to Date ?

  Alt 14. Mai 2014, 15:43
EncodeDate(2000,1,1) + 5245 + 55019/SecsPerDay;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.437 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: XE2 Build Nr to Date ?

  Alt 14. Mai 2014, 16:23
EncodeDate(2000,1,1) + 5245 + 55019/SecsPerDay;
Oder über die entsprechenden Funktionen
IncSecond(IncDay(EncodeDate(2000,1,1), 5245), 55019)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
FatPap

Registriert seit: 23. Jul 2013
Ort: Österreich
17 Beiträge
 
Delphi XE6 Architect
 
#4

AW: XE2 Build Nr to Date - Solved

  Alt 15. Mai 2014, 07:24
Vielen Dank euch beiden, ging ja einfach. Kannte leider die Encode-Funktionen nicht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.437 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: XE2 Build Nr to Date - Solved

  Alt 15. Mai 2014, 07:50
Es gibt auch Delphi-Referenz durchsuchenStrToDateTime uvm., aber da muß man auf das FormatSetting aufpassen,
oder man nimmt direkt den nummerischen Wert des Datums als Konstante.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
590 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: XE2 Build Nr to Date - Solved

  Alt 15. Mai 2014, 08:19
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.437 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: XE2 Build Nr to Date - Solved

  Alt 15. Mai 2014, 08:59
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)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (15. Mai 2014 um 11:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.578 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: XE2 Build Nr to Date - Solved

  Alt 15. Mai 2014, 10:45
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
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.437 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: XE2 Build Nr to Date - Solved

  Alt 15. Mai 2014, 11:08
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  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 13:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf