LabVIEWForum.de - LabVIEW.INI selbst schreiben bei Programm-Erzeugung / Inhaltstitelzeile anpassen

LabVIEWForum.de

Normale Version: LabVIEW.INI selbst schreiben bei Programm-Erzeugung / Inhaltstitelzeile anpassen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo LabVIEWForum,

ich wollte kurz wissen ob und wie es möglich ist die .ini, welche vom Applicationbuilder im Programmzielverzeichnis erstellt wird, auch selbst zur Laufzeit zu schreiben?

Würde ich mit dem AppBuilder eine .exe ohne weitere Einstellungen erzeugen. Bsps. MyProgram.exe
bekäme ich dazu:
MyProgram.ini
mit Inhaltstitelzeile
[MyProgram]

Nun nutze ich aber eine selbst geschriebene .ini, nennen wir sie "MeineTolle.ini" mit Titelzeile [MeineTolle].
Gebe ich dem AppBuilder vor, diese zu benutzen, über "Use custom configuration file", wird der Inhalt von "MyProgram.ini" mit dem von "MeineTolle.ini" ersetzt. Das Problem ist aber, dass bei diesem Vorgehen die Inhaltstitelzeile NICHT mitangepasst wird. Also da steht weiterhin [MeineTolle] und nicht wie erforderlich [MyProgram].

Wie kann ich das ändern, so dass die Inhaltstitelzeile automatisch angepasst wird? Bzw. kann ich Sie während der Kompilierung selbst schreiben und den Namen des StartupVIs abfragen?

Vielen Dank,
LabVIEWDompteur
----------------------------------

P.S. noch eine andere Frage: Ist es, und wie, möglich die Versionsnummer, welche ebenfalls im AppBuilder eingetragen wird bevor die .exe erzeugt wird abzufragen und damit verschiedene Labels in verschiedenen VIs und Programmtitelzeile zu ändern?
1) Was hindert dich daran, vor Erstellung der Exe deine angepasste Ini-Datei selber zu editieren?

2) Schon mal die Ini-File-Palette angeschaut? Du hast alle Möglichkeiten, Ini-Files einzulesen, dir alle Sections und Keys ausgeben zu lassen, beliebig neue Sections und Keys zu erstellen etc. pp.

3) Einige Links:
https://decibel.ni.com/content/docs/DOC-13866
http://zone.ni.com/reference/de-XX/help/..._ver_prog/

Gruß, Jens
(31.05.2012 21:32 )LabVIEWDompteur schrieb: [ -> ]P.S. noch eine andere Frage: Ist es, und wie, möglich die Versionsnummer, welche ebenfalls im AppBuilder eingetragen wird bevor die .exe erzeugt wird abzufragen..

Es gibt ein VI in der fileVersionInfo.llb:

[attachment=40009]

Beste Grüße,
NWO
@NWOmason: Genau darauf verweist der 2. Link, den ich gepostet habe. Wink
@jg: Hehe, stimmt. Hätte ich mal vorher die Links angesehen Angel

Beste Grüße,
NWO
(31.05.2012 23:02 )jg schrieb: [ -> ]1) Was hindert dich daran, vor Erstellung der Exe deine angepasste Ini-Datei selber zu editieren?
Nichts. Aber es ist unpraktisch. D.h. ich will das automatisieren. Stell Dir vor, du hast in deinem Projekt:
ProgramA
ProgramB
ProgramC
du kompilerst das und hast entweder für jedes Program eine eigene .ini oder du editierst händisch nach dem Buildprozess im Zielverzeichnis deiner .exe.

Ziel ist nur eine .ini, die in beliebigem Projekt eingesetzt wird und mit einem Skript den Zielnamen der .exe abfragt und so die "Section" entsprechend anpasst. zu [ProgramA] bzw. [ProgramB]...

(31.05.2012 23:02 )jg schrieb: [ -> ]2) Schon mal die Ini-File-Palette angeschaut? Du hast alle Möglichkeiten, Ini-Files einzulesen, dir alle Sections und Keys ausgeben zu lassen, beliebig neue Sections und Keys zu erstellen etc. pp.

Nein hatte ich tatsächlich nicht hineingeschaut, ich hätte die .ini wie eine reguläre Textdatei geschrieben (Write to Text File Function).

Damit hätte ich mein Ziel erreicht, wenn ich irgendwie auf die Information des "Destination Directory" des AppBuilders zugreifen könnte+Target filename. Dann könnte ich (schätzungsweise) mit Post Build Actions die .ini ändern.

(31.05.2012 23:02 )jg schrieb: [ -> ]3) Einige Links:
https://decibel.ni.com/content/docs/DOC-13866
http://zone.ni.com/reference/de-XX/help/..._ver_prog/
und
(01.06.2012 05:47 )NWOmason schrieb: [ -> ]Es gibt ein VI in der fileVersionInfo.llb:

Hier gabs wohl ein Missverständnis. Mit euren Links kann man die Information aus einer BESTEHENDEN .exe auslesen. Ich hätte wohl mehr Betonung auf das VOR legen sollen. Heißt ich will genauso wie bei obigem Problem auf die Information, welche ich im AppBuilder "MyProgram Properties" eintrage, Destination Directory, Target filename auch hier jetzt auch auf Version Number zugreifen. Um diese Werte zu haben und in einem VI zu nutzen um dann im PRE-build Action im Program verschiedene Labels verändern zu können.
So eine Teillösung habe ich schonmal:
Man kupfere aus dem Example:
project/pre and post build/sample post build action.vi
ab! Hier erhält man u.a. das Destinationdirectory & BuildSpecification Name. (Target Name war irgendwie nicht korrekt? BUG?)
Damit kann ich dann mit den INI bzw. Config File VIs neue Sections hinzufügen sowie values. ABER es gibt scheinbar kein VI hier, welches eine Section umbenennen könnte. D.h. 2 Möglichkeiten:
a) wieder zurückausweichen auf die regulären FileI/O Writefunktionen
b) das File hier komplett mit den Config File VIs erzeugen, d.h. das ursprüngliche ini File hier einlesen und daraus die Sections und Keys samt Values erzeugen.

Wisst ihr woher das sample post build action.vi seine Werte bekommt? Ob es bzgl. der Inputs immer so aussehen muss? Und ob es weitere vom AppBuilder geschriebene Variablen gibt, wie die Version Information?
Zu der Build Version Number hat keiner eine Idee?

Kann man diese nicht VOR dem buildprozess auslesen oder alternativ in das Appliaction Builder Interface die zu nutzende Nummer aus einer Textdatei automatisch einlesen?
Referenz-URLs