If Var is [not] Typ

Prüft, ob der Inhalt einer Variable z.B. numerisch oder großgeschrieben ist.

if Var is Typ
if Var is not Typ

Parameter

Var

Der Name einer Variable.

Typ

Geben Sie einen der folgenden Typen an:

Typ Beschreibung
integer Wahr, wenn Var nicht leer ist und eine rein-numerische Zeichenkette (dezimal oder hexadezimal) ohne Dezimalpunkt enthält. Leer- und Tabulatorzeichen am Anfang und Ende sind erlaubt. Die Zeichenkette kann mit einem Plus- oder Minuszeichen beginnen.
float Wahr, wenn Var nicht leer ist und eine Floating-Point-Zahl enthält, also eine rein-numerische Zeichenkette mit Dezimalpunkt. Leer- und Tabulatorzeichen am Anfang und Ende sind erlaubt. Die Zeichenkette kann mit einem Pluszeichen, Minuszeichen oder Dezimalpunkt beginnen.
number Wahr, wenn Var einen Integer oder eine Floating-Point-Zahl enthält (beide sind oben beschrieben).
digit Wahr, wenn Var leer ist oder nur die Ziffern 0 bis 9 enthält. Andere Zeichen wie die folgenden sind nicht erlaubt: Leerzeichen, Tabulatorzeichen, Pluszeichen, Minuszeichen, Dezimalpunkte, Hexadezimalziffern und 0x-Präfix.
xdigit Hexadezimalziffer: Dasselbe wie digit, außer dass auch die Zeichen A bis F (in Groß- oder Kleinschreibung) erlaubt sind. [v1.0.44.09+]: Das 0x-Präfix wird toleriert, falls vorhanden.
alpha

Wahr, wenn Var leer ist oder nur alphabetische Zeichen enthält. Falsch, wenn Zahlen, Leerzeichen, Tabulatorzeichen, Punkte oder andere nicht-alphabetische Zeichen irgendwo in der Zeichenkette enthalten sind. Wenn Var beispielsweise ein Leerzeichen gefolgt von einem Buchstaben enthält, wird die Variable nicht als alpha angesehen.

[AHK_L 42+]: Wenn StringCaseSense Locale verwendet wird, hängt das Ergebnis von den Sprach- und Regionseinstellungen des Systems ab. Andernfalls werden nur die ASCII-Buchstaben A-Z (oder a-z) als alphabetisch betrachtet.

upper Wahr, wenn Var leer ist oder nur Großbuchstaben enthält. Falsch, wenn Zahlen, Leerzeichen, Tabulatorzeichen, Punkte oder andere Zeichen außer Großbuchstaben irgendwo in der Zeichenkette enthalten sind.
lower Wahr, wenn Var leer ist oder nur Kleinbuchstaben enthält. Falsch, wenn Zahlen, Leerzeichen, Tabulatorzeichen, Punkte oder andere Zeichen außer Kleinbuchstaben irgendwo in der Zeichenkette enthalten sind.
alnum Dasselbe wie alpha, außer dass auch die Ziffern 0 bis 9 erlaubt sind.
space Wahr, wenn Var leer ist oder nur Leerraumzeichen enthält, die folgende sein können: Leerzeichen (%A_Space%), Tabulatorzeichen (%A_Tab% oder `t), LF-Zeichen (`n), CR-Zeichen (`r), vertikaler Tabulator (`v) und Seitenvorschub (`f).
time

Wahr, wenn Var einen gültigen Zeitstempel im YYYYMMDDHH24MISS-Format enthält (alles oder nur der beginnende Teil). Zum Beispiel wird eine 4-stellige Zeichenkette wie 2004 als gültig angesehen. Mit StrLen() oder StringLen kann festgestellt werden, ob zusätzliche Zeitkomponenten vorhanden sind.

Jahre älter als 1601 werden nicht als gültig angesehen, weil das Betriebssystem sie generell nicht unterstützt. Das höchste als gültig angesehenes Jahr ist 9999.

Das Wort DATE kann als Ersatz für das Wort TIME verwendet werden, mit dem gleichen Ergebnis.

Bemerkungen

Der Operator "is" wird in Ausdrücken nicht unterstützt.

[AHK_L 42+]: Die Sprach- und Regionseinstellungen des Systems werden ignoriert, es sei denn, StringCaseSense Locale wurde verwendet.

%A_YYYY%, Format(), SetFormat, FileGetTime, IfEqual, If Var [not] in/contains VergleichListe, If Var [not] between Min and Max, StrLen(), IfInString, StringUpper, Blöcke, Else, StringLen

Beispiele

Prüft, ob var eine Floating-Point-Zahl oder ein Integer ist, und prüft, ob es ein gültiger Zeitstempel ist.

if var is float
    MsgBox, %var% ist eine Floating-Point-Zahl.
else if var is integer
    MsgBox, %var% ist ein Integer.
if var is time
    MsgBox, %var% ist auch ein gültiger Zeitstempel.