# Visual DialogScript

Visual DialogScript (VDS) is an interpreted programming language for Microsoft Windows, using dialog and graphic elements to create programs. VDS is similar to other programming languages such as Visual Basic, C++, or Delphi, as they use Windows API.

## Language

The syntax of VDS is straightforward. Each command occupies one line and has a plain English name that clearly describes its purpose. Variables are typeless and can hold many kinds of information, such as numbers or text. Functions are clearly distinguishable with names that start with '@', similar to a spreadsheet.
The DialogScript language has a syntax similar to the MS-DOS batch language. It is designed for ease of use and efficiency when being interpreted by the run-time engine. There are 10 system variables, %0 to %9, which initially have the script file name in %0 and command line parameters in %1 through %9, just as in a batch file. There are also a further 26 user variables, from %A to %Z. The contents of all variables (including system ones) can be changed once the script is running. There are now also 4032 global variables. These variables begin with %%, a letter, then alphanumerics plus underscores (e.g., %%my_variable_1.) There is no limit on the length of these user-defined variable names.

## Syntax examples

Comments:
* # This is a single line comment
* REM This is a single line comment
Simple Information Message Box:
* info "This is the information text"
Simple Warning Message Box:
* warn "This is the warning text"
Create a custom dialog box:
* dialog create,<name>,<top pixel position>,<left pixel position>,<width in pixels>,<height in pixels>
Write to the Windows Registry:
* registry write,<root key>,<key>,<subkey>,<data>
Display an input prompt dialog box, storing the result in the variable %A:
* %A = @input("Please enter a value:")

## History

Julian Moss (1953 – October 24, 2014[1]) of JM-Tech/Tech-Pro Ltd. created Visual DialogScript. In 1998, after version 3.0, Emmanuel Daunizeau of S.A.D.E. Sarl took over the ownership and development of VDS. He modified and improved its syntax. The British company Commercial Research Ltd. currently markets VDS, though it is still the property of Emmanuel Daunizeau, who continues to develop it.
The developers have released several versions of VDS over time.
* Visual DialogScript 2.0
* Visual DialogScript 2.5
* Visual DialogScript 3.0
* Visual DialogScript 3.5
* Visual DialogScript 4
* Visual DialogScript 4.5
* Visual DialogScript 5
* Visual DialogScript 5.01
* Visual DialogScript 5.02
* Visual DialogScript 6

## Currently available versions

There are several versions available for download:
* Personal Visual DialogScript (PVDS) 4: This freeware version is intended for students and home PC users. The package includes a tutorial and online help. The software is not licensable for commercial use. This version is incapable of producing compiled executable files; however, compiling files is not necessary, as a script file can be executed directly by opening it from Windows Explorer on any system that has PVDS installed on it.
* Visual DialogScript 2.5 (16-Bit Edition): This version marked the last release for Windows 3.1+ (16-bit).
* Visual DialogScript 5: This version is intended for power users, business users, and professional developers who use—or are developing scripts for—Windows 95/98/ME or Windows NT/2000/XP. This version can create compiled executable files, and includes a royalty-free run-time license (once registered). Additional features include an icon editor and support for many add-on extensions. As a 32-bit program, it supports long filenames, taskbar tray icons, unlimited length strings, and string lists, and the Windows Registry. This legacy version is now available for download for registered users and is not available for purchase.
* Visual DialogScript 6: The newest version of Visual DialogScript improves upon Visual DialogScript 5 and adds full support for Windows Vista. Additionally, the registered version can now create standalone compiled executable files that do not require an external runtime file.