Skip to content

API UO LastMessage

Codex edited this page Sep 19, 2026 · 5 revisions

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 означает успешный поиск.

Clone this wiki locally