LabVIEWForum.de - Cluster of Controls aus ini-Datei befeuern

LabVIEWForum.de

Normale Version: Cluster of Controls aus ini-Datei befeuern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen. Ich habe eine ini-Datei, in welcher in Abschnitten unterteilt u.a. GPIB-Adressen von Messgeräten festgelegt werden. Ich möchte nun folgendes erreichen:

Das vi mit dem Messprogramm besitzt diverse Cluster, dessen Namen den Abschnitten in der ini-Datei entsprechen. Die Namen der Controls entsprechen wiederum den Keys in der ini-Datei. Das vi liest nun in zwei verschachtelten for-Schleifen alle Keys und dazugehörigen Werte aus und soll diese (im Falle einer Übereinstimmung) an die Controls übergeben. Das Cluster soll übrigens nur Strings enthalten.

Zum besseren Verständnis im Anhang noch das Auslesen der ini-Datei. Bei der jetzigen Realisierung werden die Controls verständlicher Weise nur dann gesetzt, wenn sie sich NICHT in einem Cluster befinden.

Gruß, Stephan
Hi,

an Elemente des Clusters kommst du über VI-Server dran, damit kannst du sie dann auch setzen.
Insgesamt würde ich mir's überlegen eher umgekehrt zu machen. Also ausgehend vom Cluster bzw. dessen Zerlegung in der Ini-Datei nach dem passenden Key suchen. Sowas findet man häufiger, glaub von OpenG/MGI gibt's sowas bzw. ich meine ich hätte sowas ähnliches auch schon hier im Forum gesehen.
Verstehe zwar weder auf die Schnelle dein VI, noch die darauf gegebene Antwort. Falls das Problem aber sein sollte, wie man ein beliebig komplexes Cluster in Textform in einer INI-File speichert und wieder zurückliest, so kann Dir geholfen werden. Ich mache das einfach so:

[attachment=32047]

Man kann allerdings den entstehenden langen String in der INI-Datei schlecht editieren. Wenn man das plant, dann ist die Abspeicherung des Clusters in seinen Einzelelementen natürlich vorzuziehen.
' schrieb:Man kann allerdings den entstehenden langen String in der INI-Datei schlecht editieren. Wenn man das plant, dann ist die Abspeicherung des Clusters in seinen Einzelelementen natürlich vorzuziehen.
Wenn Binär dann lohnt sich ggf. anstatt Cluster eine LVclass zu nehmen. Das ist bei späteren Änderungen der Datenstruktur ohne grossen Zusatzaufwand bzw. komplett für umme.
Und Binärstring in Ini, da lohnt es sich noch eine Stringkonvertierung in nur druckbare Zeichen (z.B. base64) einzuschieben.
Hallo Stephan,

noch'ne Idee:
Daten zu XML konvertieren und als Textfile speichern. Bläht die Datei etwas auf, ist aber editierbarSmile
Hallo zusammen,
danke für die zahlreichen Antworten und guten Tipps zum Thema. Letztendlich habe ich den Tipp von macmarvin befolgt und mir die OpenG Lib nachinstalliert. Und siehe da, das vi "Read Section Cluster" lieferte genau das gewünschte Ergebnis (s. Anhang!).

Wenn die ini-Datei nicht schon fix vorgegeben gewesen wäre + die Vorgabe, dass die darin enthaltenen Daten dann zur weiteren Verarbeitung in einem Cluster landen, hätte man es natürlich auch anders lösen können. Also sicher nicht die optimalste Lösung, aber sie verrichtet ihren DienstWink

Viele Grüße, Stephan

PS: Wie kann ich denn das Thema als "gelöst" oder "beantwortet" markieren, ohne es ganz schließen zu müssen?
Die VI-Ref-Öffnerei kannst du dir sparen. Das Ganze kann man natürlich auch noch weiter abstrahieren... muss man aber auch nicht :-)
[attachment=32052]
' schrieb:Die VI-Ref-Öffnerei kannst du dir sparen. Das Ganze kann man natürlich auch noch weiter abstrahieren... muss man aber auch nicht :-)
Ist nicht auch das noch umständlich? Warum nicht einfach den Cluster mit einer lokalen Variablen initialisieren?
[attachment=32069]
..und vielen Dank für den Hinweis auf die Open-G-INI-VIs. Die sind Gold wert.
Referenz-URLs