API UO DeleteJournal - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

UO.DeleteJournal

Оглавление · Алфавитный указатель · Journal

ClassicUO • Runtime API

Удаляет строки из общего локального журнала.

Точный синтаксис

UO.DeleteJournal() -> Unit
UO.DeleteJournal(text:Any) -> Unit

Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.

Параметры

  • text — Искомая подстрока или несколько альтернатив через |, например success|failed. Пробелы по краям каждой альтернативы удаляются, пустые альтернативы пропускаются. Это обычный текст, не регулярное выражение. Используйте непустой шаблон. Необязателен только у DeleteJournal: при передаче удаляются подходящие строки без учёта регистра; без аргумента удаляется весь буфер.

Возвращает

Unit — нет возвращаемого значения. Не возвращает число удалённых строк. Счётчик совпадений и выбор текущего скрипта сбрасываются.

Поведение

  • Общий буфер доступен всем скриптам: удалённые строки перестают находиться. Снимки, ранее сохранённые другими скриптами, могут остаться, но их индекс станет -1.
  • Без текстового фильтра очищается весь буфер Classic UO, включая System. Локальный файл журнала и сообщения сервера не удаляются.
  • Первичный справочник: https://stealth.od.ua/api/ClearJournal/ .

Примеры

Пример 1. Очистить выбранную область журнала

# Очистить выбранную область журнала
#
# Удаляет строки из общего локального журнала.
#
# Unit — нет возвращаемого значения. Не возвращает число удалённых строк. Счётчик совпадений и
# выбор текущего скрипта сбрасываются.

SUB Main()
    # Аргументов нет. Удаляются все строки общего буфера.
    # Счётчик последнего поиска становится 0; Print после очистки может добавить новую строку.

    UO.DeleteJournal()
    VAR count = UO.LineCount()
    UO.Print('Search matches after clear: ' + STR(count))
END SUB

Разбор параметров и выполнения:

  • Аргументов нет. Удаляются все строки общего буфера.
  • Счётчик последнего поиска становится 0; Print после очистки может добавить новую строку.

Пример 2. Очистить перед ожиданием

# Очистить перед ожиданием
#
# Удаляет строки из общего локального журнала.
#
# Unit — нет возвращаемого значения. Не возвращает число удалённых строк. Счётчик совпадений и
# выбор текущего скрипта сбрасываются.

SUB Main()
    # Очистка выполняется до сохранения временной метки. 1000 — ограниченное ожидание в
    # миллисекундах.
    # Для исключения старых сообщений обычно достаточно метки времени; очистка затрагивает и другие
    # скрипты.

    UO.DeleteJournal()
    VAR started = Now()
    VAR found = UO.WaitJournalLine(started, 'notice', 1000)
    UO.Print(STR(found))
END SUB

Разбор параметров и выполнения:

  • Очистка выполняется до сохранения временной метки. 1000 — ограниченное ожидание в миллисекундах.
  • Для исключения старых сообщений обычно достаточно метки времени; очистка затрагивает и другие скрипты.

Пример 3. Проверить сброс выбранной записи

# Проверить сброс выбранной записи
#
# Удаляет строки из общего локального журнала.
#
# Unit — нет возвращаемого значения. Не возвращает число удалённых строк. Счётчик совпадений и
# выбор текущего скрипта сбрасываются.

SUB Main()
    # После очистки через текущий скрипт index=-1, даже если удалялась только часть буфера.
    # Переменная text сохраняет ранее прочитанную копию, а GetFoundedText уже очищен.

    VAR text = UO.Journal(0)
    UO.DeleteJournal()
    VAR index = UO.LineIndex()
    UO.Print(STR(index))
END SUB

Разбор параметров и выполнения:

  • После очистки через текущий скрипт index=-1, даже если удалялась только часть буфера.
  • Переменная text сохраняет ранее прочитанную копию, а GetFoundedText уже очищен.

Пример 4. Удалить только подходящий текст

# Удалить только подходящий текст
#
# Удаляет строки из общего локального журнала.
#
# Unit — нет возвращаемого значения. Не возвращает число удалённых строк. Счётчик совпадений и
# выбор текущего скрипта сбрасываются.

SUB Main()
    # text содержит две подстроки. Удаляются строки с любой из них без учёта регистра; остальные
    # сообщения остаются.
    # found=0 при отсутствии новых подходящих сообщений после удаления. Пустой шаблон в этой
    # реализации подходит всем строкам.

    UO.DeleteJournal('notice|warning')
    VAR found = UO.InJournal('notice|warning', -1)
    UO.Print(STR(found))
END SUB

Разбор параметров и выполнения:

  • text содержит две подстроки. Удаляются строки с любой из них без учёта регистра; остальные сообщения остаются.
  • found=0 при отсутствии новых подходящих сообщений после удаления. Пустой шаблон в этой реализации подходит всем строкам.