EnvSub

Setzt eine Variable auf sich selbst minus den angegebenen Wert (kann auch Datum-Zeit-Werte vergleichen). Gleichbedeutend mit: Var -= Wert.

EnvSub, Var, Wert , ZeitEinheit
Var -= Wert , ZeitEinheit
Var--

Parameter

Var

Name der Variable, auf die die Operation angewendet werden soll.

Wert

Ein Integer, eine Floating-Point-Zahl oder ein Ausdruck.

ZeitEinheit

Dieser Parameter ist optional und veranlasst den Befehl, Wert von Var zu subtrahieren, als wären beide Datum-Zeit-Stempel im YYYYMMDDHH24MISS-Format. ZeitEinheit kann entweder Seconds, Minutes, Hours oder Days sein (oder jeweils nur der erste Buchstabe dieser Wörter). Wenn Wert leer ist, wird stattdessen die aktuelle Zeit verwendet. Wenn Var eine leere Variable ist, wird ebenfalls stattdessen die aktuelle Zeit verwendet.

Das Ergebnis wird immer auf die nächste ganze Zahl abgerundet. Wenn z.B. die tatsächliche Differenz zwischen zwei Zeitstempeln 1.999 Tage beträgt, wäre das gemeldete Ergebnis 1 Tag. Um eine höhere Genauigkeit zu erzielen, geben Sie für ZeitEinheit das Wort Seconds an und teilen Sie das Ergebnis durch 60.0, 3600.0 oder 86400.0.

Enthält Var oder Wert einen ungültigen Zeitstempel oder ein Jahr älter als 1601, wird Var leer gemacht, um das Problem zu kennzeichnen.

Die interne Variable A_Now enthält die aktuelle Ortszeit im YYYYMMDDHH24MISS-Format.

Um die verstrichene Zeit zwischen zwei Ereignissen genau zu bestimmen, verwenden Sie die A_TickCount-Methode, weil sie eine Präzision im Millisekundenbereich ermöglicht.

Mit EnvAdd können Sekunden, Minuten, Stunden oder Tage zu einem Zeitstempel addiert oder davon subtrahiert werden (mit einer negativen Zahl wird eine Subtraktion erreicht).

Bemerkungen

Dieser Befehl entspricht der Kurzschreibweise: Var -= Wert.

Mit Var++, Var--, ++Var oder --Var können Variablen um 1 erhöht oder verringert werden.

Wenn Var oder Wert leer ist oder nicht mit einer Zahl beginnt, wird der entsprechende Wert bei der Berechnung als 0 behandelt (außer bei interner Verwendung in einem Ausdruck und bei Verwendung des ZeitEinheit-Parameters).

Wenn Var oder Wert einen Dezimalpunkt enthält, ist das Endergebnis eine Floating-Point-Zahl im via SetFormat gesetzten Format.

EnvAdd, EnvMult, EnvDiv, SetFormat, Ausdrücke, If Var is [not] Typ, SetEnv, FileGetTime

Beispiele

Setzt MeineZählung auf sich selbst minus 2.

EnvSub, MeineZählung, 2

Dasselbe wie oben.

MeineZählung -= 2

Berechnet die Anzahl der Tage zwischen zwei Zeitstempeln und meldet das Ergebnis.

var1 := 20050126
var2 := 20040126
EnvSub, Var1, %Var2%, days
MsgBox, %Var1%  ; Das Ergebnis ist 366, weil 2004 ein Schaltjahr ist.