Transform

Führt verschiedene mathematische Funktionen, bitweise Operationen und Aufgaben wie ASCII/Unicode-Umwandlung aus.

Veraltet: Dieser Befehl ist nicht für neue Skripte empfohlen. Einzelheiten darüber, was Sie stattdessen verwenden können, finden Sie in den Abschnitten der Unterbefehle weiter unten.

Transform, AusgabeVar, Unterbefehl, Wert1 , Wert2

Der AusgabeVar-Parameter ist der Name der Ausgabevariable, in der das Ergebnis gespeichert werden soll. Die Parameter Unterbefehl, Wert1 und Wert2 sind voneinander abhängig und können wie folgt verwendet werden.

Unterbefehle

Geben Sie für Unterbefehl Folgendes an:

Unicode

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen die Unicode-Version von AutoHotkey.

Ermittelt oder speichert Unicode-Text in die Zwischenablage (nur für ANSI-Builds).

Transform, AusgabeVar, Unicode , Zkette

Hinweis: Die gesamte Zwischenablage kann mit ClipboardAll gespeichert und wiederhergestellt werden, damit dieser Unterbefehl ohne Verlust des originalen Inhalts der Zwischenablage ausgeführt werden kann.

Es gibt zwei verschiedene Modi, wie dieser Unterbefehl ausgeführt werden kann:

Transform, AusgabeVar, Unicode  ; Ruft den Unicode-Text aus der Zwischenablage als UTF-8-Zeichenkette ab.
Transform, Clipboard, Unicode, %MeineUTF_Zkette%  ; Speichert den Unicode-Text in die Zwischenablage.

Im zweiten Beispiel oben kann eine direkt geschriebene UTF-8-Zeichenkette anstelle von %MeineUTF_Zkette% verwendet werden.

Verwenden Sie einen Hotkey wie den folgenden, um die UTF-8-Zeichenkette zu ermitteln, die zu einer bestimmten Unicode-Zeichenkette gehört:

^!u::  ; Hotkey STRG+ALT+U.
MsgBox Kopieren Sie einen Unicode-Text in die Zwischenablage, kehren Sie dann zu diesem Fenster zurück und drücken Sie OK, um fortzufahren.
Transform, ClipUTF, Unicode
Clipboard := "Transform, Clipboard, Unicode, %ClipUTF%`r`n"
MsgBox Die Zwischenablage enthält nun die folgende Zeile, die Sie in Ihr Skript einfügen können. Beim Ausführen wird der originale kopierte Unicode-Text in die Zwischenablage gespeichert:`n`n%Clipboard%
return

Hinweis: Der Befehl Send {U+nnnn} ist eine alternative Methode zum Erzeugen von Unicode-Zeichen.

Deref

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen die Ausdruckssyntax oder eine benutzerdefinierte Funktion wie Deref().

Löst Variablenreferenzen und Escapesequenzen in einer Zeichenkette auf.

Transform, AusgabeVar, Deref, Zkette

Schlecht formatierte Variablenreferenzen werden im aufgelösten Ergebnis weggelassen. Dasselbe gilt, wenn sich AusgabeVar in sich selbst auflöst, d.h. alle Referenzen zu AusgabeVar innerhalb der Variablen von Zkette werden bei der Auflösung weggelassen (obwohl Zkette selbst %AusgabeVar% sein kann). Wenn im folgenden Beispiel Var1 die Zeichenkette "Test" und Var2 die direkt geschriebene Zeichenkette "%Var1%" enthält, wird AusgabeVar auf die Zeichenkette "Test" gesetzt: Transform, AusgabeVar, Deref, %Var2%. Innerhalb einer Funktion wird jede Variable in Zkette immer in eine lokale Variable aufgelöst, es sei denn, es gibt keine solche Variable, dann wird sie in eine globale Variable aufgelöst (oder leer gemacht, wenn es keine gibt).

HTML

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen eine benutzerdefinierte Funktion wie EncodeHTML().

Wandelt eine bestimmte Zeichenkette in ihr HTML-Äquivalent um, indem Zeichen, deren ASCII-Wert größer als 127 ist, in ihre HTML-Namen übersetzt werden (z.B. wird £ zu £).

Transform, AusgabeVar, HTML, Zkette , Flags

Außerdem werden die vier Zeichen "&<> in &quot;&amp;&lt;&gt; und jedes LF-Zeichen (`n) in <br>`n übersetzt (d.h. <br> gefolgt von einem LF-Zeichen). Der Flags-Parameter wird ignoriert.

Bei Unicode-Builds kann zusätzlich der Flags-Parameter verwendet werden, der entweder eine 0 oder eine Kombination (Summe) der folgenden Werte sein kann. Wenn leer oder weggelassen, wird standardmäßig 1 verwendet.

Nur ASCII-fremde Zeichen sind davon betroffen. Wenn Flags 3 ist, werden nummerierte Ausdrücke nur verwendet, wenn ein benannter Ausdruck nicht verfügbar ist. Die folgenden Zeichen werden immer umgewandelt: <>"& und `n (LF).

Asc

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Asc().

Ruft den Zeichencode (eine Zahl zwischen 1 und 255, oder bei Unicode zwischen 1 und 65535) des ersten Zeichens in einer bestimmten Zeichenkette ab.

Transform, AusgabeVar, Asc, Zkette

Wenn Zkette leer ist, wird AusgabeVar leer gemacht. Zum Beispiel: Transform, AusgabeVar, Asc, %VarMitZkette%. Für Unicode-Ergänzungszeichen können Sie stattdessen Ord() verwenden.

Chr

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Chr().

Ruft ein einzelnes Zeichen ab, dessen Zeichencode mit der angegebenen Zahl übereinstimmt.

Transform, AusgabeVar, Chr, Zahl

Wenn Zahl nicht im Bereich von 1 bis 255 liegt (oder bei Unicode nicht im Bereich von 1 bis 65535 liegt), wird AusgabeVar leer gemacht, um das Problem zu kennzeichnen. Zum Beispiel: Transform, AusgabeVar, Chr, 130. Im Gegensatz zu Chr() unterstützt dieser Unterbefehl keine Unicode-Ergänzungszeichen (Zeichencodes von 0x10000 bis 0x10FFFF).

Mod

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Mod().

Modulo. Ruft den Rest aus einer Division zweier Zahlen ab.

Transform, AusgabeVar, Mod, Dividend, Divisor

Wenn Divisor 0 ist, wird AusgabeVar leer gemacht. Sowohl Dividend als auch Divisor können einen Dezimalpunkt enthalten. Wenn Divisor negativ ist, wird er bei der Berechnung als positive Zahl behandelt. Im folgenden Beispiel ist das Ergebnis 2: Transform, AusgabeVar, Mod, 5, 3.

Exp

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Exp().

Ruft das Ergebnis von e (ca. 2.71828182845905) hoch N ab.

Transform, AusgabeVar, Exp, N

N kann negativ sein und einen Dezimalpunkt enthalten.

Sqrt

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Sqrt().

Ruft die Quadratwurzel einer bestimmten Zahl ab.

Transform, AusgabeVar, Sqrt, Zahl

Wenn Zahl negativ ist, wird AusgabeVar leer gemacht.

Log

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Log().

Ruft den Logarithmus (Basis 10) einer bestimmten Zahl ab.

Transform, AusgabeVar, Log, Zahl

Wenn Zahl negativ ist, wird AusgabeVar leer gemacht.

Ln

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Ln().

Ruft den Logarithmus (Basis e) einer bestimmten Zahl ab.

Transform, AusgabeVar, Ln, Zahl

Wenn Zahl negativ ist, wird AusgabeVar leer gemacht.

Round

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Round().

Ruft eine bestimmte Zahl ab, gerundet auf N Dezimalstellen.

Transform, AusgabeVar, Round, Zahl , N

Wenn N leer ist oder weggelassen wird, wird standardmäßig 0 verwendet, was bedeutet, dass AusgabeVar auf Zahl gesetzt wird, gerundet auf den nächsten Integer. Wenn N positiv ist, wird Zahl auf N Dezimalstellen gerundet. Wenn N negativ ist, wird Zahl um N Stellen links vom Dezimalpunkt gerundet. Zum Beispiel rundet -1 auf Einerstelle, -2 auf Zehnerstelle und -3 auf Hunderterstelle. Hinweis: Der Round-Unterbefehl entfernt beim Runden von Dezimalstellen keine Nullen am Ende. Zum Beispiel würde 12.333, auf eine Dezimalstelle gerundet, 12.300000 ergeben. Dieses Verhalten kann geändert werden, indem so etwas wie SetFormat, Float, 0.1 vor der Operation verwendet wird (tatsächlich könnte SetFormat den Round-Unterbefehl von vornherein überflüssig machen).

Ceil

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Ceil().

Ruft eine bestimmte Zahl ab, aufgerundet auf den nächsten Integer.

Transform, AusgabeVar, Ceil, Zahl

Floor

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Floor().

Ruft eine bestimmte Zahl ab, abgerundet auf den nächsten Integer.

Transform, AusgabeVar, Floor, Zahl

Abs

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Abs().

Ruft den Absolutwert einer bestimmten Zahl ab.

Transform, AusgabeVar, Abs, Zahl

Dies wird erzielt, indem das Minuszeichen (der Bindestrich) vor Zahl entfernt wird, falls vorhanden.

Sin

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Sin().

Ruft den trigonometrischen Sinus einer bestimmten Zahl ab.

Transform, AusgabeVar, Sin, Zahl

Zahl muss in Radiant angegeben werden.

Cos

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Cos().

Ruft den trigonometrischen Kosinus einer bestimmten Zahl ab.

Transform, AusgabeVar, Cos, Zahl

Zahl muss in Radiant angegeben werden.

Tan

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen Tan().

Ruft den trigonometrischen Tangens einer bestimmten Zahl ab.

Transform, AusgabeVar, Tan, Zahl

Zahl muss in Radiant angegeben werden.

ASin

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen ASin().

Ruft den Arkussinus (die Zahl, deren Sinus die angegebene Zahl ist) ab (in Radiant).

Transform, AusgabeVar, ASin, Zahl

Wenn Zahl kleiner als -1 oder größer als 1 ist, wird AusgabeVar leer gemacht.

ACos

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen ACos().

Ruft den Arkuskosinus (die Zahl, deren Kosinus die angegebene Zahl ist) ab (in Radiant).

Transform, AusgabeVar, ACos, Zahl

Wenn Zahl kleiner als -1 oder größer als 1 ist, wird AusgabeVar leer gemacht.

ATan

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen ATan().

Ruft den Arkustangens (die Zahl, deren Tangens die angegebene Zahl ist) ab (in Radiant).

Transform, AusgabeVar, ATan, Zahl

Pow

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen den **-Operator.

Ruft das Ergebnis der Potenzierung einer Zahl (Basis) mit einer anderen Zahl (Exponent) ab.

Transform, AusgabeVar, Pow, Basis, Exponent

Sowohl Basis als auch Exponent können einen Dezimalpunkt enthalten. Wenn Exponent negativ ist, wird AusgabeVar in eine Floating-Point-Zahl umgewandelt, auch dann, wenn Basis und Exponent Integer sind. Eine negative Basis in Kombination mit einem gebrochenen Exponent wie 1.5 wird nicht unterstützt und führt dazu, dass AusgabeVar leer gemacht wird.

BitNot

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen den ~-Operator.

Ruft die bit-invertierte Version einer bestimmten Zahl ab.

Transform, AusgabeVar, BitNot, Zahl

Floating-Point-Zahlen werden vor der Berechnung zu Integern gekürzt. Wenn Zahl im Bereich von 0 und 4294967295 (0xffffffff) liegt, wird sie als vorzeichenloser 32-Bit-Wert behandelt. Andernfalls wird er als vorzeichenfähiger 64-Bit-Wert behandelt. Im folgenden Beispiel ist das Ergebnis 0xfffff0f0 (4294963440): Transform, AusgabeVar, BitNot, 0xf0f.

BitAnd

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen den &-Operator.

Ruft das Ergebnis des bitweisen UNDs von zwei bestimmten Zahlen ab.

Transform, AusgabeVar, BitAnd, Zahl1, Zahl2

Floating-Point-Zahlen werden vor der Berechnung zu Integern gekürzt. Im folgenden Beispiel ist das Ergebnis 0xff00 (65280): Transform, AusgabeVar, BitAnd, 0xff0f, 0xfff0.

BitOr

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen den |-Operator.

Ruft das Ergebnis des bitweisen ODERs von zwei bestimmten Zahlen ab.

Transform, AusgabeVar, BitOr, Zahl1, Zahl2

Floating-Point-Zahlen werden vor der Berechnung zu Integern gekürzt. Im folgenden Beispiel ist das Ergebnis 0xf0f0 (61680): Transform, AusgabeVar, BitOr, 0xf000, 0x00f0.

BitXOr

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen den ^-Operator.

Ruft das Ergebnis des bitweisen Exklusiv-ODERs von zwei bestimmten Zahlen ab.

Transform, AusgabeVar, BitXOr, Zahl1, Zahl2

Floating-Point-Zahlen werden vor der Berechnung zu Integern gekürzt. Im folgenden Beispiel ist das Ergebnis 0xff00 (65280): Transform, AusgabeVar, BitXOr, 0xf00f, 0x0f0f.

BitShiftLeft

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen den <<-Operator.

Ruft das Ergebnis der Verschiebung einer bestimmten Zahl um N Bits nach links ab.

Transform, AusgabeVar, BitShiftLeft, Zahl, N

Entspricht der Multiplikation von Zahl mit "2 hoch N". Floating-Point-Zahlen werden vor der Berechnung zu Integern gekürzt. Im folgenden Beispiel ist das Ergebnis 8: Transform, AusgabeVar, BitShiftLeft, 1, 3.

BitShiftRight

Veraltet: Nicht für neue Skripte empfohlen. Verwenden Sie stattdessen den >>-Operator.

Ruft das Ergebnis der Verschiebung einer bestimmten Zahl um N Bits nach rechts ab.

Transform, AusgabeVar, BitShiftRight, Zahl, N

Entspricht der Division von Zahl durch "2 hoch N", wobei der Rest weggekürzt wird. Floating-Point-Zahlen werden vor der Berechnung zu Integern gekürzt. Im folgenden Beispiel ist das Ergebnis 2: Transform, AusgabeVar, BitShiftRight, 17, 3.

FromCodePage / ToCodePage

[AHK_L 54+]: Entfernt. Verwenden Sie stattdessen StrPut/StrGet.

Bemerkungen

Unterbefehle, die numerische Parameter akzeptieren, können auch Ausdrücke für solche Parameter verwenden.

Wenn einer der Parameter eine Floating-Point-Zahl ist, rufen die folgenden Unterbefehle eine Floating-Point-Zahl anstelle eines Integers ab: Mod, Pow, Round und Abs. Die Anzahl der abgerufenen Dezimalstellen wird über SetFormat bestimmt.

Um Radiant in Grad umzurechnen, multiplizieren Sie den Wert mit 180/pi (ca. 57.29578). Um Grad in Radiant umzurechnen, multiplizieren Sie den Wert mit pi/180 (ca. 0.01745329252).

Der Wert von pi (ca. 3.141592653589793) ist das 4-fache von Arkustangens 1.

Mathematische Funktionen, SetFormat, Ausdrücke, Operatoren, StringLower, If Var is [not] Typ

Beispiele

Ruft den ASCII-Code des Buchstabens A ab und speichert ihn in AusgabeVar.

Transform, AusgabeVar, Asc, A