// VDS 7 “Renaissance”
サンプル
Visual DialogScript の完全なサンプル:ファイルの日付と時刻を変更するドラッグ&ドロップユーティリティ WinTouch を、コメント付きコードで紹介します。
ここでは、Visual DialogScript で何ができるのかを示すサンプルを紹介します。以下に示すダイアログは、指定した値に従って一連のファイルの日付と時刻のスタンプを設定する、Windows 版の「touch」ユーティリティです。
ユーティリティ WinTouch
このプログラムはドラッグ&ドロップを使います。touch したいファイルをリストボックスにドラッグし、日付と時刻を入力して、Touch を押すだけです。

コード
TITLE WinTouch
DIALOG CREATE,WinTouch,-1,0,268,180,DRAGDROP,SAVEPOS
DIALOG ADD,TEXT,TEXT1,10,10,,,Files to touch:
DIALOG ADD,LIST,FileList,30,10,240,80
DIALOG ADD,TEXT,TEXT2,120,10,,,Date:
DIALOG ADD,TEXT,TEXT3,140,10,,,Time:
DIALOG ADD,EDIT,Date,120,40,60,,@datetime(ddddd)
DIALOG ADD,EDIT,Time,140,40,60,,@datetime(t)
DIALOG ADD,BUTTON,Touch,120,110,140,40,Touch!
DIALOG SHOW
:again
dialog disable,Touch
:evloop
wait event
goto @event()
:TouchBUTTON
list seek,FileList,0
repeat
%F = @item(FileList)
file setdate,%F,@dlgtext(time),@dlgtext(date)
list delete,FileList
until @zero(@count(FileList))
goto again
:DragDrop
list DROPFILES,FileList
dialog enable,Touch
goto evloop
:CLOSE
exit
仕組み
まず指摘しておきたいのは、Dialog Editor でダイアログをデザインしたあと Dialog Wizard でプログラムを生成すれば、このプログラム全体 29 行のうち、実際に自分で書く必要があるのはわずか 10 行だということです。
title コマンドは、アプリケーションのタイトルを設定するだけのものです。dialog create コマンドはダイアログそのものを定義するもので、Dialog Editor を使って作成されます。唯一の手直しは、2 つの EDIT ダイアログ要素に 2 つの @datetime 関数呼び出しを挿入し、2 つの編集フィールドに初期の日付と時刻を設定することです。DRAGDROP と SAVEPOS のパラメーターは、プログラムにドラッグ&ドロップ操作へ反応させたいこと、そしてダイアログに画面上で最後に置いた位置を記憶させたいことを指定しています。
dialog disable コマンドは Touch ボタンを無効にし、リストにファイルが 1 つもないときに押せないようにします。:again と :evloop の行はラベルです。:evloop のあとの 2 行は、何かが起こる(イベントと呼ばれます)のを待ち、そのイベントの種類に対応する名前のラベルへジャンプします。イベントには 3 つの種類があります。Touch ボタンが押されたときに発生する TouchBUTTON、ドラッグ&ドロップ操作が行われたときに発生する DRAGDROP、そしてユーザーがダイアログを閉じたときに発生する CLOSE です。DialogScript はラベルの扱いにおいて大文字・小文字を区別しません。Dialog Wizard を使えば、すべてのラベルとイベント処理のスケルトンコードが生成されるので、あなたの仕事はイベントラベルのあとにコードを挿入して、プログラムに何をさせるかを定義することだけです。
DRAGDROP イベントは、list DROPFILES,FileList コマンドだけで処理されます。これはドラッグ&ドロップされたファイルの名前をリストボックスに追加します。その後プログラムは :evloop に戻り、次のイベントを待ちます。:TouchBUTTON に続く 6 行は、リストボックスからファイル名を 1 つずつ取り除き、file setdate コマンドを使って、日付と時刻を 2 つの編集フィールドで指定された値に変更します。すべて処理し終えると、プログラムは :again へとループバックします。CLOSE イベントの既定の動作は、プログラムを終了することです。
スクリプトの実行
Visual DialogScript の Personal バージョンは、同じ PC 上で実行するスクリプトを書くために設計されています。Windows に組み込まれたファイル関連付けの仕組みを使い、スクリプトのアイコンをダブルクリックするとそのスクリプトが実行されます。作成したスクリプトのスタートメニューアイコンを作れるツールも用意されています。
Standard および Professional バージョンでは、ランタイムエンジンと一緒に配布できる実行可能ファイルを作成でき、Visual DialogScript のライセンス版がインストールされていない PC 上でも実行できます。ランタイムの配布にロイヤリティの支払いは不要です。これにより、スクリプトプログラムを組織全体に配布する必要がある場合、Visual DialogScript は最もコスト効率の高いツールとなります。ほとんどの Windows バッチ言語は、システムごとにライセンスを取得しなければなりません。
Visual DialogScript の機能について、ほかにご質問がありますか?サポートページをご覧ください。
VDS 7 で作ろう。
完全な IDE + 言語。Windows & Linux · 32/64 ビット · Unicode。