Manuel Amos Professional  Sommaire  Index

Panneaux de controle avances


Les programmes Interface sont termines et retires de la memoire immediatement. Si ces programmes contiennent une commande SA, les zones de fond originales seront restaurees proprement sur l affichage.

Tout canal actif peut etre ferme avec cette commande, en specifiant simplement son numero. Si aucun numero n est donne, tous les canaux Interface en cours seront desactives. Voir aussi la commande DIALOG FREEZE ci-dessous pour une alternative moins radicale !

EDIALOG
fonction : localiser une erreur dans un programme Interface
position = Edialog

Des qu une erreur survient dans un programme Interface, sa position peut etre determinee rapidement avec la fonction EDIALOG. La section correspondante de la chaine Interface sera affichee a l ecran, ce qui permet d identifier la source du probleme. En pratique, les erreurs les plus frequentes sont causees par l oubli ou le mauvais emploi du caractere point-virgule !

Voici un petit gestionnaire d erreurs utile a integrer dans vos programmes :

X> On ErrOr Goto TRAP : Rem Ajouter avant un appel a DIALOG OPEN
   ... : Rem Le reste de votre programme ici
   TRAP: Print Mid$(DB$,Edialog,80) : Wait Key : End : Rem Gestion de l erreur

Tester une zone active

DIALOG
fonction : retourner l etat d une boite de dialogue ouverte
bouton = Dialog(numero de canal)

Cette fonction fournit un moyen simple de verifier si une option a ete selectionnee dans un panneau de controle. Il suffit de specifier le numero du canal ouvert a tester.

Apres appel de cette fonction, l un des resultats suivants sera retourne :

< 0  Une valeur negative signifie que le canal est inactif (non attribue ou quitte).
= 0  Aucune entree utilisateur n a ete detectee depuis le dernier test.
> 0  Une valeur positive indique le numero du dernier bouton selectionne.
     Pour les zones de saisie, une valeur est retournee uniquement lorsque la touche [Return] est pressee.

Apres la lecture de la valeur retournee par DIALOG, celle-ci est automatiquement reinitialisee a zero.

Retour    Suivant
09.03.03