Von Schritten zum Skript
Wann Sie zu Skript wechseln
Schritte decken die meisten Aktionen ab. Wechseln Sie zu Skript, wenn Sie etwas brauchen, das ein Schritt nicht fassen kann:
- Arithmetik, etwa ein Fenster 100 Pixel von seiner aktuellen Position verschieben;
- Text aus Teilen zusammensetzen, etwa einen Dateinamen mit dem heutigen Datum;
- einen Funktionsaufruf im Feld einer anderen Funktion, ohne Variable dazwischen;
- eine Schleife, die ihren Zähler verwendet, etwa „für jedes der ersten 5 Fenster“.
Der Wechsel verliert Ihre Schritte nie: Eine Aktion behält ihren Inhalt für Schritte und ihren Inhalt für Skript nebeneinander (Schritte, Skript und AutoHotkey).
Die Codeansicht
Modus „Erweitert“. Code anzeigen am Ende des Schritte-Editors zeigt die Schritte als Text: in der Form, in der sie gespeichert werden. Code ausblenden blendet ihn wieder aus. Er beginnt jedes Mal ausgeblendet, wenn Sie eine andere Aktion auswählen.
- Eine Bearbeitung in der Codeansicht ② baut die Schrittzeilen darüber neu auf, sobald der Text gültig ist.
- Lässt sich der Text nicht als Zeilen darstellen, etwa weil er die Form von „wenn“ mit „gehe zu Schritt“ verwendet, zeigt der Editor den Code ohne den Link Code anzeigen, da er dann der einzige Weg ist, die Schritte zu bearbeiten. Die Zeilen werden durch eine Meldung mit dem Grund ersetzt (Gemeldete Probleme).
- Der Editor schreibt nie Text um, den er nicht als Zeilen darstellen kann. Kommentare im Text bleiben nicht erhalten, sobald Sie die Zeilen bearbeiten.
Die Textform selbst, jede Art von Schritt und ihre Felder, ist unter Die Schritte-Engine beschrieben.
Schritte in ein Skript übersetzen
- Wählen Sie unter Geschrieben als Skript.
- Hat die Aktion Schritte und ist ihr Skriptinhalt leer, fragt Schritte in ein Skript konvertieren?, ob sie übersetzt werden sollen. Klicken Sie auf Konvertieren.
- Die Übersetzung erscheint im Skripteditor. Prüfen und vervollständigen Sie sie dort.
Sind die Schritte eine auf der Seite Rekorder erstellte Aufzeichnung, fügt das Dialogfeld hinzu: Diese Schritte sind eine Aufzeichnung. Als Skript ignorieren sie die Einstellungen „Wiedergabegeschwindigkeit“ und „Detailgrad der Mausbewegung bei der Wiedergabe“ des Rekorders: Wartezeiten laufen in der aufgezeichneten Geschwindigkeit ab und jede aufgezeichnete Mausbewegung wird wiedergegeben. (Wiedergabeeinstellungen)
Die Übersetzung geht nur in eine Richtung. Die Schritte bleiben, wie sie waren, sodass ein Wechsel zurück zu Schritte sie unverändert zeigt, aber nichts macht aus einem Skript wieder Schritte.
Sie wird nicht angeboten, wenn:
- der Skriptinhalt bereits Text hat (er würde überschrieben);
- sich die Schritte nicht als Zeilen darstellen lassen;
- ein Schritt Wiederholen, solange, Wiederholen, bis, Schleife verlassen oder Schritte beenden ist. Skript hat nur zählende Schleifen und nichts, was eine Schleife verlässt oder die Aktion vorzeitig beendet.
Was aus jedem Schritt wird
| Schritt | Skript |
|---|---|
| Ein Schritt mit einer integrierten Funktion | Eine Anweisung, WindowMaximize(window); |
| Ein Schritt mit Ergebnis speichern als | name = Builtin(…); |
| Variable setzen | name = value; |
Ein $name in einem Feld | der bloße Name, name |
| Ein Messwert wie Zielfenster | der Aufruf, ContextGetWindow() |
Eine benannte Konstante wie MouseButton.Primary, außerhalb eines Textfelds | der Name unverändert |
| Text | ein String in Anführungszeichen, mit maskierten umgekehrten Schrägstrichen und Anführungszeichen |
| Ein leeres Feld | der leere Wert des Typs, etwa 0 oder "" |
| Wenn / Sonst / Ende Wenn | if (…) { … } else { … } |
| Ein Vergleich | a == b und die anderen Operatoren; Ergebnis umkehren wird zu !(…) |
| Mehrmals wiederholen | eine for-Schleife über einen Zähler namens i (oder i2 und so weiter, wenn i vergeben ist) |
Zum Beispiel wird das Rezept Maximieren oder wiederherstellen zu:
window = ContextGetWindow();
if (WindowIsMaximized(window)) {
WindowRestore(window);
} else {
WindowMaximize(window);
}
Ein Unterschied, auf den Sie achten sollten: Bei Schritten wird eine Variable, die verwendet wird, bevor ein Schritt sie speichert, als 0 gelesen. Im Skript muss eine Variable im Text oberhalb ihrer ersten Verwendung zugewiesen werden, sonst lässt sich das Skript nicht kompilieren (Variablen).
Aufzeichnungen
Der Makrorekorder zeigt eine Aufzeichnung ebenfalls als Schritte, mit einer Schaltfläche Skript, die sie auf dieselbe Weise übersetzt. Eine als Schritte behaltene Aufzeichnung folgt der Einstellung Wiedergabegeschwindigkeit; eine übersetzte spielt wie aufgezeichnet.