ON UEVENT GOSUB |
Dans événement utilisateur aller au sous-programme |
QuickBASIC/QBasic |
Syntaxe
Paramètres
Nom |
Description |
ligne |
Ce paramètre permet d'indiquer le numéro de ligne ou étiquette du sous-programme |
Description
Cette commande permet la détection d'erreur définissant le gestionnaire d'événements pour un événement défini par l'utilisateur.
Remarques
- Le paramètre ligne est le numéro ou l'étiquette de la première ligne de la routine de gestion des événements. ON UEVENT GOSUB permet à votre programme de se connecter à une routine de
gestion d'événements lorsqu'un événement défini par l'utilisateur se produit. L'événement est généralement une interruption matérielle.
- Cette situation donne aux événements définis par l'utilisateur l'une des fonctionnalités dont bénéficient les événements COM, KEY et autres dans QBASIC ou QuickBASIC. Une fois
que ces événements ont été définis avec une instruction d'événement ON, ils agissent comme des interruptions. Le programme n'a pas besoin d'interroger l'événement.
- De même, une fois que ON UEVENT GOSUB et UEVENT ON ont été exécutés, l'événement défini par l'utilisateur déclenche automatiquement l'exécution de la routine QBASIC ou QuickBASIC
pour le gérer. Le programme n'a pas besoin d'interroger.
- Au moins deux (et parfois trois) morceaux de code sont nécessaires pour configurer un événement défini par l'utilisateur. Le premier est la routine de service d'interruption, le second est une
routine d'initialisation pour insérer l'adresse de la routine de service dans la table de vecteurs d'interruption, le troisième est la routine que votre programme QBASIC ou QuickBASIC appelle
pour récupérer les données (le cas échéant) collectées par la routine de service d'interruption.
- Si la routine d'initialisation «vole» une interruption utilisée par une autre routine de service, l'adresse d'origine doit être restaurée avant la fin de votre programme.
- Ces routines sont généralement écrites en langage assembleur. Cependant, tout langage dont le compilateur peut générer des routines de service d'interruption et dont le code objet peut être lié à QBASIC
ou QuickBASIC peut être utilisé.
- Il y a quatre étapes pour créer un événement défini par l'utilisateur : Écrire une routine de gestion des événements et ajoutez-la à votre programme QBASIC ou QuickBASIC, exécute
l'instruction ON UEVENT GOSUB pour spécifier la routine de gestion des événements utilisateur, exécute l'instruction ON UEVENT pour activer l'interception d'événement utilisateur, appelez le
sous-programme d'initialisation d'interruption pour insérer l'adresse du sous-programme de service d'interruption dans la table de vecteurs d'interruption.
- Lorsque l'interruption se produit, l'interruption transfère l'exécution au sous-programme de service d'interruption. La routine de service collecte et entrepose les données souhaitées par l'utilisateur.
Il appelle ensuite SetUEvent. La routine SetUEvent définit un indicateur vérifié par QBASIC ou QuickBASIC avant de passer à l'instruction QBASIC ou QuickBASIC suivante
(ou étiquette si vous exécutez du code compilé en utilisant /W au lieu de /V). Lorsque l'indicateur est défini, le contrôle passe au sous-programme de gestion d'événements désigné dans
ON UEVENT GOSUB.
- La procédure SetUEvent fait partie de BASIC et est automatiquement incluse dans les applications compilées ou lors de l'exécution de QuickBASIC avec l'option de ligne de commande /L.
Votre routine de service d'interruption doit appeler SetUEvent; c'est le seul moyen d'alerter votre programme que l'événement s'est produit. Vous pouvez appeler SetUEvent à partir de n'importe
quel langage de programmation, pas seulement du langage d'assembleur.
- Le SetUEvent n'est pas une fonction; il ne peut pas renvoyer une valeur à BASIC. Si vous souhaitez renvoyer une valeur, vous devez écrire une fonction à appeler par votre programme BASIC.
(Elle est généralement appelée par votre routine de gestion d'événements.) Cette fonction doit être décrite dans une instruction DECLARE afin que votre programme BASIC
puisse la trouver et l'utiliser.
- Bien que ON UEVENT GOSUB lie une routine de gestion d'événements à un événement défini par l'utilisateur, il n'active pas l'interruption d'événements. L'instruction UEVENT est utilisée pour activer,
désactiver et suspendre l'interception d'événements définis par l'utilisateur.
Dernière mise à jour : Vendredi, le 4 décembre 2020