meta data for this page
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

tastaturabfrage [2012/06/17 17:09]
127.0.0.1 Externe Bearbeitung
tastaturabfrage [2020/01/03 11:15] (aktuell)
michael
Zeile 2: Zeile 2:
 \\  \\ 
 ==== FF_CheckKey() ==== ==== FF_CheckKey() ====
- Gibt den Code der Taste zurück, die im Zeitpunkt des Funktionsaufrufs gedrückt ist.\\ ​ Zeigt __keine Wirkung__, wenn ein Dialog mit //​FF_ShowDialog//​ angezeigt wird, kann aber verwendet werden, wenn ein Dialog mit //​FF_OpenDialog//​ aufgerufen wurde.\\ \\  Die Tastencodes sind grundsätzlich die ASCII-Wert der Tasten. Welche Taste welchen Code zurück gibt, kann auch mit diesem Script erprobt werden:​\\ ​ VBScript\\ ​+ Gibt den Code der Taste zurück, die im Zeitpunkt des Funktionsaufrufs gedrückt ist.\\ ​ Zeigt __keine Wirkung__, wenn ein Dialog mit //​FF_ShowDialog//​ angezeigt wird, kann aber verwendet werden, wenn ein Dialog mit //​FF_OpenDialog//​ aufgerufen wurde.\\ \\  Die Tastencodes sind grundsätzlich die ASCII-Wert der Tasten. Welche Taste welchen Code zurück gibt, kann auch mit diesem Script erprobt werden:​\\ ​ VBScript\\ 
 + 
 +<code VBScript [enable_line_numbers="​true"​]> ​
   '** Start Dialog FF_CheckKey **   '** Start Dialog FF_CheckKey **
   FF_AddDialog "​FF_CheckKey",​194,​30   FF_AddDialog "​FF_CheckKey",​194,​30
Zeile 30: Zeile 32:
   End Sub   End Sub
        
-\\ +</​code> ​
 ==== FF_GetAsyncKeyState() ==== ==== FF_GetAsyncKeyState() ====
- Ermittelt, ob die angegebene Taste derzeit gedrückt wurde.\\ ​+ 
 +Ermittelt, ob die angegebene Taste derzeit gedrückt wurde.\\ ​ 
 + 
 +<code VBScript [enable_line_numbers="​true"​]>​
   If FF_GetAsyncKeyState(32) = True Then Msgbox "Die Leertaste wurde gedrückt."​   If FF_GetAsyncKeyState(32) = True Then Msgbox "Die Leertaste wurde gedrückt."​
-\\  +</​code>​ 
-==== einige ​Tastencodes ====+ 
 +==== Einige ​Tastencodes ====
  
 | //​**Taste**//​\\ | //​**Tasten-Code**//​\\ | //​**Bemerkung**//​\\ | | //​**Taste**//​\\ | //​**Tasten-Code**//​\\ | //​**Bemerkung**//​\\ |
Zeile 63: Zeile 69:
 | ,\\ | 191\\ | \\ | | ,\\ | 191\\ | \\ |
 \\  \\ 
 +
 ===== Beispiele zur praktischen Anwendung ===== ===== Beispiele zur praktischen Anwendung =====
 +
  Im Folgenden werden zwei Beispiele für die Verwendung der Tastaturabfrage aufgeführt:​\\ ​  Im Folgenden werden zwei Beispiele für die Verwendung der Tastaturabfrage aufgeführt:​\\ ​
  
Zeile 69: Zeile 77:
   * Sonderstart eines Skripts bei festgehaltener Taste   * Sonderstart eines Skripts bei festgehaltener Taste
 Zuerst muss man sich für eine Taste entscheiden,​ die keine andere Reaktion hervorruft. Dies sollte man testen, bevor man sich für eine Taste entscheidet. Gut geeignet sind beispielsweise die Backspace-Taste und die Shift-Taste.\\ \\  Zuerst muss man sich für eine Taste entscheiden,​ die keine andere Reaktion hervorruft. Dies sollte man testen, bevor man sich für eine Taste entscheidet. Gut geeignet sind beispielsweise die Backspace-Taste und die Shift-Taste.\\ \\ 
 +
 ==== Unterbrechen einer Bearbeitungsschleife durch Betätigung der Backspace-Taste ==== ==== Unterbrechen einer Bearbeitungsschleife durch Betätigung der Backspace-Taste ====
  Wird in einem Skript eine Bearbeitungsschleife für viele Bilder durchlaufen,​ ist es sinnvoll, dem Anwender eine Möglichkeit zu bieten, diese Schleife zu unterbrechen und dann abzufragen, ob die Schleife fortgesetzt werden oder das Skript abgebrochen werden soll.\\ ​  Wird in einem Skript eine Bearbeitungsschleife für viele Bilder durchlaufen,​ ist es sinnvoll, dem Anwender eine Möglichkeit zu bieten, diese Schleife zu unterbrechen und dann abzufragen, ob die Schleife fortgesetzt werden oder das Skript abgebrochen werden soll.\\ ​
 +
 +<code VBScript [enable_line_numbers="​true"​]>​
   Bildanzahl = ubound(BildArray)   Bildanzahl = ubound(BildArray)
  
Zeile 90: Zeile 101:
          ​FF_SaveImage BildArray(n),​ 0          ​FF_SaveImage BildArray(n),​ 0
   next   next
-   +</​code> ​  
 Besteht die Bearbeitung aus vielen Schritten, ist es sinnvoll, zwischen den einzelnen Schritten immer wieder eine Tastaturabfrage einzufügen.\\ ​ Besteht die Bearbeitung aus vielen Schritten, ist es sinnvoll, zwischen den einzelnen Schritten immer wieder eine Tastaturabfrage einzufügen.\\ ​
 +
 +<code VBScript [enable_line_numbers="​true"​]>​
   x = FF_CheckKey()   x = FF_CheckKey()
 +</​code>  ​
 +
 ==== Sonderstart eines Skripts bei festgehaltener Shift-Taste ==== ==== Sonderstart eines Skripts bei festgehaltener Shift-Taste ====
- Es gibt Skripte, bei denen eine Bedienoberfläche stört. Nur im Sonderfall wird eine Bedienoberfläche benötigt, beispielsweise um Voreinstellungen vorzunehmen oder eine Kurzbeschreibung anzuzeigen. Um nicht ein zweites Skript dazu aufrufen zu müssen, kann man sozusagen einen Sonderstart erzeugen, der bei Start des Skripts mit festgehaltener Taste wirksam wird.\\ ​ Hier wird gezeigt, wie man beim Sonderstart z.B. eine PDF-Datei aufrufen kann.\\ ​+ 
 +Es gibt Skripte, bei denen eine Bedienoberfläche stört. Nur im Sonderfall wird eine Bedienoberfläche benötigt, beispielsweise um Voreinstellungen vorzunehmen oder eine Kurzbeschreibung anzuzeigen. Um nicht ein zweites Skript dazu aufrufen zu müssen, kann man sozusagen einen Sonderstart erzeugen, der bei Start des Skripts mit festgehaltener Taste wirksam wird.\\ ​ Hier wird gezeigt, wie man beim Sonderstart z.B. eine PDF-Datei aufrufen kann.\\ 
 + 
 +<code VBScript [enable_line_numbers="​true"​]> ​
   Set WshShell = CreateObject("​WScript.Shell"​)   Set WshShell = CreateObject("​WScript.Shell"​)
  
Zeile 102: Zeile 120:
       'evtl. Skript beenden (?)       'evtl. Skript beenden (?)
   end if   end if
 +</​code>​
        
 Die Abfrage muss im Skript vor der Bearbeitung stehen. Nach Ausführung des Sonderstarts muss man festlegen, ob anschließend das Skript ausgeführt oder abgebrochen werden soll.\\ \\  Statt FF_CheckKey kann auch FF_GetAsyncKeyState eingesetzt werden.\\ ​ Die Abfrage muss im Skript vor der Bearbeitung stehen. Nach Ausführung des Sonderstarts muss man festlegen, ob anschließend das Skript ausgeführt oder abgebrochen werden soll. Die Abfrage muss im Skript vor der Bearbeitung stehen. Nach Ausführung des Sonderstarts muss man festlegen, ob anschließend das Skript ausgeführt oder abgebrochen werden soll.\\ \\  Statt FF_CheckKey kann auch FF_GetAsyncKeyState eingesetzt werden.\\ ​ Die Abfrage muss im Skript vor der Bearbeitung stehen. Nach Ausführung des Sonderstarts muss man festlegen, ob anschließend das Skript ausgeführt oder abgebrochen werden soll.