// VDS 7 “Renaissance”

言語

DialogScript 言語:シンプルな構文、変数、コマンド、100 を超える関数、ダイアログ要素、そしてコンパイラディレクティブ。

ほかのプログラミング言語とは違い、DialogScript の構文はきわめてシンプルです。各コマンドは 1 行を占め、その目的をはっきりと表す平易な英語の名前を持っています。

構文

変数は型を持たず、数値やテキストなどさまざまな種類の情報を保持できます。関数は、表計算ソフトと同じように「@」で始まる名前を持つため、ひと目で見分けがつきます。

DialogScript 言語は、MS-DOS のバッチ言語に似たシンプルな構文を備えています。ランタイムエンジンによって解釈される際の使いやすさと効率を重視して設計されています。10 個のシステム変数(%0 から %9)があり、バッチファイルと同様に、初期状態では %0 にスクリプトファイル名、%1 から %9 にコマンドライン引数が格納されます。さらに 26 個のユーザー変数(%A から %Z)もあります。すべての変数(システム変数を含む)の内容は、スクリプトの実行中に変更できます。加えて、現在では 4032 個のグローバル変数も利用できます。これらの変数は %% で始まり、続いて 1 文字、その後に英数字とアンダースコアが並びます(例:%%my_variable_1)。こうしたユーザー定義の変数名の長さに制限はありません。

ダイアログ機能

スクリプトプログラムは、開発環境を使ってその場でテストできます。その後、ほかの Windows アプリケーションと同じように実行できる実行可能ファイルを作成できます。Visual DialogScript で作成した実行可能ファイルと、それに必要なランタイムファイルは、ロイヤリティ無料で配布できます。インターネットでの配布を目的としたプログラムを作る場合、Visual DialogScript のランタイムファイルは、同等のほかのどの開発システムよりも小さいことにご注目ください。

Visual DialogScript を使えば、完全にバックグラウンドで静かに動作するプログラム、コンソールウィンドウを使うプログラム、そしてグラフィカルユーザーインターフェース(GUI)を備えた Windows プログラムを作成できます。GUI を持つ DialogScript プログラムの多くは、サイズ固定のメインウィンドウまたはダイアログ(これが名前の由来です)を備えていますが、少しコードを加えるだけで、ウィンドウのサイズを変更できるプログラムも作れます。

GUI プログラムのユーザーインターフェースは、DialogScript のコードで作成します。このコードは自分で書くこともできますし、Dialog Designer を使ってプログラムのインターフェースを視覚的にデザインすることもできます(これが名前の「Visual」の部分の由来です)。Dialog Designer での作業を終えると、デザインを実現するコードが生成されます。そして、このコードを手作業で大きく書き換えすぎない限り、いつでも Dialog Designer で編集し直すことができます。

ダイアログ要素

ダイアログ要素とは、ウィンドウやダイアログ上に配置され、ユーザーが情報を受け取ってスクリプトプログラムと対話できるようにする、ボタン、入力ボックス、リストボックスといったものです。これらは DIALOG ADD コマンドで作成します。これらのコマンドのパラメーターでは、ダイアログ要素の種類、その名前(プログラム内でその要素を参照するために使います)、そして位置やサイズなど要素の作成に必要な情報を指定します。

<name> パラメーターは必須です。ほとんどのダイアログ要素では、少なくとも上端と左端の位置座標も必要です。残りのパラメーターの多くは省略可能で、空のままにしたり省略したりできます。省略した場合、DialogScript は適切な既定値を使用します。位置座標はダイアログウィンドウのクライアント領域を基準とします。パラメーターが存在する場合は、要素名のあとにカンマで区切って続けて記述します。

コマンド

ラベルとは異なり、コマンドは行の先頭の文字位置から始める必要はありません。読みやすさのために、スペースでインデントすることをおすすめします。コマンドは DialogScript 言語に組み込まれているか、拡張機能によって追加できます。DialogScript 5 では、ユーザー定義コマンドも使えます。

コマンドは、コマンド名(コマンドリファレンスを参照)のあとに、必要に応じて文字列が続く形をとります。この文字列は、コマンドへの引数(パラメーター)として使われます。多くのコマンドは引数が 1 つだけですが、複数のものもあり、その場合はカンマでパラメーターを区切ります。コマンドと最初のパラメーターの間はスペースで区切る必要があります。コマンドは大文字・小文字を区別しません。

コマンドの例をいくつか示します。

TITLE My first script
INIFILE WRITE,Reg_Info,UserName,Fred Bloggs

文字列には変数や関数の参照を含めることができ、これらはコマンドの実行前に評価されます。

関数

DialogScript には 100 を超える関数(関数リファレンスを参照)が用意されており、実行時に評価されて情報を含む文字列を返します。拡張機能によって関数を追加することもできます。DialogScript 5 では、ユーザー定義関数も使えます。

関数は @ 記号で始まり、続いて関数名が並びます。関数への引数は、丸括弧で囲まれた文字列の形で指定します。関数が引数をとらない場合でも、丸括弧は必ず記述する必要があります。複数の引数をとる関数では、引数をカンマで区切ります。

関数の例をいくつか示します。

%A = @ASK(Do you want to continue?)
%A = @EQUAL(%F,WIN.INI)

なお、@ 記号は関数を識別するために使われるため、二重引用符で囲まない限り、それ以外の目的(テキスト内での使用など)には使えませんのでご注意ください。

コンパイラ

Visual DialogScript で利用できるコンパイラディレクティブの一覧を示します。

  • #DEFINE COMMAND — VDS に組み込まれていないすべてのコマンド名を宣言します。
  • #DEFINE FUNCTION — VDS に組み込まれていないすべてのコマンド名・関数名を宣言します。
  • #RESOURCE ADD, ANIICON — アニメーションアイコンリソースを追加します。
  • #RESOURCE ADD, BITMAP — ビットマップリソースを追加します。
  • #RESOURCE ADD, CURSOR — カーソルリソースを追加します。
  • #RESOURCE ADD, ICON — アイコンリソースを追加します。
  • #RESOURCE ADD, TEXT — テキストリソースを追加します。
  • #RESOURCE ADD, — ユーザー定義タイプのリソースを追加します。
  • #INCLUDE — 複数のスクリプトファイルのコードをプログラムに取り込めるようにします。

VDS 7 で作ろう。

完全な IDE + 言語。Windows & Linux · 32/64 ビット · Unicode。