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 при отсутствии новых подходящих сообщений после удаления. Пустой шаблон в этой реализации подходит всем строкам.