Reviews / articles about OS/2 |
Operating systems: ArcaOS, eComStation, IBM OS/2 Warp |
|
|
DATE: 2001-09-06 18:45:41 AUTHOR: Alex Slyotov
"Когда же продолжали спрашивать Его, ПредисловиеСразу хочу сказать, что тем "фанам" OS/2, которые готовы сделать харакири себе или своему ближнему при одном только слове Windows я бы не рекомендовал читать этот обзор ибо опасаюсь за здоровье... нет, не этих "фанов" (туда им и дорога), а исключительно их ближних. Данный обзор адресован тем, кто волею судеб вынужден работать в Windows. Сам я знаком с OS/2 уже более 7 лет. За это время мне удалось накопить довольно солидный опыт практической работы как с самой операционной системой, так и со специализированным программным обеспечением, но так уж получилось, что мне сейчас по-работе приходится часто находится в Windows и чтобы не чувствовать своего отрыва от мира OS/2 я решил, что было бы здорово иногда заглядавать на #os2russian для общения со старинными знакомыми... Итак, приступим!Первая задача, которую пришлось решать заключалась в выборе удобного Win32 IRC-клиента из всего того сонмища клиентов, которое доступно в интернете. Мною были опробованы: EasyIRC, IamC, ObjIRC, dIRC, vIRC97, Pirch98, TurboIRC, WinJab, XiRCON, OpenChat87, mIRC и BersIRC. В результате я остановил свой выбор на двух последних, как на самых удобных для меня клиентах. Про них я дальше и буду рассказывать. В принципе эти клиенты очень похожи друг на друга, причем BersIRC может даже импортировать настройки из уже установленного в системе mIRC'a. Так что я расскажу только о главных (в моем понимании) отличиях между ними:
Способы решения задачи трансляции KOI8-R <-> CP-1251Так как основной особенностью этих двух клиентов является корректная работа только с CP-1251 кодовой страницей мы подошли к решению главной задачи: можно ли вообще научить эти клиенты работать с KOI8-R и если можно, то как? Для тех, кто ходит в интернет напрямую безо всяких прокси, правильным решением будет использование утилиты PXY, которая по сути сама является прокси, декодирующим KOI8-R <-> CP-1251 на лету. Т.е Вам достаточно установить эту программу и указать своему Win32 IRC-клиенту, что он должен ходить через PXY-прокси. В архиве с PXY идет вполне достаточный README, рассказывающий как все настраивается. Однако указанный выше способ, несмотря на его универсальность для любого Win32 IRC-клиента, к сожалению, не подходит тем, кто вынужден ходить в интернет через SOCKS или HTTP прокси так как PXY утилита не умеет работать через прокси сервера. Поэтому данной катагории пользователей решать проблему KOI8-R <-> CP-1251 трансляции придется уже на уровне IRC-клиентов. Для успешного решения данной проблемы IRC-клиент должен позволять пользователю контролировать входящие и исходящие потоки. Обычно это делается с помощью встроенного в IRC-клиент скрипт-языка. Рассмотрение второго способа трансляции применительно к mIRC и BersIRCmIRC После непродолжительных поисков я нашел уже готовый скрипт решающий эту задачу. Скрипт называется RECODE. Вместе со скриптом идет описание по его настройке и использованию. Работает скрипт вполне корректно и на данный момент у него замечен только один ляп - он не умеет транслировать тему канала для отображения в заголовке окна клиента. Т.е если тема содержит символы старшей половины ASCII таблицы, то отображаться в заголовке окна она будет в виде "крякозябр". Хочу сказать, что я не разбирался в содержимом этого скрипта по причине крайне корявого и неудобного для моего понимания mIRC'овского скрипт-языка, поэтому не могу сказать, что там надо подправить для правильного отображения русских KOI8-R символов в заголовке окна. Оставляю эту творческую работу Вам. :) BersIRC Скрипт-язык этого IRC-клиента в плане удобства для программиста кардинально отличается от скрипт-языка mIRC'a. По сути скрипт-язык BersIRC'a представляет собой ObjectPascal, т.е тем, кто знаком с Delphi, написание скриптов для BersIRC'a не составит никакого труда. Даже тем, кто не знаком ни с Delphi, ни с Pascal'ем, все равно писать скрипты для BersIRC'a будет удобнее и понятнее, чем для mIRC'a. Сам я с Delphi никогда не работал, хотя с Borland Pascal for MS-DOS и Virtual Pascal for OS/2 поработал в свое время достаточно много. Ситуацию с написанием собственных скриптов облегчает еще и тот факт, что вместе с BersIRC'ом можно скачать с сайта разработчика (и со сторонних сайтов по ссылкам) примеры уже работающих скриптов и полное описание процедур и функций допустимых к применению в скриптах. У меня лично разбирательство во всей этой "кухне" заняло всего пол-дня и уже к вечеру был готов deep-alpha набор скриптов, который мне смог транслировать KOI8-R <-> СР-1251 и я, наконец-то, увидел #os2russian по-русски. :)) Дальнейшая работа происходила в более быстром темпе и за пару дней я сделал вполне работоспособный комплект скриптов. Установка моих скриптов заключается в записи их поверх уже имеющихся файлов в каталоге ...\BersIRC\Scripts. Настройка параметров несколько неудобна, так как не является интерактивной как в случае с RECODE скриптом для mIRC'a, но тем не менее позволяет настроить имена каналов для которых надо применять трансляцию KOI8-R <-> CP-1251, а также имена пользователей PRIVATE-разговоры с которыми тоже должны подвергаться трансляции. Все эти параметры настраиваются редактированием блока констант в модуле TRANS.OPS: AHI = 'NO'; //Auto Hi-messages PUB = '#OS2RUSSIAN,#TEST,#BEOS'; //Channels list for //activate translation PRV = 'SERGEY,OS2KRNL,E-CO,OS2OK,ELI_W'; //Nicks list for //activate PRIV translation Переменная AHI отвечает за включение или выключение вывода автоматических приветственных сообщений при обнаружении нового пользователя на канале. Допустимые значения: 'YES' или 'NO'; Переменная PUB содержит имена каналов на которых трансляция KOI8-R <-> CP-1251 должна быть активизирована. Для каналов не указанных в этом списке трансляция производится не будет; Переменная PRV содержит имена пользователей приватные сообщения от которых должны быть подвержены трансляции KOI8-R <-> CP-1251. Для пользователей не указанных в этом списке трансляция осуществляться не будет. При написании имен регистр символов не важен. После того как Вы внесли изменения в константы необходимо перезагрузить скрипты в BersIRC. Для этого Вы должны в командной строке BersIRC'a дать команду: /load bersirc.ops или сделать тоже самое через меню: "Tools" -> "Options" -> "Scripts and Plugins" -> в поле Script File поместить bersirc.ops Желающим попинать меня за отсутствие интерактивной настройки хочу напомнить, что это все еще Beta-версия скриптов. Она далека от совершенства и нуждается в доработке, но у меня сейчас катастрофически не хватает свободного времени и, честно говоря, желания "полировать глюкало". Для меня главный критерий - работает, а недостатки... я пока выявил только косметические: двоение вывода в окно клиента (но не на выход программы!) некоторой информации и невозможность "отлова" некоторых событий. Мне не удалось устранить эти ляпы сколько я не бился над этим. Изначально в скрипт-языке не хватает по крайней мере двух событий: "onTopicChange" и события "onCommandOutput". Я пообщался с автором BersIRC'a, но впечатление от этого общения у меня сложилось негативное. По-моему он весьма неотзывчивый тип и вообще у него, как бы это сказать, раздолбайское какое-то настроение. Короче мне было неприятно с ним общаться. В принципе, отчасти, его можно понять. BersIRC - бесплатный клиент и его автор никому ничего не должен. Сейчас он работает над 2.0 версией и, возможно, он учтет мои пожелания на добавление отслеживания некоторых event'ов в скрипт-язык. Было бы просто замечательно если бы кто-то из Вас, кто лучше меня разбирается в ObjectPascal, попробовал довести до ума эти скрипты. Может быть даже имеющихся event'ов Вам будет достаточно для устранения тех ляпов, которые не удалось устранить мне. А может быть кто-то из Вас решит написать свой плагин для трансляции KOI8-R <-> CP-1251. Уверен, что это будет гораздо более удобное и гибкое для конечного пользователя решение, чем скрипт. Одним словом дерзайте! Ссылки:
Комментарии:
|
|
|||||||||||||||||||||||
(C) OS2.GURU 2001-2021