Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
19.12.2015, 22:29 (Dieser Beitrag wurde zuletzt bearbeitet: 19.12.2015 23:31 von ichmaglachs.)
Auf Grundlage von VI-Beispielen habe ich diese Eingabekonsole geschrieben. Mein Problem ist ich kann nicht anders als durch einen tatsächlichen Druck auf die Clear-Taste die Clear-Funktion auslösen.
Ich würde aber gerne die Clear-Funktion auslösen durch ein Boealen-Signal.
Da ich an der Stelle die Program-Architektur nicht ganz durchblicke (wie gesagt ich hab mich da an Beispielen abgearbeitet) weiß ich nicht wie ich die Clear-Funktion über ein Boalen beeinflussen kann.
Im Anhang hab ich zwei Screenshoots und ich hab das VI in den Anhang gelegt. Das ist aber in der Version 2015 und ist darum unter umständen nicht zu öffnen.
Und ja ich bin Mac-User
Ich sehe große Aufgaben auf dich zukommen - oder weniger diplomatisch: schwerwiegende Probleme, wenn du deinen Programmierstil so beibehälst.
(19.12.2015 22:29 )ichmaglachs schrieb: Ich würde aber gerne die Clear-Funktion auslösen durch ein Boealen-Signal.
Eigentlich ganz einfach: Schreibe den Wert nicht in das Anzeigeelement an sich, auch nicht in eine Lokale Variable des Anzeigeelementes, sondern in den Eigenschaftsknoten "Wert(signalisierend)". Das bewirkt nämlich, dass - wenn sich das Element in der Ereignis-Struktur befindet - ein Event ausgelöst wird. Du kannst die Event-Quellen "Boolsches Anzeigeelement" und "Taste" ein einen einzigen Case legen.
Außerdem solltest du dir mal folgendes überlegen:
Verwendet nicht 10 einzelne Elemente "Regulären Ausdruck suchen", sondern versuche dieses komplizierten, nicht wiederverwendbaren Algorithmus umzuschreiben in eine Struktur, die mit Arrays und For-Schleifen arbeitet. Weitsichtiger Vorteil: Du kannst ein SubVI erstellen, das als Eingang sowohl die Sollwerte also auch die Istwerte der Eingabe enthält. Dieses SubVI kannst du dann für alle Levels verwenden und jeden beliebige Länge verwenden. Weiterer unschlagbarer Vorteil: Dein Blockdiagramm wird endlich übersichtlich.
Außerdem:
Warum verwendest du in den Event-Cases den Typ "Maustaste losgelassen" und nicht den Typ "Wertänderung"? Ich würde Wertänderung verwenden.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
20.12.2015, 17:33 (Dieser Beitrag wurde zuletzt bearbeitet: 20.12.2015 17:33 von IchSelbst.)
Ich mag gern FGVs (funktionale globale Variablen). Eine FGV ist ein SubVIs, das Daten ("globale Variablen") enthaltet und "funktional" ist, d.h. das SubVI beinhaltet Methoden zur Bearbeitung der (internen) Daten. Eines der vielen, schönen Sachen an einer FGV ist, dass sie unabhängig von einem User-Frontend ist.
Ich hab mal ein Beispiel gemacht, wie ich mir einen (eigentlich applikationsunabhängigen) Programmaufbau vorstelle.
LV2014
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
außerdem:
Wann immer du ein VI produzierst, bei dem du zwei STOP-Buttons benötigst, um das VI zu beenden, hast du etwas falsch gemacht!
In dem Fall: du hast dir keine vernünftige Programmstruktur überlegt!
(Eigentlich muss man zusätzlich noch den "Enter"-Button klicken - ist für den User so ersichtlich, wie er dein Programm beenden kann???)
Ansonsten:
- Warum ist "Clear" ein Array of booleans? Warum zwei solcher Arrays - nur, damit man mit dem einen das andere initialisieren kann?
- LabVIEW hat eine AutoCleanup-Funktion - und ein eigenes StyleGuide-Kapitel in der LabVIEW-Hilfe!
- "Bunte" Bedienoberflächen sind Geschmackssache - da kann man eigentlich nicht drüber streiten. Ärgern kann man sich trotzdem…
- Zum UI-Design: Auch hier sollten klare Grundsätze erkennbar sein. Du verwendest diverse unterschiedliche "Stile" deiner Buttons - und keiner davon ist irgendwie konform zu StyleGuides der üblichen Betriebssysteme…
falls jemand hier mit der Suchfunktion über den Begriff "virtuelle Tastatur" hingelangt ist, wäre es ja möglich, dass er / sie auf der Suche nach einer Möglichkeit zum Öffnen der WINDOWS-Tastatur ist.
Demjenigen sei der Vollständigkeit halber mit angehängtem Bild geholfen.
Gruß, Marko
PS: Ich weiß, dass dies nichts mit den Problemen des thread openers zu tun hat, aber eben mit dem threadnamen.