// VDS 7 “Renaissance”
Exemple
Exemple complet en Visual DialogScript : WinTouch, un utilitaire glisser-déposer pour modifier la date et l'heure de fichiers, code commenté.
Voici un exemple de ce que l'on peut réaliser avec Visual DialogScript. Le dialogue ci-dessous est un utilitaire « touch » pour Windows, qui fixe les dates et heures d'un ensemble de fichiers à la valeur que vous indiquez.
WinTouch, l'utilitaire
Le programme utilise le glisser-déposer : vous faites simplement glisser les fichiers à « toucher » dans la liste, vous saisissez la date et l'heure, puis vous cliquez sur Touch.

Le code
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
Comment ça marche
D'abord, il vaut la peine de souligner que si vous utilisez l'assistant de dialogue pour générer le programme après avoir dessiné le dialogue dans le Dialog Editor, vous n'avez en réalité à écrire que dix lignes de code sur les 29 que compte ce programme.
La commande title fixe simplement le titre de l'application. La commande dialog create définit le dialogue lui-même et se crée via le Dialog Editor ; la seule modification consiste à insérer les deux appels à @datetime dans les deux éléments EDIT, qui initialisent les champs date et heure. Les paramètres DRAGDROP et SAVEPOS indiquent que le programme doit répondre au glisser-déposer et que le dialogue doit mémoriser la dernière position où on l'a placé à l'écran.
La commande dialog disable désactive le bouton Touch, afin qu'on ne puisse pas le presser si la liste est vide. Les lignes :again et :evloop sont des étiquettes. Les deux lignes après :evloop attendent qu'il se passe quelque chose (un « événement »), puis sautent vers l'étiquette dont le nom correspond au type d'événement. Il y a trois types d'événements possibles : TouchBUTTON, déclenché quand on presse le bouton Touch ; DRAGDROP, déclenché lors d'un glisser-déposer ; et CLOSE, déclenché quand l'utilisateur ferme le dialogue. DialogScript n'est pas sensible à la casse pour le traitement des étiquettes. Tout le code d'étiquettes et le squelette de gestion d'événements sont générés par l'assistant de dialogue ; votre seule contribution est d'insérer du code après les étiquettes d'événements pour définir ce que le programme doit faire.
L'événement DRAGDROP se traite simplement avec la commande list DROPFILES,FileList, qui ajoute à la liste les noms des fichiers glissés-déposés. Le programme revient ensuite à :evloop pour attendre le prochain événement. Les six lignes qui suivent :TouchBUTTON retirent les noms de fichiers de la liste, un à un, et utilisent la commande file setdate pour changer la date et l'heure selon les deux champs de saisie. Une fois tous traités, le programme boucle vers :again. L'action par défaut de l'événement CLOSE est de quitter le programme.
Diffuser ses scripts
Les versions Personal de Visual DialogScript sont prévues pour écrire des scripts destinés à tourner sur le même PC. Grâce au mécanisme d'association de fichiers de Windows, double-cliquer sur l'icône d'un script le lance. Un outil permet de créer des icônes de menu Démarrer pour les scripts que vous créez.
Les versions Standard et Professional peuvent produire des exécutables, distribuables avec un moteur d'exécution afin de tourner sur des PC dépourvus de licence Visual DialogScript. Aucune royalty n'est due pour distribuer le run-time. Cela fait de Visual DialogScript l'outil le plus économique lorsqu'il faut déployer des scripts à l'échelle d'une organisation : la plupart des langages de batch Windows doivent être licenciés poste par poste.
Une question sur les fonctionnalités de Visual DialogScript ? Consultez la page Support.
Construisez-le avec VDS 7.
L’IDE complet + le langage. Windows & Linux · 32/64-bit · Unicode.