Ce chapitre devoile la veritable puissance de l Interface AMOS Professional, et traite de la creation de panneaux de controle avances, de canaux de dialogue, de zones d edition et de curseurs.
Le chapitre precedent expliquait comment de simples boites de dialogue attendaient une selection de l utilisateur, puis retournaient immediatement au programme principal AMOS Professional avec le resultat. Mais cela n utilise qu une fraction du systeme. En realite, l Interface est capable de faire fonctionner une boite de dialogue completement en arriere-plan, exactement comme un menu AMOS Professional.
Un panneau de controle peut etre affiche en permanence a l ecran, et chaque selection de bouton peut etre lue instantanement depuis le programme principal, sans aucune interruption de ce programme. Cela signifie qu un jeu peut continuer ses calculs pendant que l utilisateur entre de nouvelles valeurs dans une boite de dialogue.
Pour acceder a ces fonctionnalites, une petite preparation est necessaire pour exploiter les canaux de dialogue.
Canaux de dialogue
DIALOG OPEN
Instruction : ouvrir un canal vers un programme Interface
Dialog Open numero de canal,chaine Interface
Dialog Open numero de canal,chaine Interface,nvar,buffer
La commande DIALOG OPEN ouvre un "canal de communication" vers un nouveau programme, et le charge avec une liste d instructions Interface. En cas de probleme, un message d erreur approprie s affichera, et les erreurs pourront etre localisees avec la fonction EDIALOG, expliquee plus loin.
Les parametres de DIALOG OPEN sont les suivants : tout d abord, le numero du canal a ouvrir, en commencant par 1. Tant qu il y a assez de memoire, vous pouvez ouvrir autant de canaux que vous le souhaitez. Une chaine doit ensuite etre specifiee, contenant un ou plusieurs programmes Interface a initialiser. Si cette chaine contient plusieurs programmes, chaque routine doit commencer par une instruction LAbel et se terminer par une commande EXit.
Par defaut, AMOS Professional reserve de la place pour 17 variables differentes dans chaque canal Interface (0 VA a 16 VA). Si plus de variables sont necessaires, ce tableau peut etre etendu avec le parametre optionnel nvar. Chaque variable supplementaire occupe 4 octets de memoire. Un autre parametre optionnel alloue des octets pour un tampon de memoire interne utilise par les programmes Interface. Ce tableau contient toutes les informations necessaires pour afficher des boites de dialogue et des selecteurs a l ecran. Par defaut, 1k est reserve pour chaque canal defini, mais si les besoins sont complexes, cette valeur devra etre augmentee. Un message d erreur s affichera automatiquement si l allocation actuelle est insuffisante.
Notez que la commande DIALOG OPEN ne fait qu initialiser le canal de communication, elle ne demarre pas le programme ni ne genere de graphismes a l ecran. Pour cela, il faut utiliser la fonction suivante.