LabVIEWForum.de
*.lvproj Datei einlesen und auftrennen nach Pfaden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: *.lvproj Datei einlesen und auftrennen nach Pfaden (/Thread-lvproj-Datei-einlesen-und-auftrennen-nach-Pfaden)

Seiten: 1 2


*.lvproj Datei einlesen und auftrennen nach Pfaden - Wendigo - 05.11.2012 11:03

Hallo,

ich arbeite derzeitig mit der File Dialog Funktion. Ich möchte spezifische Werte aus VIs und Controls auslesen.
Bei einzelnen VIs, Ctls und ganze Ordnern gelingt mir das ohne Probleme. Die Pfade werden an SUBVIs übergeben, diese dann die Werte aus den VIs oder Controls auslesen.


Nun möchte ich aber nur eine Datei vom Typ *.lvproj auswählen, worauf diese File in ihre Bestandteile aufgetrennt werden und mir die Pfade der zur File zugehörigen VIs und Controls ausgegeben werden.

Wie bekomme ich das mit der File Dialog Funktion hin?


RE: *.lvproj Datei einlesen und auftrennen nach Pfaden - GerdW - 05.11.2012 11:34

Hallo Wendigo,

die Funktion FileDialog funktioniert bei beliebigen Dateien, unabhängig vom Dateityp: du bekommst jedesmal den Pfad zur Datei zurückgeliefert!

Eine lvproj-Datei ist aber kein VI (aka "labview resource file"), sondern eine XML-Textdatei. Da kannst du dich bequem durcharbeiten!


RE: *.lvproj Datei einlesen und auftrennen nach Pfaden - Wendigo - 05.11.2012 13:05

Ich habe es mit der unten stehenden Funktion ausprobiert, aber leider ohne Erfolg. Er werden mit keine XML Elemente in Stringform ausgegeben.


RE: *.lvproj Datei einlesen und auftrennen nach Pfaden - GerdW - 05.11.2012 13:08

Hallo Wendigo,

ich habe nicht behauptet, dass das Parsen dieser Datei mit LabVIEW-internen Mitteln ohne weiteres möglich ist!

Guck dir eine lvproj-Datei mit einem Texteditor an und überlege, ob du diesen Aufwand überhaupt betreiben willst.
Was ist eigentlich der Grund für dein Vorgehen? Was willst du wirklich erreichen?

Zitat:Ich möchte spezifische Werte aus VIs und Controls auslesen.
Es hört sich für mich an, als wenn du eine Art INI-Datei anlegen willst. Hier würde ich zu einer anderen Methode der Datenverwaltung raten: nutze eine FGV, die die benötigten Daten im Speicher hält und bei Bedarf auch gleich in einer Datei speichert...


RE: *.lvproj Datei einlesen und auftrennen nach Pfaden - Wendigo - 07.11.2012 09:35

(05.11.2012 13:08 )GerdW schrieb:  Hallo Wendigo,

ich habe nicht behauptet, dass das Parsen dieser Datei mit LabVIEW-internen Mitteln ohne weiteres möglich ist!

Guck dir eine lvproj-Datei mit einem Texteditor an und überlege, ob du diesen Aufwand überhaupt betreiben willst.
Was ist eigentlich der Grund für dein Vorgehen? Was willst du wirklich erreichen?

Zitat:Ich möchte spezifische Werte aus VIs und Controls auslesen.
Es hört sich für mich an, als wenn du eine Art INI-Datei anlegen willst. Hier würde ich zu einer anderen Methode der Datenverwaltung raten: nutze eine FGV, die die benötigten Daten im Speicher hält und bei Bedarf auch gleich in einer Datei speichert...

Von der Idee ein Projekt aufzutrennen habe ich abgelassen. Es belasse er vorerst doch erst einmal nur bei "Verzeichnis wählen".



Das mit der FGV hört sich gut an. Verstehe ich dich richtig, dass du eine FGV erstellen würdest, die auch Daten in einer Datei speichert, oder meinst du den Inhalt einer FGV in einer Datei speichern?


RE: *.lvproj Datei einlesen und auftrennen nach Pfaden - GerdW - 07.11.2012 09:56

Hallo Wendigo,

Zitat:Verstehe ich dich richtig, dass du eine FGV erstellen würdest, die auch Daten in einer Datei speichert, oder meinst du den Inhalt einer FGV in einer Datei speichern?
Was ist für dich der Unterschied von "Daten" und "Inhalt einer FGV"?

Eine FGV dient in erster Linie dazu, (ähnlich einer globalen Variablen) Daten zu speichern (bessere Wortwahl) im RAM zu halten. Dann kann man aber zusätzliche Funktionalität drum herum basteln, wie z.B. ebendiese Daten auch in Dateien zu sichern oder beim Start deines Programm diese Dateien auch zu laden und damit die FGV zu initialisieren...

Du kannst eine FGV auch mit einer Statemachine vergleichen: die FGV arbeitet den State ab, der gerade benötigt wird und beendet sich dann gleich wieder (im Gegensatz zu einer echten Statemachine, die dann den nächsten State abarbeitet).


RE: *.lvproj Datei einlesen und auftrennen nach Pfaden - Wendigo - 08.11.2012 12:47

Eine FGV ist ja ein SubVI. Verwenden wir mal diesen Begriff. Möchtest du, dass in diesem SubVI die Daten gespeichert werden, oder außerhalb von diesem?

Das war mir nicht ganz klar.

Mittlerweile gehe ich davon aus, dass IM SubVI die Daten in einer Datei gespeichert werden sollen. Richtig? Hättest du dazu vielleicht ein kleines Beispielprogramm?


RE: *.lvproj Datei einlesen und auftrennen nach Pfaden - Morpheus - 09.11.2012 08:41

Hab da mal noch einen interessanten Link gefunden...
https://decibel.ni.com/content/docs/DOC-22954

Gruss
Chris


RE: *.lvproj Datei einlesen und auftrennen nach Pfaden - Y-P - 09.11.2012 09:09

Der funktioniert aber nicht so wirklich. Ich kriege da 2925 VIs (!) zurück, viele davon aus der NI-eigenen VI.lib (z.B. viele unterschiedliche Polynomfunktionen,... die ich aber gar nicht verwende),....

Gruß Markus

(09.11.2012 08:41 )Morpheus schrieb:  Hab da mal noch einen interessanten Link gefunden...
https://decibel.ni.com/content/docs/DOC-22954

Gruss
Chris



RE: *.lvproj Datei einlesen und auftrennen nach Pfaden - GerdW - 09.11.2012 09:13

Hallo Markus,

Zitat:Ich kriege da 2925 VIs (!) zurück, viele davon aus der NI-eigenen VI.lib (z.B. viele unterschiedliche Polynomfunktionen,... die ich aber gar nicht verwende),....
Schon mal unter "Abhängigkeiten" im Projekt nachgeschaut? (Und die ganzen polymorphen Funktionen mitgezählt?)