LabVIEWForum.de
Neuling hat eine Frage - Eingaben und ein Event - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Neuling hat eine Frage - Eingaben und ein Event (/Thread-Neuling-hat-eine-Frage-Eingaben-und-ein-Event)



Neuling hat eine Frage - Eingaben und ein Event - M@rRy - 04.08.2011 08:15

Hallo @ all,

erstmal direkt ein danke an alle, ich arbeite gerade an meiner Bachlorarbeit und damit auch das erste mal mit LabView (Version 7.1, englisch) und konnte dank dem Forum hier oftmals schon gute Hilfen finden.
Jetzt hab ich aber mal eine Frage die ich bisher so oder so ähnlich noch nich gefunden habe und zwar möchte ich eine Eingabe per Touchscreen programmieren. Das nötige SubVI mit dem Aufruf der Tastatur und einem Wert der zurück gegeben wird habe ich bereits gebastelt. Allerdings möchte ich nun das beim anklicken eines beliebigen Feldes (hierbei sollen Felder für Zahlen und Strings auch unterschieden werden) sich die entsprechende Tastatur, also Nummernblock oder komplett, öffnet. Soweit ist das auch kein Problem, da ich einfach ein event programmiert habe welches auf "Mouse Move" einfach mein Nummernblock startet, aber danach komme ich nicht direkt weiter. Ich muss ja bestimmen in welches Feld geklickt wurde um dieses später auch zu beschreiben, da habe ich zunächst für jedes Feld ein PropertyNode erzeugt und frage dort den "KeyFocus" ab, alle Boolean kommen in ein Array, dies wird in int konvertiert und dann über eine Switch-Case-Anweisung rufe ich den Nummernblock mit direkt angehängter lokalen Variablen auf ... wie ihr seht is das ziemlich umständlich und für meine Anwendung auch deutlich zu Ressourcenfressend.

Gibt es eine Möglichkeit, beispielsweise über klassen, alle felder abzufragen, dann nach den nummerischen oder den textfeldern zu filtern und dann genau das eine rauszupicken welches gedrückt wurde?
Das Event selbst gibt nur die Aktion auf das es reagiert hat und das VI in dem es aufgerufen wurde zurück oder lässt sich dort vielleicht schon eine Abfrage starten??

Wie ihr seht eine Menge fragen, wer kann mir helfen??
Danke im schonmal


RE: Neuling hat eine Frage - Eingaben und ein Event - NWOmason - 04.08.2011 08:30

(04.08.2011 08:15 )M@rRy schrieb:  Soweit ist das auch kein Problem, da ich einfach ein event programmiert habe welches auf "Mouse Move" einfach mein Nummernblock startet, aber danach komme ich nicht direkt weiter. Ich muss ja bestimmen in welches Feld geklickt wurde um dieses später auch zu beschreiben, da habe ich zunächst für jedes Feld ein PropertyNode erzeugt und frage dort den "KeyFocus" ab, alle Boolean kommen in ein Array, dies wird in int konvertiert und dann über eine Switch-Case-Anweisung rufe ich den Nummernblock mit direkt angehängter lokalen Variablen auf ... wie ihr seht is das ziemlich umständlich und für meine Anwendung auch deutlich zu Ressourcenfressend.


Hm, das hört sich jetzt auch in erster Linie kompliziert ran. Spontan fällt mir etwas anderes ein:

Du könntest alle Zahlenfelder in einen Eventcase legen (Man kann ja mehrere Ereignisse auf den gleichen Eventcase registrieren). Dann könntest du die Tastatur mit Nummerblock (also das SubVI) aufrufen. Als zweites könntest du alle Stringfelder in einen Eventcase legen und die Tastatur ohne Nummernblock aufrufen. Bleibt noch das Thema, dass du nicht weißt, von welchem Element das Event ausgelöst wurde. Dies geht aber auch, da du bei jedem Eventcase auch die Referenz des Objektes mitbekommst, womit du wiederrum weist, wer das Event ausgelöst hat. Wenn du von deinem SubVI den Wert zurückbekommst, kannst du diesen mittels Porpertynode an dein Element schreiben. Sollte so funktionieren Smile Ist es ungefähr rübergekommen, was ich meine?


Weiterhin könntest du mal dein VI/Screenshots hochladen, damit man sich das ganze etwas besser vorstellen kann.

Beste Grüße,
NWO


RE: Neuling hat eine Frage - Eingaben und ein Event - Y-P - 04.08.2011 08:31

Lad' mal Dein VI hoch.

Gruß Markus


RE: Neuling hat eine Frage - Eingaben und ein Event - M@rRy - 04.08.2011 08:43

Das mit dem Event und das dieses auf alle Tastenfelder reagiert habe ich genau so gemacht.

Der Hintergedanke mit der Klasse war folgender, irgedwann werde ich ja nich mehr sein, wenn dann jemand ankommt und das hier ändern möchte wäre es super leicht für den jenigen, da er beispielsweise ein neues controll nirgends einbinden müsste, die Klasse würde es ja "von selbst" mit aufnehmen und sollte es angeklickt werden, auch dieses beschreiben. Also die Erweiterbarkeit wäre echt gut.

Im Anhang ist das momentane VI. Ich bastel noch ein wenig, vielleicht kriege ich das ganze ja doch irgendwie hin, bin dennoch für jeden Tipp dankbar.


RE: Neuling hat eine Frage - Eingaben und ein Event - jg - 04.08.2011 09:17

Offtopic2
Bei deinem letztem Beitrag gleitest du immer wieder in SMS-Stil (alles klein geschrieben). Das ist hier im LVF unerwünscht (vgl. LVF-Regeln).

Danke, Jens


RE: Neuling hat eine Frage - Eingaben und ein Event - M@rRy - 04.08.2011 09:24

Habs berichtigt, sorry!


RE: Neuling hat eine Frage - Eingaben und ein Event - jg - 04.08.2011 09:38

Offtopic2
Danke für Editieren! Entschuldigung ist selbstverständlich akzeptiert. Smile

Gruß, Jens


RE: Neuling hat eine Frage - Eingaben und ein Event - M@rRy - 05.08.2011 08:05

Guten Morgen!^^

Also es schaut so aus das ich jetzt erstmal alles zum laufen bekommen habe was ich so wollte. D.h. ich habe eine Referenzierung auf sämtliche controls mit filterung der Nummerischen hinbekommen. Das Problem was ich noch immer habe ist das ich daraus jetzt ein event bauen möchte. Also ich habe die Labels (könnte auch die Referenz selbst nehmen, is nur ein klickt im PropertyNode) und möchte das beim klicken in eines der nummerischen Controls das event gestartet wird. Versucht habe ich es über ein Array welches ich als event registriert habe, da regiert das Programm aber dann auch nur auf das Array und nicht auf den Inhalt. Wie kann ich das geschickt lösen?

Edit: Zweiter Versuch über einen String ging auch inne Hose, da wird nur auf das Control vom String selbst das Event gestartet.


RE: Neuling hat eine Frage - Eingaben und ein Event - M@rRy - 05.08.2011 10:03

Ah ich habs hinbekommen. Für alle die es interessieren sollte hänge ich ein Beispiel Programm an. Das Beispiel zeigt die Funktion in der Form eines kleinen Ratespiels.
Es ist jetzt möglich individuell viele Controlls hinzuzufügen und durch das aufnehmen bei Programmstart ein event auf eines der Controls zu starten.

Gruß und danke an die Helferlein