Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Ressourcen-Files: Versionsnummer erhöhen? (https://www.delphipraxis.net/23694-ressourcen-files-versionsnummer-erhoehen.html)

Phoenix 8. Jun 2004 09:58


Ressourcen-Files: Versionsnummer erhöhen?
 
Hallo,

folgendes Problem: für eine kleine Applikation (non-VCL) habe ich ein eigenes ressourcenfile erstellt. In der .rc - Datei steht neben einem Icon eben noch die Versionsnummer des Projektes.

Nun möchte ich - auf möglichst einfache Weise - das diese Versionsnummer nach einem erfolgreichen Build auch die Buildnummer erhöht. Ob das Projekt erfolgreich kompiliert wurde kann ich ja am Returncode von dcc32 erkennen. Aber wie kann ich (ohne nochmal ein extra-Tool zu schreiben) die Versionssnummer im .rc - File erhöhen lassen?

Nur mit DOS-Mitteln kann ich offenbar keine Inhalte von Daten selektiv verändern, also fällt mir da nur Windows Scripting ein. Damit kenne ich mich aber so gut wie gar nicht aus. Hat mir hier jemand ein Handvoll Tipps zu?

shmia 8. Jun 2004 10:06

Re: Ressourcen-Files: Versionsnummer erhöhen?
 
Zitat:

Zitat von Phoenix
Nur mit DOS-Mitteln kann ich offenbar keine Inhalte von Daten selektiv verändern, also fällt mir da nur Windows Scripting ein. Damit kenne ich mich aber so gut wie gar nicht aus. Hat mir hier jemand ein Handvoll Tipps zu?

(deeplink)Scripting Handbuch
Allerdings bist du mit Delphi wahrscheinlich mit Sicherheit schneller.

MathiasSimmack 8. Jun 2004 10:11

Re: Ressourcen-Files: Versionsnummer erhöhen?
 
Na ja, wenn du es unbedingt mit dem Windows Scripting machen willst, dann fällt mir nur eine Lösung ein. Aber ob die besonders clever ist ...

Da die RC-Datei ja nur eine Textdatei ist, müsstest du sie öffnen und zeilenweise einlesen. Zu beachten wären dann wohl die Zeilen
Code:
FILEVERSION 1,4,0,111
PRODUCTVERSION 1,4,7,0
und
Code:
VALUE "FileVersion", "1.4.0.111\0"
VALUE "ProductVersion", "1,4,7,0\0"
in denen sich die Versionsinfos ja befinden. VBS besitzt ja eingebaute Funktionen für reguläre Ausdrücke und das Splitten nach bestimmten Werten, so dass du recht schnell an die einzelnen Ziffern rankommst und diese nach Wunsch erhöhen kannst.

Bezgl. des Einlesens von Dateien schau dir am besten mal das [msdn]"FileSystemObject"[/msdn] im PSDK an. Dort findest du auch einige Beispiele. Das ließe sich übrigens mit deiner Idee kombinieren, dass du den Rückgabewert des Compilers auswerten möchtest. Nach ähnlichem Muster habe ich mir eine VBS geschrieben, die ich einfach ausführe, und die dann automatisch meine ganzen Hilfeprojekte kompiliert. Da interessiert mich zwar der Rückgabewert nicht, aber immerhin könnte ich ihn auswerten:
Code:
Return = Sh.Run(CHR(34) & strCompilerPath & strCompiler & CHR(34) & " -p " & _
  CHR(34) & strProjectFile & CHR(34), 1, true)
:)

Aber wie gesagt: Ob die Idee mit dem Skript so gut ist ... Es wäre machbar, erfordert aber trotzdem einiges an Aufwand. Und wenn du dich bspw. mit Delphi besser auskennst, dann wäre es IMHO zweckmäßiger und sicher auch für dich einfacher, ein kleines Delphi-Programm zu schreiben, das die gleiche Aufgabe übernimmt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 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