Нужна помощь в написании скрипта? Close

Вы можете задать любой вопрос по программе Autohotkey в нашей группе Вконтакте. Если решение требует более высокой квалификации- можно обратиться непосредственно ко мне.

ВконтактеГруппа Вконтакте Электронная почтаЭлектронная почта Личная страницаСимаков Яков ВК
home icon Все разделы
comunity icon Нужна помощь?

EnvSub -Autohotkey

Устанавливает переменную как разность себя минус указанное значение (может также вычитать значения дат). Равносильно: Переменная -= Значение.

EnvSub, Var, Value [, TimeUnits] Var -= Value [, TimeUnits] Var--

Параметры

Var Название переменной для работы.
Value Любое целое число, число с плавающей точкой или выражение. Выражения не поддерживаются, когда используется TimeUnits.
TimeUnits Если этот параметр существует, он заставляет команду вычесть значение из переменной, обрабатывая переменную как дату в формате YYYYMMDDHH24MISS. TimeUnits может быть указан как Seconds, Minutes, Hours или Days (или только первым символом любого из этих значений). Если Value будет пустым, то оно примет текущее значение времени. Так же, если переменная Var будет пустой, будет использоваться текущее значение времени.

Примечание переводчика, элементы формата YYYYMMDDHH24MISS:
MM - Месяц, 2 цифры (01-12)
DD - День месяца, 2 цифры (01-31)
HH24 - Час в 24-часовом формате, 2 цифры (00-23)
MI - Минуты, 2 цифры (00-59)
SS - Секунды, 2 цифры (00-59)


Результат всегда округляется в меньшую сторону к самому близкому целому числу. К примеру, если различие между двумя датами составит 1.999 дня, то результатом будет 1 день. Если необходима более высокая точность, укажите TimeUnits как Hours, Minutes или Seconds и разделите результат на 24.0, 1440.0, или 86400.0.

Если Var или Value содержат некорректное значение даты или год до 1601, то Var будет пустой, для выявления проблемы.

Встроенная переменная A_Now содержит текущее локальное время в формате YYYYMMDDHH24MISS.

Чтобы точно определить время, прошедшее между двумя событиями, используйте встроенную переменную A_TickCount, это обеспечит точность до миллисекунды.

Чтобы добавить или вычесть определенное число секунд, минут, часов или дней из даты, используйте EnvAdd (вычитание достигается прибавлением отрицательных чисел).

Примечания

Эта команда эквивалентна "стенографическому" стилю: Переменная -= Значение.

Переменная может быть увеличена или уменьшена на 1 при использовании Переменная++, Переменная--, ++Переменная, или --Переменная.

Если Var или Value - пустое или не начинается с числа, то для успешного вычисления они рассматриваются как 0 (кроме случаев использования внутри выражения и кроме тех случаев, когда используется параметр TimeUnits).

Если Var или Value содержит десятичную точку, то результатом будет число с плавающей запятой, в формате, установленном командой SetFormat.

Пример

EnvSub, MyCount, 2 MyCount -= 2 ; Эквивалентно способу выше
var1 = 20050126 var2 = 20040126 EnvSub, var1, %var2%, days MsgBox, %var1% ; Результатом будет 366 дней, т.к. 2004 - високосный год.
Автор перевода: Archangel
Источник: http://www.script-coding.com/AutoHotkey/EnvSub.html
Под редакцией ahk-wiki.ru от 21.08.19