LabVIEWForum.de - Ausgabe in Eingabeelemente ändern

LabVIEWForum.de

Normale Version: Ausgabe in Eingabeelemente ändern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

habe ein kleines Problem mit einem VI. Ich lese aus einer txt-Datei Zeilen bzw. Spalten ein. Diese werden angezeigt. Nun möchte ich die Daten ändern während das VI läuft, indem ich einen Button drücke. Ist es möglich die Ausgabeelemnte in Eingabeelmente zu ändern? Über einen Eigenschafts bzw. Methodenknoten?

Vielen Dank für eure Ratschläge.

Grüße Wanze

Lv80_img
Leg' sie doch gleich als Eingabeelemente fest und fülle sie per Property Nodes oder lokalen Variablen.

Gruß Markus
Hallo,

so würde ich es auch machen. Es gibt zwar den Eigenschaftsknoten "Anzeigeelement", doch auf diesen kann nur lesend zugegriffen werden.

[attachment=30507]
..und das sähe dann z.B so aus:
[attachment=30508] [attachment=30509]
lv90 [attachment=30510]
' schrieb:Ist es möglich die Ausgabeelemnte in Eingabeelmente zu ändern?
NEIN, du kannst zur Laufzeit ein Control nicht in einen Indicator ändern!

Was aber immer geht, wie auch schon von den Vorschreibern angedeutet: Lokale Variable einens Controls erzeugen, auf Schreiben ändern und beschreiben.

Gruß, Jens
Ein- und Ausgabeelemente unterscheiden sich in der Ansicht, so dass man als Benutzer gleich erkennt "hier wird was angezeigt" und "hier kann ich etwas eingeben". Also wäre es schön, wenn sich die Ansicht der Element anpasst, wenn man den Knopf gedrückt hat. Mit Deaktivieren und Grau unterlegen geht das nicht ganz. Bei den LV Elementen kann man sie Deaktivieren und den Hintergrund grau machen solange der Knopf noch nicht gedrückt wurde.

Verwendet man Systemelemente bleibt nur Ausgabeelement unsichtbar und Eingabeelement sichtbar machen (hier kann man nicht die Hintergrundfarbe ändern (in LV8.6 jedenfalls)). Beide Elementsorten werden mit den gleichen Daten gefüllt, so wie bereits beschrieben. Außerdem muss man die Ausgabeelemente aktualisieren, wenn man mit editieren fertig ist und durch erneutes Drücken des "Knopfes" den Editmodus verlässt.

Hat man nur Texte anzuzeigen und zu editieren ist die Tabellenlösung sicher die schönste und einfachste. Die Eingabe von Zahlen, auch wenn sie als Text in einer Datei gespeichert sind, erfordern eine Kontrolle auf Gültigkeit der Eingabe in der Tabelle, was diese Lösung wieder sehr unattraktiv macht.

Ich habe die Anforderung von Wanze dadurch gelöst, dass ich die Felder (Strings, Datum, Enumeration), sie Systemelemente sein sollten, in einem XControl untergebracht habe, das man von außen in den Editmodus versetzen kann. In der Eventstruktur des XControl wird das Sichtbarmachen und die Aktualisierung der Daten der Elemente nach Eingabe gesteuert, so dass das XControl enthaltene VI nicht damit beauftragt ist und übersichtlich bleibt.

Gruß Unicorn
.... wobei XControls meiner Meinung nach wirklich nur was für ganz erfahrene LabVIEW-User sind. Ich habe mal was im Rahmen des "Advanced I"-Lehrgangs davon gehört, aber das ist wirklich sehr kompliziert, wenn man sich nicht einmal die Zeit nimmt und sich richtig darin einarbeitet.
Trotzdem ist das natürlich eine gute Lösung.

Gruß Markus

' schrieb:Ein- und Ausgabeelemente unterscheiden sich in der Ansicht, so dass man als Benutzer gleich erkennt "hier wird was angezeigt" und "hier kann ich etwas eingeben". Also wäre es schön, wenn sich die Ansicht der Element anpasst, wenn man den Knopf gedrückt hat. Mit Deaktivieren und Grau unterlegen geht das nicht ganz. Bei den LV Elementen kann man sie Deaktivieren und den Hintergrund grau machen solange der Knopf noch nicht gedrückt wurde.

Verwendet man Systemelemente bleibt nur Ausgabeelement unsichtbar und Eingabeelement sichtbar machen (hier kann man nicht die Hintergrundfarbe ändern (in LV8.6 jedenfalls)). Beide Elementsorten werden mit den gleichen Daten gefüllt, so wie bereits beschrieben. Außerdem muss man die Ausgabeelemente aktualisieren, wenn man mit editieren fertig ist und durch erneutes Drücken des "Knopfes" den Editmodus verlässt.

Hat man nur Texte anzuzeigen und zu editieren ist die Tabellenlösung sicher die schönste und einfachste. Die Eingabe von Zahlen, auch wenn sie als Text in einer Datei gespeichert sind, erfordern eine Kontrolle auf Gültigkeit der Eingabe in der Tabelle, was diese Lösung wieder sehr unattraktiv macht.

Ich habe die Anforderung von Wanze dadurch gelöst, dass ich die Felder (Strings, Datum, Enumeration), sie Systemelemente sein sollten, in einem XControl untergebracht habe, das man von außen in den Editmodus versetzen kann. In der Eventstruktur des XControl wird das Sichtbarmachen und die Aktualisierung der Daten der Elemente nach Eingabe gesteuert, so dass das XControl enthaltene VI nicht damit beauftragt ist und übersichtlich bleibt.

Gruß Unicorn
Habe den Vorschlag von Lucki an meine Anforderungen angepasst und es funktioniert Big Grin. Vielen Dank.

Der Vorschlag von unicorn übersteigt leider meinen LabVIEW-Horizont.
Referenz-URLs