Eingaben-Aufzeichnung

Die Eingaben-Aufzeichnung zeichnet Maus- und Tastatur-Events auf und erstellt ein neues Panel mit dem resultierenden Skript.

Abbildung 1. Eingaben-Aufzeichnung Start/Stop im Tools Menü

die Eingaben-Aufzeichnung ist dazu gedacht zur Laufzeit für Panels in Vision-Modulen verwendet zu werden, und sollte daher nicht für GEDI Vorgänge benutzt werden. Innerhalb des GEDI-Moduls wird mit dem Erweiterungsskript inputRecorder_ext.ctl die "Maus/Tastatur Eingaben Aufzeichnung" dem Tools Menü hinzugefügt. Sie kann auch über die Tastenkombination "CTRL"+ "Shift" + "R" erreicht werden.

Die Eingaben-Aufzeichnung verwendet Maus und Tastatur-Events, erstellt daraus CONTROL Skript-Aufrufe und speichert diese im internen Speicher bis die Aufnahme beendet wird. Wenn die Aufzeichnung wieder über das Tools-Menü beendet wird, wird ein neues Panel erstellt, in welchem das resultierende Skript platziert wird. Die "play()" Funktion in der ScopeLib dieses Panels wird verwendet um die aufgenommenen Events wieder abzuspielen. Ausführen der Funktion startet automatisch das Abspielen.

Anmerkung:

Das resultierende Skript sollte dennoch überprüft werden. Die letzten Events können entfernt werden, da die Events zum stop der Aufzeichnung sind. Diese Events werden natürlich ebenso aufgezeichnet, sind aber überflüssig.

Das Playback-Skript verwendet die Ctrl++ Klasse InputEventPlayer. Diese Klasse verwendet die "current shape", an welche die Events gesendet werden. Wenn keine Shape gesetzt ist (z.B.: mit clearCurrent()), werden die Events an das derzeitig aktive Popup oder Fenster gesendet. Dies ermöglicht eine flexiblere Adressierung, z.B.: die Adressierung eines Popup-Menüs von einem Rechtsklick. Der InputEventPlayer adressiert Objekte in einem Panel mit dem üblichen CONTROL Syntax, und ist damit nicht auf die Funktionalität von z.B. Squish, welches QWidgets nur oberflächlich kennt, limitiert. Im Kontrast dazu kennen das WinCC OA UI und die WinCC OA Eingaben-Aufzeichnung alle Objekte eines Panels (z.B.: auch Primitive Objekte wie Linien, Rechtecke, usw.). Dies bringt allerdings die Limitierung mit sich, das nur Objekte in einem Panel adressiert werden können. Daher können GEDI Menü Funktionen nicht mit dem InputEventPlayerverwendet werden. Diese werden deshalb auch nicht aufgezeichnet. Sollten GEDI Funktionen aus dem Skript verwendet werden, kann triggerAction() verwendet werden. Hierbei wird der "Gedi_1" als zweites Argument adressiert.

Zugehörige Funktionen