TAB()
DESCRIPTION.
L'instruction TAB() permet de positionner manuellement le curseur textuel. .
SYNTAXE.
TAB( colonne )
TAB( colonne , ligne )
REMARQUES.
La forme TAB( colonne ), où colonne doit être un nombre entier compris entre 0 et le nombre de colonnes de la surface textuelle, compare colonne à la valeur retournée par l'instruction COUNT, avant de positionner le curseur textuel sur la colonne colonne de la ligne courante ou de la ligne suivante.
Attention, la fonction TAB() ne doit pas être utilisée seule, elle doit toujours être précédée d'une instruction PRINT.
Si colonne est inférieure à la valeur retournée par l'instruction COUNT, le curseur textuel sautera à la colonne colonne de la ligne suivante. Des caractères d'espacement, code ASCII 32, seront affichés de la colonne 0 à la colonne colonne - 1.
MODE 8
PRINT "BBC BASIC for SDL 2.0" ;
ksymboles$ = STR$( COUNT ) : REM - retourne le nombre de symboles affichée sur la ligne courante
COLOUR 2 : COLOUR 132
PRINT TAB( 12 ) : REM - place le curseur textuel à la colonne 13 sur la ligne suivante
PRINT STR$( GET( 10 , 1 ) ) : REM - affiche le code ASCII du symbole en colonne 10 de la ligne 1
PRINT ksymboles$ : REM - affiche le nombre de symboles affichée sur la ligne 0
Si colonne est supérieur ou égal à la valeur retournée par l'instruction COUNT, le curseur textuel est déplacé à la colonne colonne sur la ligne courante. Des caractères d'espacement, code ASCII 32, seront affichés de la colonne ayant la valeur de COUNT à la colonne colonne - 1.
MODE 8
PRINT "BBC BASIC for SDL 2.0" ;
ksymboles$ = STR$( COUNT ) : REM - retourne le nombre de symboles affichée sur la ligne courante
COLOUR 2 : COLOUR 132
PRINT TAB( 30 ) : REM - place le curseur textuel à la colonne 30 sur la ligne courante
PRINT STR$( GET( 28 , 0 ) ) : REM - affiche le code ASCII du symbole en colonne 28 de la ligne 0
PRINT ksymboles$ : REM - affiche le nombre de symboles affichée sur la ligne 0
N.B. : dans les deux exemples ci-dessus, les valeurs numériques sont converties en valeurs alphanumériques pour ne pas être affichées en tenant compte des zones d'affichage.
La forme TAB( colonne ) est principalement utilisée pour positionner la tête d'impression de l'imprimante.
La forme TAB ( colonne , ligne ) permet de déplacer le curseur textuel, n'importe où dans la surface textuelle :
- colonne indique le rang de la colonne dans la surface textuelle et ;
- ligne indique le rang de la ligne dans la surface textuelle.
colonne doit être un nombre entier compris entre 0 et le nombre de colonnes de la surface textuelle et ligne doit être un nombre entier compris entre 0 et le nombre de lignes de la surface textuelle. Le curseur textuel devant toujours être localisé dans la surface textuelle, des valeurs de colonne et/ou de ligne incorrectes seront interprétées, en faisant défiler les textes si besoin, pour que le curseur textuel reste dans la surface textuelle.
Attention, la fonction TAB() ne doit pas être utilisée seule, elle doit toujours être précédée d'une instruction PRINT.
Si la fonction TAB() est suivie d'une liste d'impression, celle-ci débutera à la position ( colonne , ligne ). Par contre, s'il n'y a pas de liste d'impression, et que la fonction TAB() :
- est suivie de point-virgule, la liste d'impression suivante débutera à la position ( colonne , ligne ) ;
- n'est pas suivie de point-virgule, la liste d'impression suivante débutera à la position ( 0 , ( ligne + 1 ) ).
Contrairement à la forme TAB( colonne ), aucun de caractère d'espacement, code ASCII 32, seront affichés de la colonne 0 à la colonne colonne - 1.
MODE 8
COLOUR 2 : COLOUR 132
PRINT "( 0 , 0 ) <<< origine du curseur textuel"
PRINT TAB( 14 , 5 ) ; ". <<< TAB ( 14 , 5 )"
PRINT TAB( 3 , 17 ) ". <<< TAB ( 3 , 17 )"
PRINT TAB( 10 , 8 ) ; ". <<< TAB ( 10 , 8 )"
PRINT ". <<< ( 0 , 9 )"
PRINT TAB( 17 , 22 )
PRINT ". <<< ( 17 , 22 )"
PRINT TAB( 24 , 12 )
PRINT ". <<< ( 0 , 13 )"
PRINT TAB( 37 , 19 ) ; ". <<< TAB ( 37 , 19 )"
Notez que le curseur textuel se trouve, à la fin de cet exemple, ( 0 , 20 ). Si on ne donnait pas la liste d'impression : ". <<< TAB ( 37 , 19 ) ;", le curseur textuel se placerait en ( 37 , 19 ).
La commande VDU 31 est un synonyme de l'instruction TAB() qu'on lui préférera.
RUBRIQUES.
Voir l'affichage des textes pour plus de détails sur la surface textuelle.
EXEMPLES.
PRINT "Appuyez sur les touche fleches pour deplacer le curseur,"
PRINT "ou sur Q pour quitter."
kcolonne = 40
kligne = 12
REPEAT
PRINT TAB( kcolonne , kligne ) ;
ktouche$ = GET$
CASE ASC( ktouche$ ) OF
WHEN 136 : kcolonne -= 1
WHEN 137 : kcolonne += 1
WHEN 138 : kligne += 1
WHEN 139 : kligne -= 1
ENDCASE
UNTIL ktouche$ = "Q" OR ktouche$ = "q"
PRINT "Fin du test. Au revoir."
END
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.