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 только показывает его.