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!
habe ein Problem mit der "Key Navigation". Ich hätte gern ein SubVI, in dem ich per
NumPad den Wert einer Variable ändere und die Eingabe mit "Enter" bestätige.
Im Prinzip tut es das, was es soll. Nur wird der Wert nicht übernommen. Der
wird nur übernommen, wenn ich mit der Maus auf den OK-button klicke.
Hat jemand eine Erklärung dafür?
Ich häng mal das VI an, damit ihr es probieren könnt
besten dank,
gruss <<oenk>>
In theory, there is no difference between theory and practice; In practice, there is.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Problem mit "Key Navigation"
Hallo,
mache doch eine Event-Structure, wo Du dann abfragst, ob "Enter" gedrückt wurde (Key down und dann vorne in der Struktur "VKey"). Wurde es dann gedrückt, dann kannst in einem Case innerhalb der Event-Structure den Wert übergeben. Das würde mir spontan dazu einfallen.
habe ein Problem mit der "Key Navigation". Ich hätte gern ein SubVI, in dem ich per
NumPad den Wert einer Variable ändere und die Eingabe mit "Enter" bestätige.
Im Prinzip tut es das, was es soll. Nur wird der Wert nicht übernommen. Der
wird nur übernommen, wenn ich mit der Maus auf den OK-button klicke.
Hat jemand eine Erklärung dafür?
Ich häng mal das VI an, damit ihr es probieren könnt
besten dank,
gruss <<oenk>>[/quote]
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
danke für den Tip
Hat mir aber nichts direkt gebracht.....bin aber trotzdem, oder gerade wegen dem Tip auf
die Lösung gekommen.
Ich setzte den "key focus" auf die numerische Eingabe. Drücke ich jetzt "Enter" bestätige ich
die Eingabe und gleichzeitig beende ich dei "while"-Schleife. Somit wurde die Eingabe noch
nicht oder nur undefiniert bestätigt.
Jetzt frage ich die "Enter"-Taste des NumPad direkt ab, deaktiviere den Focus auf die numerische
Eingabe und siehe da, es geht.....
Bischen blöd, aber durchaus logisch
Gruss,
<<oenk>>
wen's interessiert, hier die verbesserte Version
In theory, there is no difference between theory and practice; In practice, there is.
Chuck Reid
15.08.2006, 14:01 (Dieser Beitrag wurde zuletzt bearbeitet: 15.08.2006 14:10 von Lucki.)
Natürlich geht das gut mit einer Event-Struktur, z.B so:
(Es gibt nur diesen einen Ereigniscase, timeout gelöscht)
So wie ich oenk verstanden habe, geht es ihm aber gar nicht um Alternativvorschläge, sondern er möchte gern wissen, warum das so nicht funktioniert. Ich erkläre mir das so:
Dem OK-Schalter wurde als Tastaturkürzel die Enter-Taste zugewiesen.
Wenn man eine Zahl eingibt und dann mit der Maus OK anklickt, passiert folgendes:
Der Fokus wird von der Zahl weggenommen, und auf die Taste gelenkt. Mit der Wegnahme des Fokus wird die Zahleneingabe "rechtskräftig". Die Taste wird durch diesen Mausklick außerdem gedrückt und damit das Programm beendet.
Wenn man eine Zahl eingibt und ENTER drückt, geschieht aber dies:
Wegen der Tastaturkürzel-Zuaordnung wird die Taste betätigt, der Fokus bleibt aber auf der Taste. Das Enter scheint nur einmal ein Wirkung zu haben, wenn man also eine Drucktaste mit Enter verknüpft, kann man im ganzen Programm niemals mehr eine Zahleneingae mit ENTER abschließen, sondern nur noch mit der Maus oder mit TAB. Die neue Zahleneingabe wurde also nie wirklsam
Edit: Inzwischen biste ja selbst auf die Erklärung gekommen, aber doppelt hält besser..
Im Übrigen: Die grauenhafte Umständlichkeit dieser Progrämmchen kann ich nicht nachvollziehen..
15.08.2006, 14:06 (Dieser Beitrag wurde zuletzt bearbeitet: 15.08.2006 14:07 von oenk.)
@Lucki: ich wollte beides. Eine Lösung und eine Erklärung
Aber auf die Erklärung von dir bin ich auch gekommen.
Ich hab das nicht so elegant mit einer EventStructure gelöst, sonder wie oben beschrieben
über eine direkte Tastenabfrage.
Irgendwie werd ich mit denen EventStructures nicht warm...Ich vermeide sie, wo es nur geht
besten Dank euch beiden
<<oenk>>
Edit: genau
In theory, there is no difference between theory and practice; In practice, there is.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Problem mit "Key Navigation"
Hi,
die Event-Structures sind oftmals sehr hilfreich. Ich wüsste gar nicht, wie ich ohne sie programmieren soll, weil sie einem vieles erleichtern. Du musst Dich einfach mal damit beschäftigen, dann siehst Du, dass das gar nicht so schlimm ist.
Wenigstens hast Du die Lösung gefunden.
Gruß Markus
<!--quoteo(post=13421:date=15.08.2006, 15:06:name=<<oenk>>)--><div class='quotetop'>ZITAT(<<oenk>> @ 15.08.2006, 15:06) [url=index.php?act=findpost&pid=13421][/url]</div><div class='quotemain'><!--quotec-->@Lucki: ich wollte beides. Eine Lösung und eine Erklärung
Aber auf die Erklärung von dir bin ich auch gekommen.
Ich hab das nicht so elegant mit einer EventStructure gelöst, sonder wie oben beschrieben
über eine direkte Tastenabfrage.
Irgendwie werd ich mit denen EventStructures nicht warm...Ich vermeide sie, wo es nur geht
besten Dank euch beiden
<<oenk>>
Edit: genau[/quote]
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
<!--quoteo(post=13425:date=15.08.2006, 16:24:name=<<oenk>>)--><div class='quotetop'>ZITAT(<<oenk>> @ 15.08.2006, 16:24) [url=index.php?act=findpost&pid=13425][/url]</div><div class='quotemain'><!--quotec-->Welche Umständlichkeit? Dass ich das Keyboard abfrage, oder dass ich das ueberhaupt mache?[/quote]
Entschuldige, vergiß das Attribut vor der Umständlichkeit, ich neige zu Übertreibungen. Mit gefällt vor allem die Bedienoberfläche nicht, Du willst offenbar, daß mit Ende der Eingabe das Programm automatisch beendet wird, hast aber dann noch den zusätzlichen Button.
Kleine Nebensächlichket: Das Öffen/Schließen des Sub-Vi kannst Du auch unter VI-Eigenschaften einstellen (Rechte Maustaste auf Ikon, Fenstererscheinungsbild/anpassen).
Der Ereignisknoten hat die Eigenschaft, daß, wenn Du den Standardwert beibehält und nur mit RETURN bestätigst, das trotzdem als Wertänderung und somit als Ereignis gezählt wird. Wenn man aber auf Ereignisse verzichten will, aber keinen OK-Button haben möchte, dann müßte es so funktionieren:
ich hab mich nicht angegriffen gefühlt. Ich wollte nur wissen, was nicht gefällt.
Bin immer auf der Suche nach konstruktiver Kritik!
Will mich ja schliesslich verbessern....
Jetzt zur Erklärung, warum ich das so gemacht habe:
von manchen Programmen ist man es ja gewohnt, dass man Aktionen zum Einen mit der Enter-Taste
bestätigt und beendet und gleichzeitig die Möglichkeit hat, das ganze über eine Maus-Eingabe
zu bestätigen und beenden. Aus diesem Grund wollte ich die Bedienfreundlichkeit erhalten und
anpassen.
Dass ich das Sub-VI über das Menü einstellen kann weiss ich, mach ich aber nur ungern, weil ich so
schnelleren Zugriff auf die Eigenschaft habe. Ich kann im letzten Fenster der Sequenz die Schliessung
deaktivieren (ist hilfreich, wenn das Programm nicht so funktioniert, wie man es sich vorgestellt hat )
Hab mir dein Bsp angeschaut und gefällt mir sehr gut. Ist übersichtlich und schlank programmiert!
Wenn ich es mal ohne Button haben will, werde ich mich deiner Idee bedienen.
Besten Dank für die Kritik
Christian
In theory, there is no difference between theory and practice; In practice, there is.
Chuck Reid
16.08.2006, 09:37 (Dieser Beitrag wurde zuletzt bearbeitet: 16.08.2006 09:37 von Lucki.)
Zitat:Wenn ich es mal ohne Button haben will, werde ich mich deiner Idee bedienen.
Also jetzt habe ich begriffen: Du willst also den Butten doch haben, was ich für vernünftig halte.
Dazu diesen "Verbesserungsvorschlag": Wenn der Focus auf dem Button liegt, den wird er durch Betätigen der Return-Taste bedient, und zwar auch dann, wenn man keine Tastatursteuerung für den Button installiert hat. Es kommt alo nur darauf an, in der richtigen Situation den Focus auf dem Button zu haben.
Hier Beispiele, wie es dann funktionieren würde.
Mit Ereignissteuerung.
Normal, aber umständlich: