Hans Prestige Visual IRC
Visual IRC
   Features & Screenshots
   Download ViRC!
   Scripts

   Visual IRC Forum
   Chat in Undernet #ViRC

   Awards and Reviews
   About the Author
   About the Technology
ViRC Antique Shop

Visual IRC's Technology

This page is a work in progress. Please check back in the future for more detailed descriptions.

Protocols

File Formats

  • .CHAT - Saved server/channel connection
  • .VSC - Versus script
  • .VSL - ViRC server list

Plugin Interfaces

  • COM/OLE Automation
  • mIRC compatible DLLs (load, execute, unload)
  • ViRC-specific persistent DLLs (load, execute, execute, ..., unload)
  • ViRC plugin BPLs (not available in 2.0RC5 and earlier)
  • DDE

Components

The following native Delphi components may be licensed for use in other applications; contact the author for more information.

Versus script engine - TVSInterp

Although the Versus language is based on Adrian Cable's ViRCScript, the Versus interpreter has been designed to be useful in other applications. Some features of the interpreter are currently unused by ViRC.

  • Dozens of builtin commands and functions
  • Host application can define commands, functions, classes, singleton objects, and tied variables
  • Host application can expose forms, objects, Delphi classes, and Automation interfaces via ObjectVersus
  • Builtin support for aliases (and alias sharing between interpreters)
  • Routines to create VCL menu items from MenuTree definitions
  • Host application must provide linking routines to use events, menus, toolbars, and stored/shared global variables
  • Supports Delphi exception handling

Display console - TMonkeyScroller

  • High performance, read only text control, designed for showing messages in real time
  • Inline graphics (flowing with the text, may specify "alt text" to be copied to the clipboard) and out-of-line graphics (confined to the left margin, cannot be selected)
  • Tiled background images with adjustable offset (for "transparent" windows, a.k.a. continuous backgrounds)
  • Full IRC attribute support: bold, underline, reverse, italic, normal, fixed-pitch, 16 color, RGB color, plus hyperlinks and script links (clickable text and graphics)
  • Special "lookup" blocks allow the host application to change messages that have already been added (e.g. change event colors, timestamp formats, show/hide host masks)
  • Scrollback buffer with user-defined size
  • Automatic timestamping with custom format and display toggle
  • Optionally copies attribute codes along with highlighted text
  • Can use flat scroll bars
  • Can disable wrapping, allowing the user to scroll horizontally

Preferences management - TSettings

  • Provides one simple interface for both registry and INI settings
  • Design-time editor for the most common setting types
  • Events and custom setting types for handling more complex settings
  • Settings created with the editor are mapped to published properties of a settings class, which must be defined by the host application

Mouse gesture support - TGestures

  • Used by the vp_gestures.bpl plugin
  • Recognizes gestures drawn on any window of the host application
  • Optional mouse tracers give visual feedback
© Jesse McGrew 2001-2007