Главная > Програмное обеспечение > для Fidonet >
FleetStreet FAQ - скрипты

*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]



Украинская Баннерная Сеть

Главная  Алфавитный индекс  Справка  Добавить FAQ  E-mail
Новости  Поиск по сайту

Copyright © 2001 - 2003 Olexandr Slobodyan.
Сайт создан в системе uCoz