*FleetStreet FAQ - скрипты*
24 февраля 2000
(c) Alik Trakhtman, 1996-98 (ex-2:465/10, alik@ftn.donetsk.ua)
(c) Andrew Cherepivsky (2:5020/1302), 1999
(c) Andrey Mitrofanov (2:5020/198.486 aka 2:5020/1302.486), 2000
_ВВЕДЕHИЕ_
(А) Скрипты .Frx
Перед тем, как использовать скрипт, его нужно прописать в конфигурации
флита. Это можно сделать двумя способами.
Способ первый.
1. Записать скрипт в файл;
2. Перетащить WPS`ную иконку этого файла в окошко Rexx -> Scripts.
Способ второй.
1. Записать скрипт в файл;
2. В менюшке Rexx -> Scripts создать новый объект (Create another);
3. Придумать и в поле Script Name прописать название скрипта;
4. В поле File Name указать путь к файлу с этим скриптом.
Для pre-save скриптов в менюшке Rexx -> Scripts -> Settings в поле
Pre-save нужно выбрать соответствующее имя.
(B) Скрипты .Cmd
Это обычные скрипты OS/2, выполняющие связанные с FlrrtStreet'ом
функции. Запускать, как обычно, из коммандной строки или любым
другим :) способом.
q1: Можно ли выбирать origin из меню? (как в Голдеде, например).
(Anatoly Hlystoff, 2:5020/182)
q2: Как создавать куки(cookies). (Andrew Cherepivsky, 2:5020/1302)
q3: Календарь праздников. (Sergey Chernikov, 2:5051/5.29)
q4: аХРHБЮЪ ХМБЕПЯХЪ? Как перекодировать. (Max Alekseyev, 2:5015/60)
q5: Скрипт для записи письма в файл (Oleg Ivanov, 2:5030/423.28)
q6: SNAMES. Контекстный интерпретатор с лингвистическими наклонностями.
(Andrew Cherepivsky, 2:5020/1302)
q7: Добавление описаний в FleetStreet`кий areas.ini (понимает DZ и NA
форматы описания эх) и установка атрибута "foreign characters
allowed". (Nestyurkin Nikolay, 2:5020/1404.77)
q8: Быстро сохраняет письмо в предопределённую директорию.
(Nestyurkin Nikolay, 2:5020/1404.77)
q9: Проверка правописания в письмах посредством ISpell.
(Max Alekseyev, 2:5015/60)
q10: Управление флитом из REXX. (Oleg Deribas, 2:461/13)
q11: Удаление лишнего из AREAS.INI (Dmitry Malenok, 2:5030/9.22)
>Q1: <*М*>ожно ли выбирать origin из меню? (как в Голдеде, например).
> (Anatoly Hlystoff, 2:5020/182)
Вот, собственно, давно собирался - и написал скриптик.
Инструкции следующие: в темплейте писма надо после подписи (там, где
foother :) добавить _три_ пустые строки. Это нужно для того, чтобы ваша
подпись не срезалась. То еcть любое письмо у вас должно заканчиваться на
три пустых строки, так что следите за постскриптумами :)
В опциях скрипта указать "monitor" и "auto close". Далее, в скрипте
нужно указать путь к файлу, содержащему список любимых ориджинов
(рекомендую не более двенадцати, хотя можно и сто - просто первые 88
отожрутся :). Тирлайн можно рисовать любой - лишь бы начинался на '---'.
Скрипт повесить на хук пре-сейва (собственно, это следует из его
названия :) Всё. При сохранении письма эта штука подставляет "H", после
этого выбирается ориджин.
[Скачать файл Pre-Save.Ha в архиве fleetscr.zip]
>Q2: <*К*>ак создавать куки(cookies). (Andrew Cherepivsky, 2:5020/1302)
При помощи этого скрипта реализуются т.н. куки, или cookielines:
псевдослучайным образом выбираемые из списка и вставляемые в письмо
строки, содержащие обычно некий афоризм или высказывание.
Аналогичным образом можно подставлять "случайные" таглайны.
Внутри архива есть дока.
A: (Nestyurkin Nikolay, 2:5020/1404.77)
small bug:
200: ...||value(STEM'.Pref2')||...
надо: ...||value(STEM'.Prefix2')||...
[Скачать файл SuperCookie131.Ha в архиве fleetscr.zip]
>Q3: <*К*>алендарь праздников. (Sergey Chernikov, 2:5051/5.29)
Этот скрипт предназначен для подставления вместо magic word '%Holiday'
в теле письма в ФлитСтрите ближайшего праздника из списка, хранящегося в
файле calendar.lst. Его формат примерно такой же, как и у *NIX calendar.
calendar.lst нужно положить в каталог, из которого запускается
FleetStreet.
A: (Pavel Zagrebelin, 2:5000/102.13)
calendar.lst в 150 строк.
A: (Nick Gavrikov, 2:5020/1673.1)
PZ> 07.01 Христианским Рождеством
btw, не с Христианским, а с Православным :)
[Скачать файл calendar.ha в архиве fleetscr.zip]
>Q4: <*а*>ХРHБЮЪ ХМБЕПЯХЪ? Как перекодировать. (Max Alekseyev, 2:5015/60)
Чтоб читать такие крокозябры, я скриптик набросал. Подрубаешь их,
включаешь QuickAccess для удобства. И, если видишь крокозябры типа этого
письма запускашь Win2Dos - на данном письме станет читабельным сабж, но
все остальное левым будет. Обратно, тыкаешь в Dos2Win - все становится
по-старому.
Второй скрипт также может использоваться для написания писем через
гейт Fido->Intenet тем людям, кто токмо Win1251 читать умеет. Для этого
пишеться письмо нормальным образом, но перед записью нужно запустить
Dos2Win и записать полученные крокозябры - к адресату письмо придет в
кодировке Win1251.
[Скачать файл Dos2Win.Rar в архиве fleetscr.zip]
>Q5: <*С*>крипт для записи письма в файл (Oleg Ivanov, 2:5030/423.28)
Вот, собственно преодолел-таки лень и склепал простенький субж. Hужен
он для того, чтобы каждый раз не задавать имя файла вручную, теперь имя
берётся из субжа. 'D:\Рабочий Стол\Messages\' надо поменять на свой
любимый директорий. Скрипт конечно примитивный, но полезный, особенно
если его в quick access повесить :)
/* Запись письма в файл */
Call CreateFile
Call MakeHeader
Call WriteMessage
If Stream(FileName,C,'close')<>'READY:' then call ErrBeep
Beep(600,250)
EXIT
ErrBeep:
/* Выхoд при ошибке */
Beep(200,500)
exit
CreateFile:
/* Созд. файл */
FileName='D:\Рабочий
Стол\Messages\'translate(FleetMsg.Header.Subj,,XRANGE('00'x,'1F'x)'\/:*?"<>|','_')'.Txt'
If Stream(FileName,C,'query exists')<>'' then call ErrBeep
If Stream(FileName,C,'open')<>'READY:' then call ErrBeep
return
MakeHeader:
/* Оформляем заголовок */
FullAreaName=LEFT(' 'FleetStatus.Area.Tag' ('FleetStatus.Area.Desc') ',80)
Header.4=COPIES('=',80)
Header.0=Overlay(FullAreaName,Header.4,(80-Length(FullAreaName))%2)
Header.1=Insert(FleetMsg.Header.DateWritten,Insert(FleetMsg.Header.FromAddress,'
From:'FleetMsg.Header.From,43),59)
Header.2=' To:'FleetMsg.Header.To
If FleetStatus.Area.Type='Net'
then Header.2=Insert(FleetMsg.Header.ToAddress,Header.2,43)
Header.2=Insert(FleetMsg.Header.DateReceived,Header.2,59)
Header.3=' Subj:'FleetMsg.Header.Subj
return
WriteMessage:
/* Запись заголовка */
Do Q=0 to 4
If Lineout(FileName,Header.Q)<>0 then call ErrBeep
End
/* Запись текста */
Do Q=1 to FleetMsg.Text.0
If Lineout(FileName,FleetMsg.Text.Q)<>0 then call ErrBeep
End
return
>Q6: <*S*>NAMES. Контекстный интерпретатор с лингвистическими
> наклонностями. (Andrew Cherepivsky, 2:5020/1302)
Изначально скрипт задумывался как контекстная переводилка аглицких
имён на русский с динамически пополняющимся словариком. А теперь эта
хреновина всего лишь вызывает хитрым образом прописанные функции. Любые.
[Скачать файл SNAMES1B.RAR в архиве fleetscr.zip]
>Q7: <*Д*>обавление описаний в FleetStreet`кий areas.ini (понимает DZ и NA
> форматы описания эх) и установка атрибута "foreign characters
> allowed". (Nestyurkin Nikolay, 2:5020/1404.77)
Вот тут скриптик ниписал добавляющий описания в area.ini и
устанавливающий атрибут "foreign characters allowed", понимающий 2
формата описания эх + работает как конвертер этих описаний,
поддерживающий одновременно несколько файлов с описаниями эх.
[Скачать файл dsc2flt.ha в архиве fleetscr.zip]
>Q8: <*Б*>ыстро сохраняет письмо в предопределённую директорию.
> (Nestyurkin Nikolay, 2:5020/1404.77)
[Скачать файл QMsgSave.Ha в архиве fleetscr.zip]
>Q9: <*П*>роверка правописания в письмах посредством ISpell.
> (Max Alekseyev, 2:5015/60)
Я прикрутил!!! Мой скрипт предоставляет практически все возможности
iSpell (показ и выбор вариантов, возможность ручной правки, пополнение
словаря и т.д.) и достаточно (насколько это позволяет FleetStreet REXX
API) удобен в работе.
ЗЫ. Для тех, кто еще не в курсе, данный скрипт осуществляет проверку
орфографии при помощи iSpell/2 by Roman Trunov.
[Скачать файл ISPELL04.RAR в архиве fleetscr.zip]
>Q10: <*У*>правление флитом из REXX. (Oleg Deribas, 2:461/13)
Иногда может понадобиться обойтись без fleetcom.exe. Вот pезультат
моих скpомных тpудов на эту тему.
[Скачать файл PipeCtrl.Ha в архиве fleetscr.zip]
>Q11: <*У*>даление лишнего из AREAS.INI (Dmitry Malenok, 2:5030/9.22)
Это работает только для областей, находящихся в конфиге у fleet'а,
т.е. область редактировалась или переносилась в другую папку. Есть способ
лучше. Hиже приведен скрипт, позволяющий удалить запомненные fleet'ом
адреса при глобальной замене, т.е. адреса опять беруться из конфига
тоссера (FE).
[Скачать файл AreasNil.Ha в архиве fleetscr.zip]
|