API UO LastMessage - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.LastMessage
Оглавление · Алфавитный указатель · Journal
ClassicUO • Runtime API
Читает текст самой новой записи локального журнала.
Точный синтаксис
UO.LastMessage() -> String
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
Параметров нет.
Возвращает
String — текст новой записи; пустая строка, если журнала нет или сама запись содержит пустой текст.
Поведение
- Этот getter читает новую запись, но сохраняет прежний выбор GetFoundedText/Line*. Для выбора последней записи используйте LastJournalMessage или Journal(0).
- Первичный справочник: https://forum.yoko.com.ua/viewtopic.php?p=27633 .
Примеры
Пример 1. Прочитать и сохранить текст
# Прочитать и сохранить текст
#
# Читает текст самой новой записи локального журнала.
#
# String — текст новой записи; пустая строка, если журнала нет или сама запись содержит пустой
# текст.
SUB Main()
# Аргументов нет; text копирует текущую последнюю строку.
# Печать после чтения может сама стать последним сообщением.
VAR text = UO.LastMessage()
UO.Print(text)
END SUB
Разбор параметров и выполнения:
- Аргументов нет; text копирует текущую последнюю строку.
- Печать после чтения может сама стать последним сообщением.
Пример 2. Проверить подстроку
# Проверить подстроку
#
# Читает текст самой новой записи локального журнала.
#
# String — текст новой записи; пустая строка, если журнала нет или сама запись содержит пустой
# текст.
SUB Main()
# InStr возвращает позицию от 1 либо 0. Проверяется только одна последняя строка.
# Для поиска по всему журналу используйте InJournal.
VAR text = UO.LastMessage()
IF InStr(text, 'bank') > 0 THEN
UO.Print('Text contains bank')
END IF
END SUB
Разбор параметров и выполнения:
- InStr возвращает позицию от 1 либо 0. Проверяется только одна последняя строка.
- Для поиска по всему журналу используйте InJournal.
Пример 3. Сравнить с результатом поиска
# Сравнить с результатом поиска
#
# Читает текст самой новой записи локального журнала.
#
# String — текст новой записи; пустая строка, если журнала нет или сама запись содержит пустой
# текст.
SUB Main()
# matched сохраняется до чтения latest, поэтому не меняется при новом выборе.
# Последнее сообщение может отличаться от найденного; found > 0 означает успешный поиск.
VAR found = UO.InJournal('needle')
VAR matched = UO.GetFoundedText()
VAR latest = UO.LastMessage()
UO.Print('Found: ' + matched)
UO.Print('Latest: ' + latest)
END SUB
Разбор параметров и выполнения:
- matched сохраняется до чтения latest, поэтому не меняется при новом выборе.
- Последнее сообщение может отличаться от найденного; found > 0 означает успешный поиск.