Articulo de referencia

IRC visual

Visual IRC ( ViRC ) es un cliente de Internet Relay Chat de código abierto para el sistema operativo Windows . A diferencia de muchos otros clientes de IRC , casi toda la funcio...

Visual IRC ( ViRC ) es un cliente de Internet Relay Chat de código abierto para el sistema operativo Windows . A diferencia de muchos otros clientes de IRC , casi toda la funcionalidad de ViRC está controlada por el script de IRC incluido , con el resultado de que el comportamiento del programa se puede ampliar o cambiar sin alterar el código fuente .

Historia

  • Visual IRC (16 bits): lanzado en 1995 para Windows 3.x, escrito por MeGALiTH. Este programa tenía muchas funciones integradas, pero también se podía programar con VPL (lenguaje de programación ViRC), el predecesor de ViRCScript y Versus .
  • Visual IRC '96 (y posteriormente Visual IRC '97, Visual IRC '98): publicado en 1996, escrito por MeGALiTH. Esta fue la primera versión de 32 bits de ViRC, escrita para Windows 9x/NT. Muchas de las características que se incorporaron a ViRC de 16 bits se manejaban mediante el script predeterminado en ViRC '96. ViRC '98 contenía algo de código aportado por Tara McGrew, también conocida como "Mr2001", en particular mejoras al motor ViRCScript. El lenguaje de script era incompatible con la versión anterior. En versiones posteriores, se agregaron funciones de chat de voz y videoconferencia.
El desarrollo de la segunda versión se ralentizó y en 2000 Visual IRC parecía estar muerto. El autor original MeGALiTH (Adrian Cable) pasó el código fuente a un usuario, Mr2001 (Tara McGrew), que ya había contribuido con algo de código y que había estado desarrollando en secreto un clon llamado Bisual IRC (BIRC). En lugar de reiniciar el desarrollo de la base de código de ViRC '98, fusionó algunas de las características de ViRC '98 en BIRC y lo publicó como Visual IRC 2.
  • Visual IRC 2: publicado por primera vez por Mr2001, casualmente en 2001, el lenguaje de programación Versus de esta versión se basa en ViRCScript, pero internamente ha sido reescrito casi por completo. De hecho, ViRC 2 solo comparte unos pocos cientos de líneas de código con ViRC '98. Las funciones de conferencia de voz y video se eliminaron en esta versión porque las bibliotecas utilizadas para implementarlas ya no eran compatibles.

Gran parte del código fuente de BIRC, ViRC 2 y las utilidades relacionadas se ha publicado bajo la GPL a través del sitio web del proyecto y SourceForge .

Versus

Versus es un lenguaje de programación desarrollado originalmente para el cliente de IRC Bisual IRC y que actualmente se utiliza con Visual IRC. Es similar en muchos aspectos a los lenguajes de programación utilizados por ircII y mIRC , así como a Tcl y C.

Se eligió el nombre "Versus" porque se podía acortar a "VS", que era una abreviatura común de ViRCScript, el lenguaje utilizado por Visual IRC desde el '96 hasta el '98. Versus siguió siendo en gran medida compatible con versiones anteriores de ViRCScript, por lo que la documentación y los comentarios existentes que mencionaban "VS" seguían siendo en gran medida precisos cuando se aplicaban a Versus. El nombre también aludía a los orígenes de BIRC como reemplazo de ViRC.

Object Versus , u OVS, se refiere a las características orientadas a objetos de Versus. Los scripts pueden definir clases y trabajar con objetos y métodos en lugar de datos textuales y alias ; sin embargo, en la práctica, OVS se utiliza principalmente para manipular los objetos VCL que conforman la interfaz de ViRC.

Almacenamiento de scripts

Los scripts se almacenan en archivos, generalmente con la extensión de archivo .vsc , aunque a veces se utiliza la extensión .lib. Un archivo de script de Versus simplemente contiene instrucciones que se deben interpretar cuando se carga el script; cualquier bloque definido en un script (ver a continuación) reemplazará los bloques definidos con el mismo nombre por scripts anteriores.

Bloques que se pueden definir en un script

  • Los alias son subrutinas . Se pueden llamar desde la línea de entrada de comandos de cualquier ventana o desde otras partes del script. Los alias que devuelven un valor se denominan funciones; un alias puede determinar si se espera que devuelva un valor y, luego, actuar como una función o un comando según corresponda.
  • Las clases se utilizan en la programación orientada a objetos (OVS). Cada clase puede contener propiedades , métodos , un constructor y un destructor .
  • Los eventos se utilizan para manejar mensajes del servidor IRC , así como ciertas ocurrencias a nivel de sistema o de cliente, como completar una transferencia de archivos o abrir una nueva ventana.
    • Los eventos del servidor utilizan expresiones regulares o los propios caracteres comodín de Versus para hacer coincidir los mensajes del servidor. Si varios eventos del servidor coinciden con un mensaje en particular, solo se ejecutará el que tenga la prioridad más alta (calculada a partir de la longitud del patrón y el "valor" relativo de los caracteres comodín que contiene).
    • Los eventos de cliente se identifican por nombre: por ejemplo, <OnCreateWindow_foo> y <OnCreateWindow_bar> se ejecutarán cuando se abra una nueva ventana. También pueden incluir patrones, que limitan las instancias particulares que pueden activar ese evento (por ejemplo, ejecutarse solo cuando se crea una nueva ventana de canal ).
  • Los árboles de menú y los elementos de menú definen los menús contextuales que pueden aparecer para varios elementos de la interfaz del cliente, así como el menú principal que siempre está visible. Los bloques de árboles de menú definen el diseño del menú y establecen títulos para cada elemento; los bloques de elementos de menú definen el código de script que se ejecutará cuando se haga clic en un elemento.
  • Las barras de herramientas y los elementos de las barras de herramientas son similares al árbol de menús y a los bloques de elementos de menús, pero definen las barras de herramientas asociadas a cada ventana. Se pueden agregar nuevas barras de herramientas a la interfaz simplemente eligiendo un nombre único.

Los alias, métodos (incluidos constructores y destructores), eventos, elementos de menú y elementos de la barra de herramientas se denominan rutinas o bloques de código.

Almacenamiento de datos

Archivos

  • Los scripts pueden acceder a archivos con las funciones $RandomRead() y $ReadLine(), y los comandos CreateFile y AppendText.
  • Los scripts también pueden usar la clase VCL TStringList para leer un archivo de texto completo en la memoria, manipularlo y guardarlo.

Variables

  • Todas las variables pueden contener hasta 4 GiB de datos.
  • Los nombres de variables comienzan con un signo de dólar ($) y una letra mayúscula, una letra minúscula o un guión bajo.
  • Las variables pueden contener cualquier carácter, aunque normalmente se utilizan para texto imprimible.
  • Las variables locales se configuran con el @Lcomando y solo existen en el contexto de la rutina que las creó. Se eliminan cuando finaliza la rutina. Algunas variables locales están predefinidas, como $C para el nombre del canal actual.
  • Las variables globales se configuran con el @comando y se puede acceder a ellas desde cualquier rutina. Se eliminan cuando el cliente sale. Los alias pueden devolver un valor configurando la variable global $fresult.
  • Las variables almacenadas se configuran con el @Scomando y, al igual que las variables globales, se puede acceder a ellas desde cualquier lugar. Sus valores se guardan en un almacenamiento persistente de inmediato y se restauran la próxima vez que se inicia el cliente.

Matrices asociativas

  • Las matrices asociativas asignan claves a valores.
  • Las claves y los valores pueden contener hasta 4 GiB de datos sin límites en los caracteres permitidos.
  • Se pueden configurar valores de matriz locales, globales y almacenados mediante los comandos @L, @y @S, y se comportan igual que las variables correspondientes. Cuando se configura un valor de matriz almacenado, se guarda toda la matriz.
  • La sintaxis $arrayname[key]se utiliza para establecer o recuperar el valor de una clave particular.
  • La sintaxis $arraynamepor sí sola trata una matriz como una lista de pares clave-valor, lo que permite que un script establezca todo el contenido de una matriz a la vez o itere a través de las claves que ya están presentes.

Pseudovariables

  • Las pseudovariables (o pvars) son similares en sintaxis a las variables, pero sus valores no se pueden cambiar.
  • Las pvars $0 a $9 contienen los parámetros que se pasaron a la rutina actual, en orden. $0 contiene el nombre de la rutina, $1 contiene la primera palabra de la cadena de parámetros, y así sucesivamente.
  • Las pvars $0- a $9- contienen los parámetros que se pasaron a la rutina actual, más todos los parámetros siguientes. $0- contiene el nombre de la rutina y la cadena de parámetros completa, $1- contiene todos los parámetros, $2- contiene todos los parámetros después del primero, y así sucesivamente.
  • La secuencia especial $?="PROMPT STRING"hace que aparezca un cuadro de diálogo que solicita al usuario que ingrese un valor.

Ejemplos de código

Aquí está el ejemplo de código Hola Mundo :

Alias ​​HOLA
  TextOut > $C clBlack ¡Hola, mundo!
Fin de alias

A continuación se muestra un ejemplo para contar hasta diez:

Alias ​​DIEZ
  para (@l $i = 1; $i <= 10; $i++)
    Texto saliente > $C clBlack $i
  fin para
Fin de alias

A continuación se muestra un ejemplo para convertir a todos en el canal actual en operadores :

Alias ​​MASSOP
  para cada ($a,$b,$c,$d; $lista de apodos($C))
    Modo $C +oooo $a $b $c $d
  fin de cada
Fin de alias

Referencias

  1. ^ https://sourceforge.net/projects/visualirc/files/ViRC/2.0pl2/

Lectura adicional

  • Charalabidis, Alex (1999). "Clientes de IRC para Windows: Visual IRC" . El libro de IRC: la guía definitiva para el chat por Internet . No Starch Press . Págs. 37–38. ISBN. 1-886411-29-8.
  • Forrest Stroud (8 de abril de 2004) Visual IRC [usurpado] , Reseñas de software de WinPlanet
  • Página de inicio de Visual IRC
  • Reseñas del sitio web
  • Lista de características y capturas de pantalla
  • Página del proyecto SourceForge
  • Colección de scripts de ViRC
  • ViRC DocCenter (referencia de idioma Versus)
  • Clientes IRC para Windows: lista de 60 aplicaciones, lista preparada por ircreviews.org
Retrieved from "https://en.wikipedia.org/w/index.php?title=Visual_IRC&oldid=1247096740"