Is-Funktionen

Funktionen zum Prüfen des Typs und anderer Bedingungen eines bestimmten Wertes.

Ergebnis := IsEtwas(Wert , Modus)

Es gibt drei Kategorien:

Modus gilt nur für IsAlpha, IsAlnum, IsUpper und IsLower. Standardmäßig werden nur ASCII-Buchstaben berücksichtigt. Um stattdessen gemäß den Regeln der aktuellen Sprach- und Regionseinstellungen des Benutzers zu prüfen, geben Sie die Zeichenkette "Locale" für Modus an. Der Standardmodus kann auch durch Angabe von 0 oder 1 verwendet werden.

Typ

Den Typ eines Wertes prüfen, oder prüfen, ob eine Zeichenkette als Wert dieses Typs interpretierbar ist.

Funktion Beschreibung
IsInteger Wahr, wenn Wert ein Integer oder eine rein-numerische Zeichenkette (dezimal oder hexadezimal) ohne Dezimalpunkt ist. Leer- und Tabulatorzeichen am Anfang und Ende sind erlaubt. Die Zeichenkette kann mit einem Plus- oder Minuszeichen beginnen und sollte nicht leer sein.
IsFloat Wahr, wenn Wert eine Floating-Point-Zahl oder eine rein-numerische Zeichenkette (dezimal oder hexadezimal) mit Dezimalpunkt ist. Leer- und Tabulatorzeichen am Anfang und Ende sind erlaubt. Die Zeichenkette kann mit einem Pluszeichen, Minuszeichen oder Dezimalpunkt beginnen und sollte nicht leer sein.
IsNumber Wahr, wenn IsInteger(Wert) or IsFloat(Wert) wahr ist.
IsObject Wahr, wenn Wert ein Objekt ist. Dazu gehören Objekte, die von Object abgeleitet sind, und Prototypobjekte wie 0.base und COM-Objekte, aber keine Zahlen oder Zeichenketten.

Sonstiges

Verschiedene Bedingungen auf Basis eines Wertes oder einer Variablenreferenz prüfen.

Funktion Beschreibung
IsLabel Wahr, wenn Wert der Name eines Labels ist, das im aktuellen Gültigkeitsbereich definiert ist.
IsSet Wahr, wenn die Variable Wert einen Wert zugewiesen bekommen hat.
IsSetRef Wahr, wenn die in Wert enthaltene VarRef einen Wert zugewiesen bekommen hat.

Zeichenkette

Prüfen, ob eine Zeichenkette einem bestimmten Muster entspricht. Wert muss eine Zeichenkette sein, sonst wird ein TypeError ausgelöst.

Funktion Beschreibung
IsDigit Wahr, wenn Wert ein positiver Integer, eine leere Zeichenkette oder eine Zeichenkette bestehend aus den Zeichen 0 bis 9 ist. Andere Zeichen wie die folgenden sind nicht erlaubt: Leerzeichen, Tabulatorzeichen, Pluszeichen, Minuszeichen, Dezimalpunkte, Hexadezimalziffern und 0x-Präfix.
IsXDigit Hexadezimalziffer: Dasselbe wie IsDigit, außer dass auch die Zeichen A bis F (in Groß- oder Kleinschreibung) erlaubt sind. Das 0x-Präfix wird toleriert, falls vorhanden.
IsAlpha

Wahr, wenn Wert eine Zeichenkette ist, und entweder 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 Wert beispielsweise ein Leerzeichen gefolgt von einem Buchstaben enthält, wird die Variable nicht als alpha angesehen.

Standardmäßig werden nur ASCII-Buchstaben berücksichtigt. Um stattdessen gemäß den Regeln der aktuellen Sprach- und Regionseinstellungen des Benutzers zu prüfen, verwenden Sie IsAlpha(Wert, "Locale").

IsUpper

Wahr, wenn Wert eine Zeichenkette ist und entweder 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.

Standardmäßig werden nur ASCII-Buchstaben berücksichtigt. Um stattdessen gemäß den Regeln der aktuellen Sprach- und Regionseinstellungen des Benutzers zu prüfen, verwenden Sie IsUpper(Wert, "Locale").

IsLower

Wahr, wenn Wert eine Zeichenkette ist und entweder 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.

Standardmäßig werden nur ASCII-Buchstaben berücksichtigt. Um stattdessen gemäß den Regeln der aktuellen Sprach- und Regionseinstellungen des Benutzers zu prüfen, verwenden Sie IsLower(Wert, "Locale").

IsAlnum Dasselbe wie IsAlpha, außer dass auch die Ziffern 0 bis 9 erlaubt sind.
IsSpace Wahr, wenn Wert eine Zeichenkette ist und entweder leer ist oder nur Leerraumzeichen enthält, die folgende sein können: Leerzeichen (A_Space oder `s), Tabulatorzeichen (A_Tab oder `t), LF-Zeichen (`n), CR-Zeichen (`r), vertikaler Tabulator (`v) und Seitenvorschub (`f).
IsTime

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

Wert muss eine gerade Anzahl von 4 bis 14 Ziffern haben, um gültig zu sein.

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.

Bemerkungen

Da direkt geschriebene Zahlen wie 128, 0x7F und 1.0 bereits vor Beginn der Skriptausführung in reine Zahlen umgewandelt werden, geht ihr Format verloren. Um Verwirrung zu vermeiden, lösen die oben genannten Zeichenkettenfunktionen eine Ausnahme aus, wenn ihnen eine reine Zahl übergeben wird.

A_YYYY, FileGetTime, If, StrLen, InStr, StrUpper, DateAdd

Beispiele

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

if isFloat(var)
    MsgBox var " ist eine Floating-Point-Zahl."
else if isInteger(var)
    MsgBox var " ist ein Integer."
if isTime(var)
    MsgBox var " ist auch ein gültiger Zeitstempel."