Jump to content

Визуальный IRC

Визуальный IRC
Разработчик(и) Адриан Кейбл и Тара МакГрю
Стабильная версия 2.0pl2 (30 декабря 2007 г .; 16 лет назад ( 30 декабря 2007 г. ) ) [±] [1]
Операционная система Окна
Лицензия лицензия GPL
Веб-сайт визуальный .сеть

Visual IRC ( ViRC ) — это с открытым исходным кодом клиент Internet Relay Chat для операционной системы 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.

Большая часть исходного кода BIRC, ViRC 2 и связанных с ними утилит была выпущена под лицензией GPL через веб-сайт проекта и SourceForge .

Versus — это язык сценариев, первоначально разработанный для IRC-клиента Bisual IRC и в настоящее время используемый с Visual IRC. Он во многом похож на языки сценариев, используемые и mIRC , а также Tcl и C. ircII

Название «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) по синтаксису аналогичны переменным, но их значения не могут быть изменены.
  • Pvars от $0 до $9 содержат параметры, которые были переданы в текущую процедуру по порядку. $0 содержит имя подпрограммы, $1 содержит первое слово строки параметра и т. д.
  • Pvars от $0 до $9 содержат параметры, которые были переданы в текущую процедуру, а также все последующие параметры. $0- содержит имя подпрограммы и всю строку параметров, $1- содержит все параметры, $2- содержит все параметры после первого и т. д.
  • Особая последовательность $?="PROMPT STRING" вызывает появление диалогового окна, предлагающего пользователю ввести значение.

Примеры кода

[ редактировать ]

Вот пример кода Hello World :

Alias HELLO
  TextOut > $C clBlack Hello, world!
EndAlias

Вот пример счета до десяти:

Alias TEN
  for (@l $i = 1; $i <= 10; $i++)
    TextOut > $C clBlack $i
  endfor
EndAlias

Вот пример того, как сделать всех участников текущего канала операторами :

Alias MASSOP
  foreach ($a,$b,$c,$d; $nicklist($C))
    Mode $C +oooo $a $b $c $d
  endforeach
EndAlias

Дальнейшее чтение

[ редактировать ]
  • Харалабидис, Алекс (1999). «Клиенты Windows IRC: Visual IRC» . Книга IRC: Полное руководство по интернет-реле-чату . Пресс без крахмала . стр. 37–38 . ISBN  1-886411-29-8 .
  • Форрест Страуд (8 апреля 2004 г.) Visual IRC , WinPlanet обзоры программного обеспечения
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7e21a8da1b7b989f9c5fff7ac8417dd1__1717642500
URL1:https://arc.ask3.ru/arc/aa/7e/d1/7e21a8da1b7b989f9c5fff7ac8417dd1.html
Заголовок, (Title) документа по адресу, URL1:
Visual IRC - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)