zonsui permet de dérouter la suite de la saisie en donnant le nom du champ suivant.
# Etiquette de contrôle sur un champ CHAMP
# En cas d'erreur, on veut revenir sur ce champ sans "bip"
CHAMP
Gosub CONTROLE
If CONTROLE = FAUX
zonsui = "CHAMP"
Endif
End
# Extrait d'un programme appelé par une étiquette de contrôle sur une
# variable dimensionnée. En cas d'erreur, on veut revenir à la ligne
# précédente sur le même champ.
If ERREUR
zonsui = "CHAMP(" + num$(indice - 1) + ")"
Endif
# Si Saisie dans un tableau déroulant : retour en 1ère ligne toujours en mode saisie
# Si Saisie hors du tableau déroulant : position en 1ère ligne en mode commande
zonsui = "BSTAB" :# BSTAB est le nom de la variable de bas de tableau
# Idem mais en se positionnant à la dernière ligne du tableau
# On remarquera que la variable de bas de tableau est traitée comme
# une variable dimensionnée !
Subprog APRES_BSTAB
zonsui = "BSTAB" + "(" + num$(max(0, BSTAB)) + ")"
zonsui est une variable alphanumérique dans laquelle on précise le nom du champ dont la saisie doit suivre. Ceci permet dans un traitement sur champ par exemple de changer le champ suivant à saisir.
La valeur par défaut de zonsui lorsqu'on arrive en étiquette de contrôle, d'initialisation ou d'aide, est toujours la chaîne vide "".
Dans le cas d'une modification de zonsui au cours d'un traitement sur champ, si la zone renseignée n'est pas saisissable, on se déroute sur la zone suivante (ou précédente si zonsui précède la zone courante).
Les déroutements par réaffectation de zonsui fonctionnent sur des zones de rang différent.
Les déroutements par réaffectation de zonsui fonctionnent sur des zones de masque différent.
Lorsque l'on désire au cours d'un contrôle de saisie empêcher la validation d'une zone sans envoyer un "bip" à l'écran, il suffit d'affecter à zonsui le nom de la zone sur laquelle le contrôle est fait. Ceci peut être fait, pour les zones non dimensionnées, par l'affectation :
zonsui = zoncou
Si la zone est dimensionnée, il faudra écrire :
zonsui = zoncou +"(" + num$(indice) + ")"
Positionner mkstat à 2 aurait le même effet.
L'option de saisie "H" permet également d'éviter le bip en cas d'erreur, mais elle s'applique aussi si un caractère incorrect est tapé.