API UO LowJournal - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.LowJournal
Оглавление · Алфавитный указатель · Journal
ClassicUO • Runtime API
Возвращает минимальный доступный индекс журнала.
Точный синтаксис
UO.LowJournal() -> Any
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
Параметров нет.
Возвращает
Integer — 0 для непустого журнала, -1 для пустого. В Basic индекс 0 — самая новая строка, максимальный индекс — самая старая. Это граница индексов, не количество совпадений.
Поведение
- Новые сообщения и очистка изменяют границы. Внешние Stealth-примеры используют другой порядок: здесь действует порядок Journal(0) от новой к старой.
- Первичный справочник: https://stealth.od.ua/api/LowJournal/ .
Примеры
Пример 1. Проверить наличие записей
# Проверить наличие записей
#
# Возвращает минимальный доступный индекс журнала.
#
# Integer — 0 для непустого журнала, -1 для пустого. В Basic индекс 0 — самая новая строка,
# максимальный индекс — самая старая. Это граница индексов, не количество совпадений.
SUB Main()
# Отрицательная граница означает пустой буфер.
# При непустом буфере Journal(0) читает новую запись.
IF UO.LowJournal() >= 0 THEN
VAR text = UO.Journal(0)
UO.Print(text)
END IF
END SUB
Разбор параметров и выполнения:
- Отрицательная граница означает пустой буфер.
- При непустом буфере Journal(0) читает новую запись.
Пример 2. Количество доступных строк
# Количество доступных строк
#
# Возвращает минимальный доступный индекс журнала.
#
# Integer — 0 для непустого журнала, -1 для пустого. В Basic индекс 0 — самая новая строка,
# максимальный индекс — самая старая. Это граница индексов, не количество совпадений.
SUB Main()
# HighJournal=-1 при пустом журнале, поэтому total=0. LowJournal описывает нижнюю границу, а не
# число строк.
# Это общее количество локально сохранённых строк; LineCount относится к последнему поиску.
VAR total = UO.HighJournal() + 1
UO.Print('Rows: ' + STR(total))
END SUB
Разбор параметров и выполнения:
- HighJournal=-1 при пустом журнале, поэтому total=0. LowJournal описывает нижнюю границу, а не число строк.
- Это общее количество локально сохранённых строк; LineCount относится к последнему поиску.
Пример 3. Прочитать строку на границе
# Прочитать строку на границе
#
# Возвращает минимальный доступный индекс журнала.
#
# Integer — 0 для непустого журнала, -1 для пустого. В Basic индекс 0 — самая новая строка,
# максимальный индекс — самая старая. Это граница индексов, не количество совпадений.
SUB Main()
# index передаётся непосредственно в Journal, без вычитания единицы.
# Индекс может сдвинуться при входящих сообщениях; буфер не замораживается между вызовами.
VAR index = UO.LowJournal()
IF index >= 0 THEN
VAR text = UO.Journal(index)
UO.Print(text)
END IF
END SUB
Разбор параметров и выполнения:
- index передаётся непосредственно в Journal, без вычитания единицы.
- Индекс может сдвинуться при входящих сообщениях; буфер не замораживается между вызовами.