Эта статья поднимает множество проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалить эти сообщения-шаблоны ) ( Узнайте, как и когда удалить этот шаблон сообщения )
|
Визуальный IRC 2 | |
Разработчики) | Адриан Кейбл и Джесси МакГрю |
---|---|
Стабильный выпуск | 2.0pl2 (30 декабря 2007 г . [±] [1] | )
Операционная система | Окна |
Лицензия | GPL |
Интернет сайт | visualirc |
Visual IRC ( ViRC ) - это клиент чата через Интернет с открытым исходным кодом для операционной системы Windows . В отличие от многих других клиентов IRC , почти все функциональные возможности ViRC управляются включенным сценарием IRC , в результате чего поведение программы может быть расширено или изменено без изменения исходного кода .
История [ править ]
- Visual IRC (16-бит) - выпущен в 1995 году для Windows 3.x, написан MeGALiTH. У этой программы было много встроенных функций, но она также могла быть написана сценариями с VPL ( язык программирования ViRC ), предшественником ViRCScript и Versus .
- Visual IRC '96 (а позже Visual IRC '97, Visual IRC '98) - выпущен в 1996 году, написан MeGALiTH. Это была первая 32-разрядная версия ViRC, написанная для Windows 9x / NT. Многие из функций, которые были встроены в 16-битный ViRC, обрабатывались скриптом по умолчанию в ViRC '96. ViRC '98 содержал некоторый код, предоставленный Джесси МакГрю, он же «Mr2001», в частности, усовершенствования механизма ViRCScript. Язык сценариев несовместим с более ранней версией. В более поздних версиях были добавлены функции голосового чата и видеоконференцсвязи.
- Разработка второй инкарнации замедлилась, и к 2000 году Visual IRC оказался мертвым. Первоначальный автор MeGALiTH (Адриан Кейбл) передал исходный код пользователю Mr2001 (Джесси МакГрю), который ранее предоставил некоторый код и который тайно разрабатывал клон под названием Bisual IRC (BIRC). Вместо того, чтобы перезапускать разработку базы кода ViRC '98, он объединил некоторые функции ViRC '98 в BIRC и выпустил его как Visual IRC 2.
- Visual IRC 2 - впервые выпущенный Mr2001 по совпадению в 2001 году, язык сценариев Versus этой версии основан на ViRCScript, но внутренне он был почти полностью переписан. Фактически, ViRC 2 разделяет всего несколько сотен строк кода с ViRC '98. В этой версии были удалены функции голосовой и видеоконференцсвязи, поскольку библиотеки, используемые для их реализации, больше не поддерживались.
Большая часть исходного кода BIRC, ViRC 2 и связанных утилит была выпущена под лицензией GPL через веб-сайт проекта и SourceForge .
Versus [ править ]
Versus - это язык сценариев, изначально разработанный для IRC-клиента Bisual IRC и в настоящее время используемый с Visual IRC. Это во многом похоже на языках сценариев , используемых ircII и Mirc , а также Tcl и C .
Название «Versus» было выбрано потому, что его можно было сократить до «VS», которое было обычным сокращением для ViRCScript , языка, используемого Visual IRC '96 - '98. Versus оставался в основном обратно совместимым с ViRCScript, поэтому существующая документация и комментарии, в которых упоминалось «VS», оставались в основном точными в применении к Versus. Название также намекало на происхождение BIRC как замены ViRC.
Object Versus , или OVS, относится к объектно-ориентированным функциям Versus. Скрипты могут определять классы и работать с объектами и методами вместо текстовых данных и псевдонимов ; однако на практике OVS в основном используется для управления объектами VCL , составляющими интерфейс ViRC.
Хранилище скриптов [ править ]
Сценарии хранятся в файлах, обычно с расширением файла .vsc , хотя иногда используется расширение .lib . Файл сценария Versus просто содержит операторы, которые нужно интерпретировать при загрузке сценария; любые блоки, определенные в сценарии (см. ниже), заменят блоки, определенные с тем же именем в предыдущих сценариях.
Блоки, которые можно определить в скрипте [ править ]
- Псевдонимы - это подпрограммы . Их можно вызвать из командной строки любого окна или из других частей скрипта. Псевдонимы, возвращающие значение, называются функциями; псевдоним может определять, должно ли оно возвращать значение, а затем действовать как функция или команда соответствующим образом.
- Классы используются в объектно-ориентированном написании сценариев (OVS). Каждый класс может содержать свойства , методы , конструктор и деструктор .
- События используются для обработки сообщений от IRC- сервера , а также определенных событий на уровне системы или клиента, таких как завершение передачи файла или открытие нового окна.
- В событиях сервера используются регулярные выражения или собственные подстановочные знаки Versus для сопоставления сообщений с сервера. Если несколько серверных событий соответствуют конкретному сообщению, будет выполнено только одно с наивысшим приоритетом (вычисленное из длины шаблона и относительного «значения» подстановочных знаков в нем).
- Клиентские события идентифицируются по имени: например, <OnCreateWindow_foo> и <OnCreateWindow_bar> будут запускаться при открытии нового окна. Они также могут включать шаблоны, которые ограничивают конкретные случаи, которые могут вызвать это событие (например, запускаться только при создании нового окна канала ).
- Структура меню и пункты меню определяют контекстное меню , которые появляются для различных элементов интерфейса клиента, а также в главном меню , которое всегда видно. Блоки дерева меню определяют макет меню и задают заголовки для каждого элемента; блоки пунктов меню определяют код сценария, который будет выполняться при щелчке по элементу.
- Панели инструментов и элементы панели инструментов аналогичны дереву меню и блокам пунктов меню, но они определяют панели инструментов, связанные с каждым окном. Новые панели инструментов можно добавить в интерфейс, просто выбрав уникальное имя.
Псевдонимы, методы (включая конструкторы и деструкторы), события, пункты меню и элементы панели инструментов называются подпрограммами или блоками кода.
Хранение данных [ править ]
Файлы [ править ]
- Скрипты могут обращаться к файлам с помощью функций $ RandomRead () и $ ReadLine (), а также команд CreateFile и AppendText.
- Сценарии также могут использовать класс TStringList VCL для чтения всего текстового файла в память, управления им и сохранения.
Переменные [ править ]
- Все переменные могут содержать до 4 ГиБ данных.
- Имена переменных начинаются со знака доллара ($) и прописной буквы, строчной буквы или символа подчеркивания.
- Переменные могут содержать любые символы, хотя обычно они используются для печатаемого текста.
- Локальные переменные устанавливаются с помощью
@L
команды и существуют только в контексте подпрограммы, которая их создала. Они удаляются, когда процедура заканчивается. Некоторые локальные переменные предопределены, например $ C для имени текущего канала. - Глобальные переменные устанавливаются с помощью
@
команды, и к ним можно получить доступ из любой процедуры. Они удаляются при выходе клиента. Псевдонимы могут возвращать значение, задав глобальную переменную $ fresult. - Сохраненные переменные устанавливаются с помощью
@S
команды и, как и глобальные переменные, доступны где угодно. Их значения немедленно сохраняются в постоянном хранилище и восстанавливаются при следующем запуске клиента.
Ассоциативные массивы [ править ]
- Ассоциативные массивы сопоставляют ключи со значениями.
- Ключи и значения могут содержать до 4 ГиБ данных без ограничений на разрешенные символы.
- Локальные, глобальные и сохраненные значения массива могут быть установлены с помощью
@L
,@
и@S
команды, и они ведут себя так же , как и соответствующие переменные. Когда установлено значение сохраненного массива, сохраняется весь массив. - Синтаксис
$arrayname[key]
используется для установки или получения значения для определенного ключа. - Сам по себе синтаксис
$arrayname
обрабатывает массив как список пар ключ-значение, позволяя сценарию установить все содержимое массива сразу или выполнить итерацию по уже имеющимся ключам.
Псевдопеременные [ править ]
- Псевдопеременные (или pvars) похожи по синтаксису на переменные, но их значения не могут быть изменены.
- Параметры от $ 0 до $ 9 содержат параметры, которые были переданы в текущую подпрограмму, по порядку. $ 0 содержит имя подпрограммы, $ 1 содержит первое слово строки параметров и так далее.
- Переменные с $ 0- по $ 9- содержат параметры, которые были переданы текущей подпрограмме, а также все следующие параметры. $ 0- содержит имя процедуры и всю строку параметров, $ 1- содержит все параметры, $ 2- содержит все параметры после первого и так далее.
- Специальная последовательность
$?="PROMPT STRING"
вызывает появление диалогового окна, предлагающего пользователю ввести значение.
Примеры кода [ править ]
Вот пример кода Hello World :
Псевдоним HELLO TextOut> $ C clBlack Привет, мир!EndAlias
Вот пример, чтобы сосчитать до десяти:
Псевдоним ДЕСЯТЬ для (@l $ i = 1; $ i <= 10; $ i ++) TextOut> $ C clBlack $ i конецEndAlias
Вот пример, чтобы сделать всех в текущем канале операторами :
Псевдоним MASSOP foreach ($ a, $ b, $ c, $ d; $ никлист ($ C)) Режим $ C + oooo $ a $ b $ c $ d конецEndAlias
Ссылки [ править ]
- ^ https://sourceforge.net/projects/visualirc/files/ViRC/2.0pl2/
Дальнейшее чтение [ править ]
- Харалабидис, Алекс (1999). «Клиенты Windows IRC: Visual IRC». Книга IRC: полное руководство по ретрансляционному чату в Интернете . Пресс без крахмала . С. 37–38 . ISBN 1-886411-29-8.
- Форрест Страуд (8 апреля 2004 г.) Visual IRC , WinPlanet Software Reviews
Внешние ссылки [ править ]
- Домашняя страница Visual IRC
- Список возможностей и скриншоты
- Страница проекта SourceForge
- Сборник скриптов ViRC
- ViRC DocCenter (по сравнению с языковым справочником)
- IRC-клиенты для Windows - список из 60 приложений, список подготовлен ircreviews.org