API Now - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
Now
Оглавление · Алфавитный указатель · BASIC built-ins
ClassicUO • Runtime API
Читает прошедшее время runtime в миллисекундах.
Точный синтаксис
Now() -> Integer
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
Параметров нет.
Возвращает
Integer — миллисекунды от начала runtime, дробная часть отбрасывается. Значение ограничено 0..2147483647 и после примерно 24,85 суток остаётся на верхнем пределе. Это не календарная дата и не Unix timestamp.
Поведение
- Для длительного измерения используйте Timer(): его Decimal-секунды не ограничены диапазоном Now. Календарную дату читают другие команды UO.
Примеры
Пример 1. Прочитать миллисекунды
# Прочитать миллисекунды
#
# Читает прошедшее время runtime в миллисекундах.
#
# Integer — миллисекунды от начала runtime, дробная часть отбрасывается. Значение ограничено
# 0..2147483647 и после примерно 24,85 суток остаётся на верхнем пределе. Это не календарная
# дата и не Unix timestamp.
SUB Main()
# Аргументов нет.
# Ожидаемый результат: текущий целочисленный счётчик миллисекунд. В result сохраняется результат
# выражения; Print только показывает его.
VAR result = Now()
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- Аргументов нет.
- Ожидаемый результат: текущий целочисленный счётчик миллисекунд. В result сохраняется результат выражения; Print только показывает его.
Пример 2. Перевести в секунды
# Перевести в секунды
#
# Читает прошедшее время runtime в миллисекундах.
#
# Integer — миллисекунды от начала runtime, дробная часть отбрасывается. Значение ограничено
# 0..2147483647 и после примерно 24,85 суток остаётся на верхнем пределе. Это не календарная
# дата и не Unix timestamp.
SUB Main()
# 1000 миллисекунд составляют секунду.
# Ожидаемый результат: прошедшие секунды в пределах диапазона Now. В result сохраняется
# результат выражения; Print только показывает его.
VAR result = Now() / 1000
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- 1000 миллисекунд составляют секунду.
- Ожидаемый результат: прошедшие секунды в пределах диапазона Now. В result сохраняется результат выражения; Print только показывает его.
Пример 3. Проверить верхний предел
# Проверить верхний предел
#
# Читает прошедшее время runtime в миллисекундах.
#
# Integer — миллисекунды от начала runtime, дробная часть отбрасывается. Значение ограничено
# 0..2147483647 и после примерно 24,85 суток остаётся на верхнем пределе. Это не календарная
# дата и не Unix timestamp.
SUB Main()
# Счётчик насыщается и не переполняется в отрицательное число.
# Ожидаемый результат: 1. В result сохраняется результат выражения; Print только показывает его.
VAR result = Now() <= 2147483647
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- Счётчик насыщается и не переполняется в отрицательное число.
- Ожидаемый результат: 1. В result сохраняется результат выражения; Print только показывает его.