DIALOG RUN
fonction : executer une boite de dialogue depuis un canal ouvert
bouton = DIALOG RUN(numero de canal)
bouton = DIALOG RUN(numero de canal, etiquette, x, y)
Comme son nom l indique, DIALOG RUN execute un programme Interface a partir d un canal specifie, precedemment ouvert avec DIALOG OPEN. Ce programme Interface s execute maintenant en arriere-plan, laissant le programme principal AMOS Professional continuer avec l instruction suivante, tant que le programme Interface ne contient pas d instruction RunUntil.
L utilisation d une instruction RunUntil forcera le programme Interface a se comporter comme la fonction DIALOG BOX classique, prenant le controle total du systeme et ne retournant que lorsque l utilisateur clique sur un bouton de sortie ou annule avec [Ctrl]+[C]. Dans ce cas, la valeur retournee dans "bouton" contiendra le numero du dernier bouton presse.
Les parametres pour la fonction DIALOG RUN sont tres simples. Il faut d abord specifier le numero d un canal deja ouvert, puis une etiquette (label) depuis laquelle le programme doit commencer dans la chaine d instructions Interface. Si aucune etiquette n est specifiee, le programme Interface commencera par la premiere routine de la liste. Des coordonnees optionnelles x, y peuvent etre utilisees pour positionner le panneau de controle a l ecran, et toutes les coordonnees graphiques seront mesurees a partir de ce point.
Important : si une commande BAse est incluse dans le programme, les nouvelles coordonnees x,y seront ignorees. Les coordonnees optionnelles peuvent aussi etre donnees sans etiquette, tant que les virgules sont correctement placees. Exemple :
X> Dialog Run(1,,x,y)
Voici un exemple de programme fonctionnel :
E> A$=A$+"BA 50,50;SI 180,60;SA 1 ;IN 5,0,0;GB 0,0,170,50;" A$=A$+"PO 10,10,'Clavier Simple',2,4;" Rem Definir deux boutons a retour rapide A$=A$+"BU 1,10,28,24,10,0,0,1;[IN 0,BP 2*,0;SW 1;PR 4,2,' 1 ',4;][BR 0;NW;]" A$=A$+"BU 2,70,28,24,10,0,0,1;[IN 0,BP 2*,0;SW 1;PR 4,2,' 2 ',4;][BR 0;NW;]" A$=A$+"EXit;" Dialog Open 1,A$ : Rem Ouvrir un canal vers le programme Interface contenu dans A$ R=Dialog Run(1) : Rem Executer le programme Rem Lire chaque touche des qu elle est pressee Repeat P=Dialog(1) : Rem Verifier si un bouton a ete selectionne If P<>0 Then Play P*10,10 Until Inkey$<>"" Dialog Close
DIALOG CLOSE
instruction : fermer un ou plusieurs canaux de dialogue
Dialog Close
Dialog Close numero de canal
Cette commande ferme un ou plusieurs canaux de dialogue actifs a l ecran.