Новая версия сайта: The Bat!

Список макросов плагина MyMacros для почтового клиента The Bat!
MyMacros
...Набор дополнительных макросов для The Bat! v2, которые значительно расширяют возможности шаблонов. Чтоб установить, открой Свойства > Настройка… > Plug-Ins, нажми Add и укажи на скачанный отсюда tbp файл....

[Макрос] %Chr
[Описание] Параметры:
%Chr(номер_символа)
Символ с указанным ASCII кодом. Допустимый интервал — [1, 256]
[Пример работы] %Chr("64")
@
[Макрос] %CountLines
[Описание] Параметры:
%CountLines(текст)
Подсчитывает количество строк в тексте
[Пример работы] %CountLines("миллион алых роз
из окна видишь ты")
2
[Макрос] %CutHere
[Описание] Вставляет служебный символ «-- » стопудово
[Пример работы] %CutHere
[Макрос] %DaysTo
[Описание] Параметры:
%DaysTo(дата)
Количество дней, между сегодняшним днём и указанной датой
[Пример работы] %DaysTo("23.02.04")
%DaysTo("23/02/04")
[Макрос] %Eval
[Описание] Параметры:
%Eval(выражение)
Пропускает полученное выражение через шаблонопроцессор Бата ещё раз
[Пример работы] %Eval("%Subject")
В этом случае первым выполняется макрос %Subject. Вместо него подставляется значение поля "тема" текущего письма. Затем управление передаётся макросу %Eval, который получает на вход тему сообщения и по сути в ней уже ничего не меняет.

%Eval("%%Subject")

В этом случае обработку сначала проходит %%Subject. Вместо него возвращается строка %Subject. Потом управление передаётся макросу %Eval, который полученную строку %Subject пропускает через шаблонопроцессор ещё раз и получает в итоге тему сообщения.
На этом же принципе основаны макросы для организации циклов.
[Макрос] %For
[Описание] Параметры:
%For(минимальное, максимальное, имя переменной, выражение)
Выполняет выражение (см. %Eval) несколько раз подряд, каждый раз предварительно присваивая указанной переменной целочисленные значения в указанном интервале
[Пример работы] %For("1","5","Iter","%%_Iter ")
[Макрос] %ForDown
[Описание] Параметры:
%ForDown(максимальное, минимальное, имя переменной, выражение)
Макрос аналогичен %For. Отличие в том, что отсчет идёт в обратном направлении.
[Пример работы] %For("5","1","Cnt","%%_Cnt ")
[Макрос] %GetLine
[Описание] Параметры:
%GetLine(номер строки, текст)
Извлекает указанную строку из текста
[Пример работы] %GetLine("2","Шла Маша по шоссе
и сосала сушку!")
и сосала сушку!
[Макрос] %GetValueKey
[Описание] Параметры:
%GetValueKey(key, list)
%GetValueKey(key, list, key/value separator)
%GetValueKey(key, list, key/value separator, row separator)
Макрос находит в списке ключ и возвращает значение этого ключа. Если ключ не найден, возвращается пустая строка.
По умолчанию ключ и значение разделяются запятой ",", но можно установить и другой разделитель. Разделитель строк также можно поменять, но как правило "\n" (перевод строки) должен подойти в большинстве случаем.
[Пример работы] %GetValueKey("apple","
tomato => red
apple => green
lemon => yellow
","=>")
green
[Макрос] %GetValueN
[Описание] Параметры:
%GetValueN(n, list)
%GetValueN(n, list, separator)
Макрос возвращает n-е значение из списка. Список это строка с перечисленными значениями. Разделитель сообщения по умолчанию "," (запятая), но его можно изменить.
Отдельные значения, если они содержат внутри себя разделитель, можно заключать в кавычки " и ´.
Внутри значений можно использовать escape-последовательности. "\n" и "\t" воспринимаются как перевод строки и табуляция соответственно.
Обратите внимание на то что пример строкой ниже работать не будет. Потому что символ " используется как ограничитель макроса %To, и его нельзя использовать внутри. Это ограничение, накладываемое The Bat!´ом.
%To="%GetValueN(´2´,´"test, a","test2, b","test3, c"´)"
Чтоб избежать этого можно использовать быстрые шаблоны или внешние текстовые файлы:
Макрос:
%To="%GetValueN(´2´,´%QInclude=´sample´´)"
Быстрый шаблон "sample":
"test, a","test2, b","test3, c"
[Пример работы] %GetValueN("3","one, ´two\ntwo´, ´third \´ third \´ third´")
[Макрос] %GetValueRegExpKey
[Описание] Параметры:
%GetValueRegExpKey(key, list)
%GetValueRegExpKey(key, list, key/value separator)
%GetValueRegExpKey(key, list, key/value separator, row separator)
Макрос аналогичен %GetValueKey с тем лишь исключением, что ключами являются регулярные выражения
[Пример работы] %GetValueRegExpKey("andrew@microsoft.com","
´@microsoft\.´ = you work for MS
´@.+\.microsoft\.´ = you work for a department of MS
´@barin\.com.ua\Z´ = you work for me :)
","=")
[Макрос] %InputBox
[Описание] Параметры:
%InputBox(текст-приглашение)
%InputBox(текст-приглашение, значение по умолчанию)
Выводит окошко для ввода строки и возвращает то, что ввёл пользователь.
Внимание!!! Пока окошко открыто работа The Bat! приостанавливается. Используйте этот макрос только в быстрых шаблонах, вызываемых вручную!
[Пример работы] %InputBox("Введите заголовок:","Заголовок")
[Макрос] %KeybLayout
[Описание] Параметры:
%KeybLayout(раскладка клавиатуры)
Переключает текущую раскладку клавиатуры. Можно использовать 8-циферный код языка (например, 00000409 это английский), или один из следующих идентификаторов: BE, BG, CS, DA, DE, EL, EN, ET, IT, LT, LV, NL, NO, PL, PT, RO, RU, SL, UK
[Пример работы] %KeybLayout("EN")
[Макрос] %MyMacrosVersion
[Описание] Возвращает версию MyMacros в виде вроде "MyMacros N.xx"
[Пример работы] %MyMacrosVersion
[Макрос] %Numerical
[Описание] Параметры:
%Numerical(число, шаблон 1, шаблон 2, шаблон 3)
%Numerical(число, шаблон 1, шаблон 2 & 3)
Анализирует число и подставляет его в один из шаблонов вместо символа "^n". Первый шаблон для чисел, заканчивающихся на 1, но не на 11. Второй — для чисел, заканчивающихся на 2, 3, 4, но не на 12, 13, 14. Третий — для остальных.
Второй и третий шаблон можно объединить в один если язык, например, английский.
[Пример работы] %Numerical("18","^n день","^n дня","^n дней")
%Numerical("18","^n day","^n days")
[Макрос] %Prefix
[Описание] Параметры:
%Prefix(префикс, текст)
Добавляет префикс в начало каждой строки текста
[Пример работы] %Prefix("| ","Здесь можно подставить
содержимое буфера, например.")
[Макрос] %ProgressBar
[Описание] Параметры:
%ProgressBar(чёрный, белый, ширина, минимум, максимум, значение)
%ProgressBar(чёрный, белый, ширина, процент)
Вставляет текстовую строку состояния указанной ширины. Определённая часть строки закрашивается чёрными символами, остальная белыми.
Определить относительную длину чёрной полосы можно задав минимальное, максимальное и текущее значения, либо указав процент заполнения, как целое число от 0 до 100.
[Пример работы] [%ProgressBar("#",".","60","0","50","35")]
[Макрос] %Random
[Описание] Параметры:
%Random(минимум, максимум)
Случайное целое число в указанных пределах включительно
[Пример работы] %Random("5","10")
[Макрос] %RegExp
[Описание] Параметры:
%RegExp(regular expression, text)
Макрос не делает ничего уникального. Это просто замена комбинации следующих макросов (только более кототкая и понятная):
%SetPattRegExp="regular expression"%RegExpMatch="text"
[Пример работы] %RegExp("A(.+)@","%FromAddr")
[Макрос] %RegExpBlind
[Описание] Параметры:
%RegExpBlind(regular expression, text)
Это аналог %RegExp, но он использует %RegExpBlindMatch:
%SetPattRegExp="regular expression"%RegExpBlindMatch="text"
[Пример работы] %RegExp("\A(.+)@(.+)\Z","%FromAddr")%SubPatt="2"@%SubPatt="1"
[Макрос] %RegRead
[Описание] Параметры:
%RegRead(путь к значению)
%RegRead(путь к значению, результат по умолчанию)
Возвращает строковое (STRING) или целочисленное (DWORD) значение из указанного пути в реестре.
Если значения не существует, возращается значение по умолчанию
[Пример работы] %RegRead("HKEY_CURRENT_USER\Software\%-
MicrosoftInternet Explorer\Main\Start Page")
[Макрос] %RegWrite
[Описание] Параметры:
%RegWrite(путь к значению, значение)
%RegWrite(путь к значению, значение, тип записи)
Записывает значение по указанному пути в реестре.
Третий параметр указывает тип записи: "STR" для STRING, "INT" для DWORD. По умолчанию STR
[Пример работы] %RegWrite("HKEY_CURRENT_USERABC","Значение","STR")
[Макрос] %Run
[Описание] Параметры:
%Run(командная строка)
%Run(командная строка, состояние окна)
%Run(командная строка, состояние окна, время ожидания)
Выполняет командную строку.
Второй параметр указывает состояние запущеного приложения: HIDE, ACTIVE, ACTIVEMAX, ACTIVEMIN, NOTACTIVE, NOTACTIVEMIN. По умолчанию ACTIVE.
Если указан третий параметр, обработка шаблона приостанавливается до тех пор, пока запущенное приложение не завершит свою работу, но не больше чем указанное число миллисекунд
[Пример работы] %Run("notepad.exe c:\boot.ini","ACTIVEMAX")
[Макрос] %StrLen
[Описание] Параметры:
%StrLen(text)
Возвращает длину текста. Макрос пригоден для однострочного текста, потому что перевод строки считается как 2 символа.
[Пример работы] %StrLen("test line")
[Макрос] %StrReplace
[Описание] Параметры:
%StrReplace(текст, строка 1, строка 2)
Заменяет в тексте все найденные строки 1 на строки 2 (поиск регистронезависимый)
[Пример работы] %StrReplace("до ре ми ре фа","ре","ля")
[Макрос] %StrTr
[Описание] Параметры:
%StrTr(текст, алфавит 1, алфавит 2)
Заменяет в тексте все буквы, входящие в алфавит 1 соответствующими буквами из алфавита 2 (длины алфавитов должны совпадать)
[Пример работы] %StrTr("Лужа","ЖУжу","СЕсе")
[Макрос] %SubjIfNone
[Описание] Параметры:
%SubjIfNone="новая тема"
Установить в поле "Тема:" новую тему, если это поле ещё пустое
[Пример работы] %SubjIfNone="MyMacros"
[Макрос] %TextBar
[Описание] Параметры:
%TextBar(префикс, строка, суффикс, длина)
Формирует полосу заданной длины следующим образом: берётся указанная строка и добивается префиксом и суфиксом до нужной длины (если длина исходной строки превышает заданную длину полосы, строка не урезается)
[Пример работы] %TextBar("=-","[ текст ]","-=","70")
%TextBar("_"," текст ___","","50")
[Макрос] %ToIfNone
[Описание] Параметры:
%ToIfNone="адрес получателя"%ForDown Установить в поле "Кому:" адрес получателя, если список получателей сообщения ещё пуст
[Пример работы] %ToIfNone="list@host.com"
[Макрос] %Trim
[Описание] Параметры:
%Trim(текст)
Удаляет лишние пробелы и служебные символы из начала и конца текста
[Пример работы] %Trim("   Вот так   
 ")
[Макрос] %Until
[Описание] Параметры:
%Until(имя переменной, терминальное значение, выражение)
То же что и %While, но проверка на терминальное значение производится после обработки выражения
[Пример работы] %Until("Xyz","wwww","%%_Xyz='w%%_Xyz'%%_Xyz ")
[Макрос] %While
[Описание] Параметры:
%While(имя переменной, терминальное значение, выражение)
Выполняет выражение (см. %Eval) несколько раз до тех пор, пока указанная переменная не приобретёт терминальное значение.
Осторожно!!! Не делайте бесконечные циклы!
[Пример работы] %While("Abc","wwww","%%_Abc='w%%_Abc'%%_Abc ")
[Макрос] %WinAmpStatus
[Описание] Возвращает состояние WinAmp'а — одну из четырех строк: OFF, STOPPED, PAUSED, PLAY
[Пример работы] %WinAmpStatus
[Макрос] %WinAmpTitle
[Описание] Название композиции, загруженной в WinAmp 2.xx/5.xx. Прокрутка названия композиции в заголовке окна должна быть отключена
[Пример работы] %WinAmpTitle

Загрузить файл: http://files.nobat.ru/plugins/10

Андрей Переводчик

Новые версии The bat! | Купить The bat! | О проекте | Скачать The Bat!