LabVIEWForum.de
Interaktiver String - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Interaktiver String (/Thread-Interaktiver-String)



Interaktiver String - Shiva - 20.12.2011 12:37

Hallo zusammen,

ich bin absoluter Neuling und entschuldige mich vorab für alles was kommt!

Gibt es eine Möglichkeit einem String eine Funktion(link..) zuzuweisen?

Ich logge den kompletten Programmlauf(im Folgenden Output-String genannt) in einem String.
Währenddessen werden verschiedene/mehrere log-Dateien erstellt und gespeichert, diese möchte ich dann per Link aufrufen können.
Diese Links sollen im Output-String angezeigt werden und anklickbar sein.
Ob die Datei in Notepad oder in einem neuen String angezeigt wird sehe ich dann!
Mir geht es nur um: kann ich einem String bzw. einem Wort von einem String Funktionalität zuweisen und wenn ja wie?

Lg
Shiva


RE: Interaktiver String - Y-P - 21.12.2011 08:28

Bahn
Kannst Du mal ein Bsp. machen, wie Du das meinst?

Gruß Markus


RE: Interaktiver String - gentos - 21.12.2011 08:59

Weiß nicht genau ob das die genaue Antwort auf Deine Frage ist:

1. Wenn du irgendwelche Elemente deines VI's mit Funktionalität füllen willst, musst du in LabVIEW grundsätzlich mit Eigenschaftsknoten und Methodenknoten arbeiten.

2. Damit könntest Du Deine Strings folgenderweise zur Anzeige/Auswahl Bringen:

[attachment=37794]

Eigenschafts- und Methodenknoten machen LabVIEW mächtig!;-)


RE: Interaktiver String - unicorn - 21.12.2011 14:17

Du möchtest so etwas wie einen Hyperlink haben, oder?

Dann kannst Du den Internetexplorer in einem Active-X Control auf dem Frontpanel einbauen. Als Meta-Log-Datei erzeugst Du nun ein einfaches HTML-Dokument, das die Links auf die einzelnen Log-Dateien enthält, und stellst es mit dem eingebetteten IE dar. Der IE kann Text-Datei darstellen, aber ggf. muss die Endung der darzustellenden Textdatei als Textdatei registriert werden.


RE: Interaktiver String - Shiva - 21.12.2011 15:18

Vielen Dank Euch schonmal! Top Forum!

Zitat:Du möchtest so etwas wie einen Hyperlink haben, oder?
Genau so etwas möchte ichSmile

Benutze halt einen String Indicator, indem laufend der Programmablauf geloggt wird und Dateien namentlich genannt werden.
Und diese Dateinamen möchte ich gerne verlinken, so dass wenn ich mit der Maus drauf klicke etwas passiert(z.B. Notepad öffnet die Datei etc.)

Geht das?

Ansonsten..
Zitat:Dann kannst Du den Internetexplorer in einem Active-X Control auf dem Frontpanel einbauen. Als Meta-Log-Datei erzeugst Du nun ein einfaches HTML-Dokument, das die Links auf die einzelnen Log-Dateien enthält, und stellst es mit dem eingebetteten IE dar. Der IE kann Text-Datei darstellen, aber ggf. muss die Endung der darzustellenden Textdatei als Textdatei registriert werden.
..versuche ich diese Lösung mal umzusetzen.

Ein Beispiel, welches die Problemstellung illustriert kann ich leider nicht hochladen, hoffe die Erklärung reicht!?


RE: Interaktiver String - unicorn - 21.12.2011 16:54

Beim String-Indicator gibt es eine Invoke Methode names Bytes Offset from Point. Damit kann man die Maus-Position in eine Position im String umrechnen. Von der Postion im String müsste man dann nach Leerzeichen suchen, dann Prüfen, ob es sich um einen Dateinamen handelt, und ggf. die Datei dann öffnen.
Das ganze würde durch ein Mouse-Down Event in einer Ereignisstruktur getriggert werden.

Im Falle des IE im ActiveX-Control, müsste man fortwährend neue HTML-Dateien generieren und anzeigen lassen. Den Rest erledigt der eingebettete IE.


RE: Interaktiver String - M Nussbaumer - 22.12.2011 08:56

Hallo Shiva

Ich verstehe das so, dass du Daten loggst und anschliessend den String mit dem vollen Pfad auf die Datei erhältst. Es würde sich doch anbieten die Pfade in einem Array abzulegen anstatt einem einzelnen String.

Als Alternative zum Lösungsweg über ActiveX gibt es noch die Möglichkeit die Datei über "System Execute"
aufzurufen. Quasi wie über die CMD-Konsole.

Vorteil gegenüber der eingebetteten Variante ist, dass du beliebig viele Files öffnen kannst. Die durch ActiveX eingebettete Variante bietet dafür wiedrum die Möglichkeit die Daten programmatisch auszuwerten.

Ist halt ein abwägenWink

Hier mal mein Vorschlag:

[attachment=37834]
[attachment=37833]

Hoffe das hilft dir weiter!

Gruss Marc

P.s. Das "Array Point to RowCol.vi" ist von lavag.org und einfach genial wenn es darum geht Klick-Events in einem Array zuzuordnenSmile


RE: Interaktiver String - M Nussbaumer - 22.12.2011 09:52

Nachtrag: Für das aufrufen von mehreren Dateien müsste beim Anschluss "wait until completion(T)" des VI "System Exec.vi" eine False-Konstante angeschlossen werden.

Gruss Marc