Chapitre 3
Liste complète des mots clés du BASIC AMSTRAD CPC6128
IMPORTANT
L'assimilation de la terminologie et de la notation adoptées dans ce chapitre est indispensable. Différents types de parenthèses expliquent l'entrée des commandes ; commencez donc par vous familiariser avec la signification de chacun.
Les commandes sans crochets doivent rester telles quelles. C'est le cas, par exemple, de la commande :
END
... et vous devez taper le mot END en toutes lettres.
Lorsqu'un élément apparaît entre parenthèses angulaires, < > comme :
<numéro de ligne>
il ne faut ni taper ces parenthèses, ni ce qu'elles renferment. L'exemple ci-dessus indique le type de données requises pour la commande. Par exemple :
EDIT <numéro de ligne>
...signifie que vous devez taper :
EDIT 100
Les parenthèses ( ) DOIVENT être tapées telles quelles. Dans l'exemple :
COS(<expression numérique>)
...l'expression numérique doit se trouver entre parenthèses. Par exemple :
PRINT COS(45)
Les crochets, pour finir, contiennent les éléments facultatifs d'une commande ou d'une fonction. Par exemple :
RUN [<numéro de ligne>]
...signifie que vous n'êtes pas obligé de faire suivre le mot clé RUN d'un paramètre, mais que vous pouvez, si vous le désirez, ajouter le paramètre <numéro de ligne>. La commande peut alors être entrée de deux manières
RUN ...ou... RUN 100
Caractères spéciaux
& ou &H Préfixe pour un nombre hexadécimal
&X Préfixe pour un nombre binaire
# Préfixe pour un canal d'entrées-sorties
Types de données
Les chaînes peuvent avoir de 0 à 255 caractères et sont désignées par < chaîne alphanumérique>. On peut adjoindre une chaîne à une autre avec le signe + et à condition que la chaîne qui en résulte ne dépasse pas 255 caractères.
Les entiers varient de -32768 à + 32767 et les nombres réels de - 1.7E + 38 à + 1.7E + 38, le plus petit nombre au dessus de zéro étant 2.9E-39 et chaque nombre ayant 9 à 10 chiffres significatifs.
Une <expression numérique> est une expression qui aboutit à une valeur numérique. Cela peut être des nombres, ou une variable numérique, ou des nombres opérant avec des variables numériques, à peu près tout ce qui n'est pas <chaîne alphanumérique>.
Un < numéro de canal > se rapporte à une < expression numérique> pour désigner une fenêtre d'écran, une imprimante, une cassette ou une disquette vers laquelle le texte doit être acheminé.
Une < liste de:élément > décrit un paramètre comprenant une liste d'éléments séparés par des virgules. Cette liste, pouvant contenir un ou plusieurs éléments, est limitée par la longueur de ligne.
Les différents indicateurs de type de données :
% Entiers
! Réels (par défaut)
$ Chaîne alphabétique et numérique (alphanumérique)
Nous allons donner les mots clés du BASIC AMSTRAD sous la forme suivante:
MOT CLE
Syntaxe
Exemple Description
Mots clés associés
Les mots clés sont :
DES COMMANDES : opérations exécutées directement
DES FONCTIONS : opérations intervenant dans une expression
DES OPÉRATEURS :agissent sur des arguments mathématiques.
Lors du listage d'un programme, le BASIC transforme en MAJUSCULES tous les mots clés tapés en minuscules. Les exemples de ce chapitre sont en MAJUSCULES tels qu'ils apparaissent après un LISTing. Il sera toutefois préférable que vous les tapiez en minuscules car les mots clés contenant une erreur resteront LISTés en minuscules, vous révélant ainsi vos erreurs de frappe.
Pour plus de détails sur le BASIC AMSTRAD 6128, consultez les spécifications SOFT967.
Mots clés...
ABS
ABS (<expression expression numérique>)
PRINT ABS(-67.98)67.98
FONCTION : Donne la valeur ABSolue de l'expression entre parenthèses. Les nombres négatifs perdent donc leur signe moins.
Mots clés associés : SGN
AFTER
AFTER <délai du chronomètre>[,< numéro de chronomètre>] GOSUB <numéro de ligne>
10 AFTER 250 GOSUB 60:CLS20 PRINT"Devine une lettre en 5 secondes"
30 a$=INKEY$:IF flag=1 THEN END
40 IF a$<>CHR$(INT(RND$26+97)1 THEN 30
50 PRINT a$;" est exacte.tu as gagne !" 55 SOUND 1,478:SOUND 1,358:END
60 PRINT"Trop tard.J'ai gagne !"
70 SOUND 1,2000:f1ag=1:RETURN
run
COMMANDE: Appelle un sous-programme après (= AFTER en anglais) un certain délai. Le <délai du chronomètre> indique la durée de l'attente en multiples de 0.02 seconde. Le <numéro de chronomètre> (qui peut être 0, 1, 2 ou 3) précise lequel des quatre chronomètres d'attente il faut utiliser.
Chacun des 4 chronomètres peut être associé à un sous-programme. Pour plus de détails concernant les interruptions, reportez-vous à la partie 2 du chapitre « A vos heures de loisir ... ».
Mots clés associés: EVERY, REMAIN, RETURN
AND
<argument> AND <argument>
IF "alain" < "bernard" AND "chien" > "chat" THEN PRINT "vrai" ELSE PRINT "toux"vrai
IF "bernard" < "alain" AND "chat" > "chien' THEN PRINT "vrai" ELSE PRINT "faux"
faux
1F "alain" < "bernard" AND "chat" > "chien" THEN PRINT "vrai" ELSE PRINT "faux"
faux
....
PRINT 1 AND 1
1
PRINT 0 AND 0
0
PRINT 1 AND 0
0
OPERATEUR : Exécute des opérations booléennes par bits sur des nombres entiers. Est égal à 0 sauf lorsque les deux bits d'arguments sont égaux à 1.
Pour toute information complémentaire sur la logique, consultez la partie 2 du chapitre « A vos heures de loisir... ».
Mots clés associés : OR, NOT, XOR.
ASC
ASC (<chaîne alphanumérique>)
PRINT ASC("x")120
FONCTION . Donne la valeur numérique du premier caractère d'une chaîne de caractères.
Mots clés associés : CHR$
ATN
ATN (<expression numérique>)
PRINT ATN(1)0.785398163
FONCTION : Calcule l'Arc TaNgente (réduisant I'<expression numérique> à un nombre réel cri radians compris entre -PI/2 et + PI/2) de la valeur donnée.
A noter: les commandes DEG et RAD peuvent être utilisées pour spécifier explicitement que le résultat sera exprimé respectivement en degrés ou radians.
Mots clés associés : COS, DEG, RAD, SIN, TAN.
AUTO
AUTO [< numéro de ligne >][,< incrément >]
AUTO 100,50
COMMANDE: Génère AUTOmatiquement les numéros de ligne. Le paramètre facultatif < numéro de ligne> donne le premier numéro de ligne à générer. Si vous ne le précisez pas, les lignes sont générées à partir de 10.
L'<incrément>, également facultatif, fixe l'intervalle entre les numéros de ligne En l'absence de spécification, il sera égal à 10. Si un numéro de ligne déjà utilisé est généré. le contenu de cette ligne apparaît à l'écran et peut éventuellement être modifié. La ligne affichée est ensuite remplacée en mémoire après activation de la touche [RETURN]. Pour arrêter la numérotation automatique des lignes, appuyez sur [ESC].
Mots clés associés : Aucun
BIN$
BIN$ (<nombre entier sans signe>[,< nombre entier>])
PRINT BIN$(64,8)01000000
FONCTION: Produit une chaîne de chiffres BINaires représentant la valeur du <nombre entier sans signe>, à l'aide du nombre de chiffres binaires indiqué par le deuxième <nombre entier> (entre 0 et 16). Si ce nombre est trop grand, le résultat commence par autant de zéros que nécessaire. S'il est trop petit, le résultat n'est pas tronqué mais converti en autant de chiffres que nécessaire.
Le <nombre entier sans signe> à convertir en binaire doit être compris entre -32768 et 65535.
'Mots clés associés : DEC$, HEX$, STR$
BORDER
BORDER <numéro de couleur>[,< numéro de couleur > ]
10 REM 729 combinaisons de bordure20 SPEED INK 5,5
30 FOR a=0 TO 26 40
FOR b=0 TO 26
50 BORDER a,b:CLS:LOCATE 14,13
60 PRINT"border";a;",";b
70 FOR t=1 TO 300
80 NEXT t,b,a
run
COMMANDE: Pour changer la couleur de la bordure d'écran. Si deux couleurs sont indiquées, elles alternent à la vitesse déterminée par la commande SPEED INK, le cas échéant. Les valeurs vont de 0 à 26.
Mots clés associés : SPEED INK
BREAK
(Voir ON BREAK CONT, ON BREAK GOSUB, ON BREAK STOP)
CALL
CALL <adresse>[,<liste de:< paramètre>]
CALL 0
COMMANDE Permet à un sous-programme externe d'être appelé à partir du BASIC. L'exemple ci-dessus reinitialise complètement l'ordinateur.
A utiliser avec précaution. Mots clés associes: UNT
CAT
CAT
CAT
COMMANDE: Demande au BASIC de lire le CATalogue de la disquette. Affiche en ordre alphahumérique les noms de tous le fichiers présents ainsi que leur longueur (en arrondissant au Koctet supérieur). Le nombre d'octets disponibles s'affiche également avec l'indentifieation de la disquette et de l'utilisateur.
Cette commande n'a pas d'effet sur le programme en cours.
Mots clés associés: LOAD, RUN, SAVE
CHAIN
CHAIN <nomfich>[,<numéro de ligne>]
CHAIN "testprog.bas",350
COMMANDE . Charge un programme en mémoire à partir d'une disquette, remplaçant le programme existant. Le nouveau programme commence au début ou à partir de la ligne spécifiée par <numéro de ligne>.
Les fichiers protégés (sauvegardés par la commande SAVE,p) peuvent être chargés et lancés par CHAIN.
Mots clés associés : CHAIN MERGE, LOAD, MERGE
CHAIN MERGE
CHAIN MERGE <nomfich>[,< numéro de ligne>][,DELETE <ensemble de lignes>]
CHAIN MERGE "partie2.bas",750,DELETE 400-680
COMMANDE : Charge en mémoire un programme sur disquette en le fusionnant au programme existant, puis lance le programme résultant, depuis le début ou à partir de la ligne spécifiée par le paramètre en option, <numéro de ligne>. Si vous désirez effacer une partie du programme initial avant d'utiliser cette commande, vous pouvez spécifier le paramètre <ensemble de lignes> de la commande DELETE. Les numéros de ligne du programme initial identiques à ceux du programme à fusionner seront écrasées sur les nouvelles lignes. Les fichiers protégés (sauvegardés par la commande SAVE,p) ne peuvent PAS être fusionnés puis lancés par cette commande.
Mots clés associés : LOAD, MERGE, DELETE, CHAIN
CHR$
CHR$ (< nombre entier>)
10 FOR x=32 TO 25520 PRINT x;CHRS(x),
30 NEXT
run
FONCTION : Convertit un <nombre entier> compris entre 0 et 255 en une chaîne de caractéres équivalente à l'aide du jeu de caractères de l'AMSTRAD 6128, décrit dans la partie 3 du chapitre « Pour information... ». Les caractères 0 à 31 sont des caractères de contrôle. C'est pourquoi l'exemple ci-dessus affiche les entiers compris entre 32 et 255.
Mots clés associés: ASC
CINT
CINT (<expression numérique>)
10 n=1.999920 PRINT CINT(n)
run
2
FONCTION : Convertit une valeur numérique en un entier arrondi compris entre -32768
et 32767.
Mots clés associés : CREAL, FIX, INT. ROUND, UNT
CLEAR
CLEAR
CLEAR
COMMANDE : Efface toutes les variables, fichiers ouverts, tableaux et fonctions utilisateur. le mode de calcul en BASIC s'effectue en radians.
Mots clé associés: Aucun
CLEAR INPUT
CLEAR INPUT
10 CLS20 PRINT" tapez plusieurs lettres maintenant"
30 FOR t=1 TO 3000
40 NEXT
50 CLEAR INPUT
run
COMMANDE: Efface toutes les données entrées à partir du clavier, se trouvant dans le tampon.
Pour expérimenter cette commande, lancez le programme ci-dessus et tapez les lettres lorsque vous y êtes invité. Supprimez ensuite la ligne 50 du programme, relancez-le et voyez la différence.
Mots clés associés : INKEY, INKEY$. JOY
CLG
CLG [<encre>]
LOCATE 1,20CLG 3
COMMANDE : Efface l'écran graphique et le ramène à sa couleur de fond. Si <encre> est spécifiée, le fond est de la couleur fixée en accord.
Mots clés associés : CLS, GRAPHICS PAPER, INK, ORIGIN
CLOSEIN
CLOSEIN
CLOSE IN
COMMANDE . Ferme tout fichier d'entrée ouvert sur la disquette (voir OPENIN).
Mots clés associés : EOF, OPENIN
CLOSEOUT
CLOSEOUT
CLOSEOUT
COMMANDE: Ferme tout fichier ouvert en sortie sur la disquette. (voir OPENOUT).
Mots clés associés : OPENOUT
CLS
CLS [#<numéro de canal >]
10 PAPER #2,320 CLS #2
run
COMMANDE: Efface la fenêtre d'écran spécifiée par le <numéro de canal> et lui donne sa couleur de papier. En l'absence de <numéro de canal>, 0 est pris par défaut.
Mots clés associés : CLG, INK, PAPER, WINDOW
CONT
CONT
CONT
COMMANDE: CONTinue l'exécution du programme après un STOP, ou deux activations de la touche [ESC], si le programme n'a été ni modifié ni protégé. Des commandes directes peuvent être tapées avant reprise du programme.
Mots clés associés : STOP
COPYCHR$
COPYCHR$ (#<numéro de canal>)
10 CLS20 PRINT"coin superieur"
30 LOCATE 1,1
40 a$=COPYCHR$(#0)
50 LOCATE 1,20
60 PRINT a$
run
FONCTION : Copie un caractère à partir de la position du curseur dans le canal (qui DOIT être spécifié). Le programme ci-dessus copie un caractère de l'emplacement 1,1 (angle supérieur gauche) et le reproduit en 1,20. Si le caractère lu n'est pas reconnu, une chaîne nulle est renvoyée.
Mots clés associés : LOCATE
COS
COS (<expression numérique>)
DEGPRINT COS(45)
0.707106781
FONCTION: Calcule le COSinus de l'<expression numérique>.
DEG et RAD peuvent servir à exprimer l'argument en degrés ou en radians, respectivement.
Mots clés associés : ATN, DEG, RAD, SIN
CREAL
CREAL(<expression numérique>)
10 a=PI20 PRINT CINT(a)
30 PRINT CREAL(a)
run
3
3.14159265
FONCTION : Convertit l'<expression numérique> en nombre réel.
Mots clés associés CINT
CURSOR
CURSOR [<indicateur système>][,<indicateur utilisateur>]
10 CURSOR 120 PRINT"question ?";
30 a$=INKEY$:IF a$="" THEN 30
40 PRINT o$
50 CURSOR 0
run
COMMANDE : Active ou désactive l'indicateur système ou utilisateur. Les paramètres <indicateur système> et < indicateur utilisateur> doivent être sur 0 (inactif) ou 1 (actif). Dans la commande INKEY$ ci-dessus, le curseur a été rendu visible par fixation de l'indicateur système sur 1 (à la ligne 10)
Le curseur s'affiche lorsque les deux indicateurs sont sur l. Le curseur système est automatiquement activé pour la commande INPUT et désactivé pour INKEY$.
Il est préférable de désactiver le curseur pour affichage d'un texte à l'écran.
Vous pouvez omettre l'un des indicateurs mais pas les deux. Si un paramètre est omis, son état est inchangé.
Mots clés associés : LOCATE
DATA
DATA <liste de: <constante>
10 FOR x=1 TO 420 READ nom$,prenom$
30 PRINT"Mr. ";nom$;" ";prenom$
40 NEXT
50 DATA DUPONT,Olivier,DURAND,Francois
60 DATA LAMIE,Frederic,MOULIN,Daniel
run
COMMANDE: Déclare des données constantes à l'intérieur d'un programme. Ces données peuvent être affectées à une variable par la commande READ, après quoi le pointeur passe à l'élément suivant de la liste DATA. La commande RESTORE peut servir à déplacer le pointeur sur une position spécifiée de DATA.
Pour de plus amples informations, consultez la partie 2 du chapitre « A vos heures de loisir... »,
Mots clés associés : READ, RESTORE
DEC$
DEC$ (<expression numérique>,<modèle de format> )
PRINT DEC$( 10á7,"££#########,.## ")£10,000,000.00
FONCTION : Donne une représentation DECimale de l'expression numérique, utilisant le <modèle de format> indiqué.
Le modèle de format ne peut contenir QUE les caractères
+-£$*#,.á
L'emploi de ces « indicateurs de format » est décrit au mot clé PRINT USING.
Mots clés associés : BIN$, HEX$, PRINT USING, STR$
DEF FN
DEF FN <nom>[(<paramètres formels>)] = <expression >
10 t=TIME/30020 DEF FNchrono=INT(TIME/300-t)
30 EVERY 100 GOSUB 50
40 GOTO 40
50 PRINT"Le programme tourne depuis";
60 PRINT FNchrono;"secondes"
70 RETURN
run
COMMANDE: Le BASIC permet au programme de DEFinir une FoNction retournant une valeur unique et de l'utiliser. DEF FN est la partie définition du mécanisme de création d'une fonction spécifique. travaillant d'une manière similaire aux fonctions existantes du BASIC (COS, SIN, ATN, etc.).
(Dans l'exemple ci-dessus la valeur de la fonction FNchrono est constamment mise à jour. même si le programme est suspendu par [ESC] ou arrêté par double [ESC]. puis relancé.
Mots clés associés : Aucun
DEFINT
DEFINT <liste de:<lettres concernées>
10 DEFINT n20 nombre=123.456
30 PRINT nombre
run
123
COMMANDE: Définit le type de variable par DEFaut, le type étant entier. Lorsqu'une variable intervient sans marqueur (! % $), le type par défaut est automatiquement mis en oeuvre. Cette commande définit le type par défaut des variables selon la première lettre du nom de la variable. Elle peut être suivie d'une liste d'initiales. Par exemple
DEFINT a,b,c
... ou d'une fourchette d'initiales :
DEFINT a-z
Mots clés associés : DEFREAL, DEFSTR
DEFREAL
DEFREAL <liste de:<lettres concernées>
DEFREAL x,a-f
COMMANDE: Définit le type dc variable par DEFaut, le type étant réel. Lorsqu'une variable intervient sans identificateur de type (! % $), le type par défaut est automatiquement mis en oeuvre. Le type de la variable sera déterminé suivant la première lettre du nom de la variable. Elle peut être suivie d'une liste d'initiales
DEFREAL a,b,c
...ou d'une fourchette d'initiales
DEFREAL a-z
Mots clés associés : DEFINIT, DEFSTR
DEFSTR
DEFSTR < liste de: < Iettres concernees>
10 DEFSTR n20 nom="Amstrad"
30 PRINT nom
run
Amstrad
COMMANDE: Définit le type de variable par DEFaut, le type étant une chaîne. Lorsqu'une variable intervient sans identificateur (! % $) le type par défaut est automatiquement mis en oeuvre. Le type de la variable est déterminé selon la première lettre de son nom. La commande peut être suivie d'une liste d'initiales :
DEFSTR a,b,c
...ou d'une fourchette d'initiales
DEFSTR a-z
Mots clés associés : DEFINT, DEFREAL
DEG
DEG
DEG
COMMANDE : Etablit le mode de calcul en DEGrés. Par défaut, les fonctions SIN, COS, TAN et ATN considèrent que l'argument qui leur est transmis est exprimé en radians. La commande reste valable jusqu'à ce qu'on utilise les commandes RAD ou NEW, CLEAR, LOAD, RUN, etc.
Mots clés associés : ATN, COS, RAD, SIN, TAN
DELETE
DELETE <ensemble de lignes>
DELETE 100-200
COMMANDE . Efface une partie du programme défini dans l'<ensemble de lignes>.
Il n'est pas nécessaire d'indiquer la ligne de départ ou la ligne d'arrivée pour effacer le programme «depuis le début » ou « jusqu'à la fin ».
DELETE -200
...ou
DELETE 50
... ou
DELETE
...qui efface la totalité du programme.
Mots clés associés : CHAIN MERGE, RENUM
DERR
DERR
LOAD "xyz.abc"XYZ.ABC not found
Ready
PRINT DERR
146
FONCTION : Rapporte le dernier code d'ERReur envoyé par le système de gestion de la Disquette. La valeur de DERR peut servir à confirmer l'erreur détectée. Consultez la liste des messages d'erreur du chapitre « Pour information... ».
Mots clés associés : ERL, ERR, ERROR, ON ERROR GOTO, RESUME
DI
DI
10 CLS:TAG:EVERY 10 GOSUB 9020 x1=RND*320:x2=RND*320
30 y=200+RND*200:c$=CHR$(RND*255)
40 FOR x=320-x1 TO 320*x2 STEP 4
50 DI
60 MOVE 320,0,1:MOVE x-2,y:MOVE x,y
70 PRINT" ";c$;:FRAME
80 EI:NEXT:GOTO 20
90 MOVE 320,0:DRAW x+8,y-16,1:RETURN
run
COMMANDE: Désactive une Interruption (autre que [ESC] ) jusqu'à ce qu'elle soit réactivée directement par une commande EI ou indirectement par un [RETURN] à la fin d'un sous-programme d'interruption GOSUB.
L'entrée dans un sous-programme d'interruption désactive automatiquement les interruptions de priorité égale ou inférieure.
On l'utilise quand le programme doit s'exécuter sans interruption, par exemple quand deux sous-programmes sont en compétition pour utiliser les ressources de l'ordinateur (les ressources graphiques dans le programme ci-dessus, par exemple).
Pour de plus amples informations sur les interruptions consultez la partie 2 du chapitre « A vos heures de loisir... ».
Mots clés associés : AFTER, EI, EVERY, REMAIN
DIM
DIM < liste de: <variable indicée >
10 CLS20 DIM ami$(5),tel$(5)
30 FOR n=1 TO 5
40 PRINT"telephone No";n
50 INPUT "entrez le nom";ami$(n)
60 INPUT "entrez le numero de tel.";tel$(n)
70 PRINT
80 NEXT
90 FOR n=1 TO 5
100 PRINT n;ami$(n),tel$(n) 110 NEXT
run
COMMANDE: DIMensionne un tableau. Cette commande alloue l'espace requis aux tableaux et spécifie les valeurs d'indices maximales. Le BASIC doit connaître l'espace réservé pour un tableau, en l'absence de spécification il prend 10 comme valeur par défaut.
Un tableau est identifié par une <variable indicée>, à savoir un nom de variable accompagné d'un ensemble d'indices afin que chaque « élément » du tableau ait sa propre valeur d'indice.
Une boucle FOR NEXT peut servir à contrôler le tableau en traitant chaque élément du tableau à tour de rôle.
La valeur minimale d'un indice est zéro (c'est le premier élément d'un tableau).
Les tableaux peuvent être multi-dimensionnels et chaque élément est référencé par sa position. Par exemple, dans un tableau dimensionné par
DIM position$ (20,20,20)
... un élément du tableau sera référencé de la façon suivante :
position$ (4,5,6)
Mots clés associés : ERASE
DRAW
DRAW <coordonnée x>,<coordonnée y> [,[<encre>][, <mode d'encre>]]
10 MODE 0:BORDER 0:PAPER 0:INK 0,020 x=RND*640:y=RND*400:z=RND*15
30 DRAW x,y,z
40 GOTO 20
run
COMMANDE : Trace une ligne sur l'écran entre la position du curseur graphique et une position absolue spécifiée parles coordonnées x et y. L' <encre > de traçage peut être spécifiée (entre 0 et 15).
Le <mode d'encre> facultatif détermine l'interaction de l'encre sur l'affichage présent à l'écran. Les quatre <modes d'encre> sont les suivants :
0: Normal
1: XOR (OU exclusif)
2: AND (ET)
3: OR (OU)
Mots clés associés : DRAWR, GRAPHICS PEN, MASK
DRAWR
DRAWR <décalage x>,<décalage y>[,[<encre>][,<mode d'encre>]]
10 CLS:PRINT"tu montes au premier !?"20 MOVE 0,350:FOR n=1 TO 8
30 DRAWR 50,0
40 DRAWR 0,-50
50 NEXT:MOVE 348,0:FILL 3
60 G0T0 60
run
COMMANDE: Trace une ligne sur l'écran graphique à partir du curseur graphique jusqu'à la position spécifiée par les <décalages x et y>. L'<encre> du tracé peut être spécifiée (entre 0 et 15).
Le <mode d'encre> facultatif détermine l'interaction de l'encre sur l'affichage présent à l'écran. Les 4 <modes d'encre> sont les suivants
0: Normal
1: XOR (OU exclusif)
2: AND (ET)
3: OR (OU)
Mots clés associes : DRAW, GRAPHICS PEN, MASK
EDIT
EDIT <numéro de ligne>
EDIT 20
COMMANDE : Affiche la ligne du programme ainsi que le curseur, prêt à l'édition.
Mots clés associés : AUTO. LIST
EI
EI
EI
COMMANDE: Active (Enables) une Interruption désactivée par DI.
Des interruptions désactivées par un sous-programme d'interruption sont automatiquement rétablies par la commande RETURN, en fin de sous-programme.
Pour de plus amples informations, consultez la partie 2 du chapitre « A vos heures de loisir...».
Mots clés associés : AFTER, DI, EVERY, REMAIN
ELSE
(voir IF)
END
END
END
COMMANDE : Met fin à l'exécution d'un programme et rétablit le mode direct. Un programme peut contenir un nombre quelconque de commandes END (elle est implicite à la fin de tout programme BASIC AMSTRAD).
Mots clés associés : STOP
ENT
ENT <numéro d'enveloppe> [,<section d'enveloppe>][,<section d'enveloppe>][,<section d'enveloppe>][,<section d'enveloppe>][,<section d'enveloppe>]
10 ENT 1,10,-50,10,10,50,1020 SOUND 1 , 500, 200, 10 1
run
COMMANDE: Définit I'ENveloppe de Tonalité spécifiée par le <numéro d'enveloppe> (entre l et 15) utilisée avec la commande SOUND. Si le <numéro d'enveloppe> est négatif (entre -1 et -15) l'enveloppe se répète jusqu'à la fin de la durée du son fixée par la commande SOUND.
Chaque <section d'enveloppe> peut contenir 2 ou 3 paramètres : Dans le cas de trois paramètres, ceux-ci sont : <nombre de pas> , <amplitude du pas> , <durée du pas>.
Paramètre 1 : <nombre de pas>
Spécifie le <nombre de pas> de variation de tonalité à l'intérieur de la section d'enveloppe. Par exemple, dans une section de note durant 10 secondes, vous pouvez fixer 10 pas de 1 seconde chacun. Dans ce cas, le <nombre de pas> sera 10.
Le <nombre de pas> peut varier de 0 à 239.
Paramètre 2 : <amplitude du pas>
Doit être compris entre -128 et + 127. Les pas négatifs augmentent la hauteur de la note, les pas positifs l'abaissent. La période sonore minimale est de 0. Toutes les périodes sonores disponibles sont présentées au chapitre « Pour information... ».
Paramètre 3 : <durée du pas>
Spécifie la durée d'un pas, par unités de 0,01 seconde. Elle peut varier de 0 à 255 (0 a la valeur 256), la durée maximale d'un pas est donc de 2,56 secondes.
Si vous n'utilisez que deux paramètres, ce sont :
<période sonore >, < durée du pas>
Paramètre 1 : <période sonore >
Donne la nouvelle valeur de la période. (Voir le paramètre 2 de la commande SOUND)
Paramètre 2 : <durée du pas>
Spécifie la durée du pas unique en unités de 0,01 seconde. Peut varier entre 0 et 255 (0 ayant la valeur 256), soit 2.56 secondes.
GÉNÉRALITÉS
La durée totale des pas ne doit pas dépasser le paramètre <durée> de la commande SOUND, car le son se termine alors avant d'avoir traversé la totalité des pas. (Le reste de l'enveloppe de tonalité est alors ignoré). De même, si la <durée> de la commande SOUND dépasse la durée totale des pas, le son se poursuit après avoir traversé tous les pas et demeure constant à la tonalité finale.
La commande ENT peut s'accompagner de 5 <sections d'enveloppe> différentes (chacune constituée des 2 ou 3 paramètres ci-dessus).
Le premier pas d'une enveloppe de tonalité s'exécute immédiatement.
Chaque fois qu'une nouvelle enveloppe est attribuée à un numéro d'enveloppe déterminé, la définition précédente est perdue.
Un < numéro d'enveloppe > sans < section d'enveloppe > annule toutes les spécifications précédentes.
Pour de plus amples informations, consultez la partie 2 du chapitre « A vos heures de loisir.., ».
Mots clés associés : ENV, SOUND
ENV
ENV <numéro d'enveloppe> [,<section d'enveloppe>][,<section d'enveloppe>][,<section d'enveloppe>][,<section d'enveloppe>][,<section d'enveloppe>]
10 ENV 1,15,-1,10,15,1,1020 SOUND 1,200,300,15,1
run
COMMANDE: Définit l'ENveloppe de Volume correspondant au <numéro d'enveloppe> (entre 1 et 15), utilisé avec la commande SOUND.
Elle peut contenir 2 ou 3 paramètres :
Pour 3 paramètres
<nombre de pas>,<amplitude du pas>,<durée du pas>.
Paramètre 1 : <nombre de pas>
Spécifie le <nombre de pas> de volume qu'un son doit traverser dans la section d'enveloppe. Par exemple, dans une section de 10 secondes, vous pouvez fixer 10 pas de volume d'une seconde. Le paramètre <nombre de pas> est égal à 10.
Le paramètre peut varier de 0 à 127.
Paramètre 2 : <amplitude du pas>
Peut faire varier le volume de 0 à 15 par rapport au pas précédent. Les 16 volumes différents sont les mêmes que ceux de la commande SOU ND. Le paramètre < amplitude du pas> peut cependant varier de -128 à + 127. le volume revenant à 0 après avoir atteint 15.
Paramètre 3: <durée du pas>
Spécifie la durée d'un pas en unités de 0,01 seconde. Peut varier de 0 à 255 (0 à la valeur 256). soit 2,56 secondes.
Pour 2 paramètres :
<enveloppe matérielle>,< période de l'enveloppe>
Paramètre 1 : <enveloppe matérielle>
Spécifie la valeur à envoyer au registre d'enveloppe contenu dans le générateur sonore.
Paramètre 2 : <période de l'enveloppe>
Spécifie la valeur à envoyer aux registres de période d'enveloppe contenus dans le générateur sonore.
L'utilisation d'enveloppes matérielles suppose la connaissance du matériel. Si vous ne l'avez pas, il vaut mieux utiliser une enveloppe logicielle intégrant un paramètre <durée du pas> adéquat.
GÉNÉRALITÉS
La durée totale des pas ne doit pas dépasser le paramètre de <durée> de la commande SOUND, le son se termine alors avant d'avoir traversé tous les pas de volume (le reste de l'enveloppe est ignoré).
De même, si le paramètre de <durée> de la commande SOUND dépasse la durée totale des pas. le son se poursuit après avoir traversé tous les pas de volume et demeure constant au volume final.
La commande ENV peut contenir 5 sections d'enveloppes différentes (constituées des 2 ou 3 paramètres ci-dessus).
Le premier pas d'une enveloppe de volume s'exécute immédiatement.
Chaque fois qu'une nouvelle enveloppe est attribuée à un numéro d'enveloppe déterminé, la définition précédente est perdue.
La spécification d'un <numéro d'enveloppe> sans <section d'enveloppe> annule toutes les valeurs précédentes.
Pour de plus amples informations, consultez la partie 2 du chapitre « A vos heures de loisir... ».
Mots clés associés : ENT, SOUND
EOF
EOF
10 OPENIN "ex1.bas"20 WHILE NOT EOF
30 LINE INPUT #9,a$
40 PRINT o$
50 WEND
60 CLOSEIN
run
FONCTION . Pour tester l'état d'un fichier ouvert. Donne - 1 (vrai) si l'on est en fin de fichier (End Of File) ou si aucun fichier n'est ouvert, sinon donne 0 (faux).
Mots clés associés : OPENIN, CLOSEIN
ERASE
ERASE < liste de: < nom de variable>
DIM a(100),b$(100)ERASE a,b$
COMMANDE: Quand un tableau n'est plus nécessaire, il peut être effacé (ERASE) afin de libérer la mémoire pour d'autres utilisations.
Mots clés associés : DIM
ERL
ERL
10 ON ERROR GOTO 3020 GOTO 1000
30 PRINT"L'erreur est en ligne";ERL
40 END
run
FONCTION : Donne le numéro de ligne de la dernière erreur rencontrée. Dans l'exemple ci-dessus l'ERreur de la Ligne 20 est indiquée par la fonction ERL.
Mots clés associés : DERR, ERR, ERROR, ON ERROR GOTO, RESUME
ERR
ERR
GOTO 500Line does not exist
Ready
PRINT ERR
8
FONCTION : Donne le numéro de la dernière ERReur détectée. Voir la liste des messages d'erreur au chapitre « Pour information... ». Dans l'exemple ci-dessus, le numéro
d'erreur 8 correspond à « Line does not exist » (Ligne non existante). Mots clés associés : DERR, ERL, ERROR, ON ERROR GOTO, RESUME
ERROR
ERROR <nombre entier>
10 IF INKEY$="" THEN 10 ELSE ERROR 17run
COMMANDE: Décide une action consécutive à une erreur numérotée. Voir la liste des messages d'erreur 1 à 32 au chapitre « Pour information... ». L'action est la même que celle prévue par le BASIC en cas d'erreur réelle, faisant appel à un sous-programme de traitement d'erreur, le cas échéant, et rapportant les valeurs appropriées d'ERR et ERL.
ERROR accompagné d'un < nombre entier> compris entre 33 et 255 peut servir à créer des messages d'erreur personnalisés tels que
10 ON ERROR GOTO 10020 INPUT "entrez un caractere";a$
30 IF LEN(a$)<>1 THEN ERROR 100
40 GOTO 20
100 IF ERR=100 THEN 110 ELSE 130
110 PRINT CHR$(7)
120 PRINT"j'ai dit UN caractere !"
130 RESUME 20
run
Mots clés associés : ERL, ERR, ON ERROR GOTO, RESUME
EVERY
EVERY <période du chronomètre>[,<numéro du chronomètre>] GOSUB <numéro de ligne>
10 EVERY 50,1GOSUB 3020 GOTO 20
30 SOUND 1,20
40 RETURN
run
COMMANDE: Appelle un sous-programme du BASIC à intervalles réguliers. La <période du chronomètre> spécifie l'intervalle par unités de 0,02 seconde. Le <numéro de chronomètre> (compris entre 0 et 3) spécifie lequel des quatre chronomètres utiliser. Le chronomètre 3 correspond à la priorité supérieure et le 0 à la priorité inférieure. Chaque chronomètre peut être associé à un sous-programme.
Pour de plus amples informations sur les interruptions, consultez la partie 2 du chapitre « A vos heures de loisir... ».
Mots clés associés : AFTER, REMAIN
EXP
EXP (<expression numérique>
PRINT EXP(6.876)968.743625
FONCTION : Calcule « e » à la puissance donnée par l'<expression numérique> où « e » est égal à 2,7182818 environ, le nombre dont le logarithme naturel est 1.
Mots clés associés : LOG
FILL
FILL <encre>
10 MODE 020 FOR n=1 TO 500
30 PRINT "O";
40 NEXT
50 coulstylo=2+RND*13
60 FILL coulstylo
70 GOTO 50
run
COMMANDE: Remplit une zone arbitraire de l'écran graphique. Les bords de la zone sont délimités par les lignes dessinées avec l'encre du stylo en cours ou avec l'encre du fond (comprise entre 0 et 15). Le remplissage part de la position du curseur graphique. Si celui-ci se trouve sur un bord, rien n'est rempli.
Mots clés associés : GRAPHICS PEN
FIX
FIX (<expression numérique>)
PRINT FIX(9.99999)9
FONCTION : Enlève la partie décimale d'une< expression numérique> en arrondissant toujours par défaut.
Mots clés associés: CINT, INT, ROUND
FN
(voir DEF FN)
FOR
FOR <variable simple> = <début> TO <fin> [STEP <incrément>]
10 FOR n=2 TO 8 STEP 220 PRINT n;
30 NEXT n
40 PRINT",qui va augmenter "
run
COMMANDE : Exécute la partie du programme se trouvant entre les mots clés FOR et NEXT, autant de fois que l'on peut ajouter l'<incrément> à la <variable simple> en partant du < début > jusqu'à la <fin>. Si l'<incrément> est omis, il prend implicitement la valeur 1.
La valeur de l'<incrément> peut être négative. Dans ce cas la valeur du paramètre < début > doit être supérieure à celle du paramètre < fin > , faute de quoi la variable ne peut être incrémentée.
Les boucles FOR NEXT peuvent être imbriquées.
L'affectation du nom de variable à la commande NEXT est facultative car le BASIC détermine automatiquement la commande NEXT à laquelle est associée une commande FOR.
Mots clés associés : NEXT, STEP, TO
FRAME
FRAME
10 MODE 020 PRINT"sans FRAME"
30 TAG
40 MOVE 0,200
50 FOR Y=0 TO 500 STEP 4
60 IF f=1 THEN FRAME
70 MOVE x,200
80 PRINT" ";CHR$(143);
90 NEXT
100 IF f=1 THEN RUN
110 CLS
120 TAGOFF
130 PRINT'avec FRAME"
140 f=1
150 GOTO 30
run
COMMANDE : Synchronise l'écriture des graphiques avec les trames vidéo. Il en résulte un mouvement plus harmonieux des caractères ou des graphiques à l'écran sans distorsion et sans scintillement.
Mots clés associés TAG, TAGOFF
FRE
FRE (<expression numérique>)
FRE (<chaîne alphanumérique>)
PRINT FRE(0)PRINT FRE("")
FONCTION : Indique l'espace disponible en mémoire. La forme FRE (" ") force l'ordinateur à mettre de l'ordre avant de donner la valeur de l'espace disponible.
REMARQUE: Le BASIC n'exploite que le bloc 0 de la mémoire.
Mots clés associés : HIMEM, MEMORY
GOSUB
GOSUB <numéro de ligne>
GOSUB 210
COMMANDE: Appelle un sous-programme BASIC en se branchant sur la ligne indiquée. La fin du sous-programme est marquée par la commande RETURN renvoyant le programme à l'instruction suivant la commande GOSUB.
Mots clés associés : RETURN
GOTO
GOTO <numéro de ligne>
GOTO 90
COMMANDE: Se branche sur le numéro de ligne indiqué.
Mots clés associés : Aucun
GRAPHICS PAPER
GRAPHICS PAPER <encre>
10 MODE 020 MASK 15
30 GRAPHICS PAPER 3
40 DRAW 640,0
run
COMMANDE: Détermine l'<encre> du fond graphique. Lors du traçage de lignes, le fond n'est pas visible. Dans l'exemple ci-dessus, la commande MASK permet le traçage d'une ligne en tirets et la visualisation du fond graphique.
L'encre du fond (entre 0 et 15) sert à la zone « paper » sur laquelle s'affichent les caractères, lorsque TAG fonctionne, et fait office de valeur par défaut lors de l'effacement des fenêtres graphiques à l'aide de CLG.
Mots clés associés : CLG, GRAPHICS PEN, INK, MASK, TAG, TAGOFF
GRAPHICS PEN
GRAPHICS PEN [<encre>][,<mode du fond>]
10 MODE 020 GRAPHICS PEN 15
30 MOVE 200,0
40 DRAW 200,400
50 MOVE 639,0
60 FILL 15
run
COMMANDE : Fixe l'<encre> (entre 0 et 15) pour le dessin des lignes et le positionnement des points. Le <mode du fond> peut également être fixé
0: Fond opaque
1: Fond transparent
(Le fond transparent a une influence sur le fond graphique des caractères écrits avec TAG et les espaces en lignes pointillées).
Vous pouvez omettre l'un des paramètres mais pas les deux. Si l'un des paramètres est omis, la valeur spécifiée reste inchangée.
Mots clés associés : GRAPHICS PAPER, INK, MASK, TAG, TAGOFF
HEX$
HEX$ (<nombre entier sans signe>[,<largeur de zone>])
PRINT HEX(255,4)00FF
FONCTION : Change un nombre entier en un nombre HEXadécimal. équivalent en accord avec le nombre de chiffres hexadécimaux indiqué par la <largeur de zone> (entre 0 et 16). Si ce nombre est trop grand, l'expression finale est complétée par des zéros à gauche du nombre. S'il est trop petit, elle ne sera PAS tronquée mais le nombre de chiffres produit sera égal au nombre requis.
Le <nombre entier sans signe> à convertir sous forme hexadécimale doit produire une valeur comprise entre -32768 et 65535.
Mots clés associés : BIN$, DEC$, STR$, UNT
HIMEM
HIMEM
PRINT HIMEM42619
FONCTION : Donne l'adresse de l'octet le plus Haut dans la MEMoire utilisée par le BASIC (modifiable par la commande MEMORY).
REMARQUE : Le BASIC n'exploite que le bloc 0 de la mémoire.
Mots clés associés : FRE, MEMORY, SYMBOL, SYMBOL AFTER
IF
IF <expression logique> THEN <option> [ELSE <option>]
10 MODE 120 x=CINT(RND*100)
30 PRINT"devinez un chiffre (0 a 100)"
40 INPUT n
50 IF n<x THEN PRINT n;"est trop petit..."
60 IF n>x THEN PRINT n;"est trop grand..."
70 IF n=x THEN 80 ELSE c=c+1:GOTO 40
80 PRINT"Bien vu! ";"Trouve en";c+1;"fois !"
run
COMMANDE: Détermine si I'<expression logique> est vraie pour exécuter, le cas échéant, la première < option > . Si l' < expression logique > est fausse. l' < option > placée après ELSE s'exécute. En absence de deuxième <option >, le BASIC passe à la ligne suivante.
Les commandes IF THEN peuvent être imbriquées mais se terminent à la fin de la ligne. On ne peut donc PAS avoir de déclarations indépendantes de IF THEN sur la même ligne. Lorsque le résultat de l'<expression logique> nécessite un saut de ligne, la commande peut, par exemple, se formuler
IF a=1 THEN 100
...ou :
IF a=1 GOTO 100
...ou :
IF a=1 THEN GOTO 100
Mots clés associés : ELSE, GOTO, THEN
INK
INK <encre>,<numéro de couleur>[,<numéro de couleur]
10 MODE 1:PAPER 0:PEN 120 FOR p=0 TO 1
30 FOR i=0 TO 26
40 INK p,i
50 LOCATE 16,12:PRINT"INK";p;",";t
60 FOR t=1 TO 400:NEXT t,i,p
70 INK 0,1:INK 1,24:CLS
run
COMMANDE : Affecte la ou les couleurs à une encre donnée. Le paramètre <encre> fournit la référence de l'encre (par un entier compris entre 0 et 15), à l'intention des commandes PEN ou PAPER correspondantes. Le premier paramètre < numéro de couleur> (entier) donne une valeur de couleur comprise entre 0 et 26. Si le second paramètre de couleur facultatif est spécifié. l'encre passe d'une couleur à l'autre selon une vitesse définie par la commande SPEED INK.
Mots clés associés : GRAPHICS PAPER, GRAPHICS PEN, PAPER, PEN, SPEED INK
INKEY
INKEY(<nombre entier>)
10 IF INKEY(55)<>32 THEN 1020 PRINT"vous venez d'appuyer [SHIFT] et V"
30 CLEAR INPUT
run
FONCTION : Interroge le clavier pour indiquer les touches pressées. Le clavier est analysé tous les cinquantièmes de seconde. Cette fonction sert à détecter la position haute ou basse d'une touche par détection de la valeur -1 (indépendante de l'état des touches [SHIFT] et [CONTROL] ).
Dans l'exemple ci-dessus, le système détecte l'actionnement simultané de [SHIFT] et V (numéro de touche 55) avant d'arrêter le programme. Les numéros de touche sont donnés dans le diagramme situé en haut à droite du boitier de l'ordinateur (voir également le chapitre « Pour information... ».
[SHIFT] et [CONTROL] sont identifiés par les valeurs suivantes :
|
Valeur |
[SHIFT] |
[CONTROL] |
Touche spécifiée |
|
-1 |
INDIFFERENT |
INDIFFERENT |
RELEVEE |
|
0 |
RELEVEE |
RELEVEE |
ENFONCEE |
|
32 |
ENFONCEE |
RELEVEE |
ENFONCEE |
|
128 |
RELEVEE |
ENFONCEE |
ENFONCEE |
|
160 |
ENFONCEE |
ENFONCEE |
ENFONCEE |
Mots clés associés : CLEAR INPUT, INKEY$, JOY
INKEY$
INKEY$
10 CLS20 PRINT"choisissez OUI ou NON (O/N)"
30 a$=INKEY$
40 IF a$="" THEN 30
50 IF a$="0" OR a$="0" THEN 80
60 IF a$="n" OR a$="N" THEN 90
70 GOTO 30
80 PRINT"Vous avez choisi OUI":END
90 PRINT"Vous avez choisi NON"
run
FONCTION : Interroge le clavier pour introduire dans le programme toute chaîne de caractères entrée. Si aucune touche de clavier n'est actionnée, INKEY$ renvoie une chaîne vide. Dans l'exemple ci-dessus les lignes 40 et 70 commandent au programme de revenir à la ligne 30 après interrogation du clavier par la fonction INKEY$.
Mots clés associés : CLEAR INPUT, INKEY
INP
INP (<numéro du port>)
PRINT INP(&FF77)255
FONCTION : Lit la valeur contenue dans un port d'entrées-sorties dont l'adresse est transmise par l'argument de cette fonction.
Mots clés associés : OUT, WAIT
INPUT
INPUT [#<numéro de canal>,][:][ <chaîne> <séparateur>]<liste de:< variable>
10 MODE 120 INPUT "donnez-moi deux nombres a multiplier (separes par une virgule)";a,b
30 PRINT a;"fois";b;"font";a*b
40 GOTO 20
run
COMMANDE: Reçoit les données en provenance du canal précisé (canal #0 en l'absence de spécification).
Un point-virgule après INPUT supprime le passage à la ligne après exécution de la commande.
Le <séparateur> peut être un point-virgule ou une virgule. Un point-virgule placé après la chaîne fait apparaître un point d'interrogation . une virgule le supprime.
Si une entrée erronée est effectuée, un O pour un 0 par exemple, BASIC répond:
?Redo from start
... ou tout autre message d'erreur programmé par vos soins. Toute réponse au clavier doit se terminer par [RETURN]. Mots clés associés : LINE INPUT
INSTR
INSTR ([<position de départ > ,] < chaîne contenante > , < chaîne contenue>)
10 CLS:FOR n=1 TO 2620 alphabet$=alphabet$+CHR$(n+64)
30 NEXT
40 INPUT "entrez une lettre";a$
50 b$=UPPER$(a$)
60 PRINT b$;" est en position";
70 PRINT INSTR(alphabet$,b$);
80 PRINT"dans l'alphabet.":PRINT
90 GOTO 40
run
FONCTION : Cherche dans la <chaîne contenante> l'occurence de la <chaîne contenue> et indique la position de la première occurrence de la chaîne recherchée. En son absence, la fonction indique la valeur 0.
La position du début de la recherche est facultative, elle est spécifiée par le paramètre <position de départ> sous la forme d'un entier compris entre 1 et 255.
En cas de recherche infructueuse, la fonction retourne la valeur 0.
Mots clés associés : Aucun
INT
INT (<expression numérique>)
PRINT INT(-1.995)-2
FONCTION : Arrondît au premier entier inférieur, enlevant la partie fractionnaire. Identique à FIX pour les nombres positifs. il donne 1 de moins que FIX pour les nombres négatifs qui ne sont pas des entiers.
Mots clés associés : CINT, FIX, ROUND
JOY
JOY(<nombre entier>)
10 PRINT"Pour arreter le programme - ";20 PRINT" actionnez la manette de jeu"
30 IF JOY(0)<0 THEN END
40 GOTO 10
run
FONCTION : La fonction JOY lit l'état de la manette de jeu spécifiée par le <nombre entier> (0 ou 1). Le résultat n'a de signification qu'en binaire.
|
Bit |
Décimal |
|
0: Haut |
1 |
|
1: Bas |
2 |
|
2: Gauche |
4 |
|
3: Droite |
8 |
|
4: Tir 2 |
16 |
|
5: Tir 1 |
32 |
Ainsi, lorsque vous appuyez sur le bouton de « tir » (Tir 2) de la première manette en déplaçant celle-ci vers la gauche, la fonction JOY (0) envoie une valeur décimale égale à 20, soit 16 (Tir 2) + 4 (Gauche).
Pour de plus amples informations, consulter le chapitre « Pour information... ». Mots clés associés : CLEAR INPUT, INKEY
KEY
KEY <numéro logique de touche>,<chaîne alphanumérique>
KEY 11,"border 13:paper 0:pen 1:ink 0,13:ink 1,0:mode 2: list "+CHR$(13)
Appuyez sur la touche [ENTER].
COMMANDE : Associe une chaîne à la touche (KEY) correspondant au <numéro logique de touche> spécifiée. II existe 32 numéros logiques de touche (de 0 à 31). occupant les touches 128 à 159. Les touches 128 (0 sur le clavier numérique) à 130 ([CONTROL] [ENTER] sur le clavier numérique) sont associées par défaut aux chiffres 0 à 9. au point décimal, à [RETURN] et à RUN" [RETURN] - (pour la cassette), mais peuvent étre associées à d'autres chaînes si nécessaire. Les numéros logiques de touche 13 à 31 (touches 141 à 159) sont affectés à des chaînes vides par défaut mais peuvent être étendus et associés .i des touches, à l'aide de la commande KEY DEF.
Le <numéro logique de touche> fourni dans la commande KEY doit être compris entre 0 et 31 ou entre 128 et 159 pour correspondre aux numéros physiques des touches du clavier numérique. (Voir la représentation des touches au chapitre « Pour information... »).
La chaîne spécifiée ne doit pas dépasser 120 caractères au total . Le dépassement de cette limite entraîne une erreur (5) « Improper argument » (argument incorrect).
Mots clés associés : KEY DEF
KEY DEF
KEY DEF <numéro de touche>, < répétition > [,<normal >[,<avec: shift> [,<avec control > ]]]
KEY 159,"c'est la touche TAB"KEY DEF 68,1,159
Appuyez sur la petite touche [TAB]
COMMANDE: Définit la valeur logique d'une touche (KEY) DEFinie par son numéro physique, compris entre 0 et 79 (voir l'illustration des numéros de touche en haut à droite de l'ordinateur ou au chapitre « Pour information... »). Les paramètres <normal>, < avec shift > et < avec control > doivent contenir les valeurs à envoyer lorsque la touche est enfoncée, seule, avec [SHIFT] ou avec [CONTROL]. Ces paramètres sont facultatifs.
Le paramètre < répétition > permet d'activer et de désactiver la fonction d'auto-répétition (1 ou 0). La vitesse de celle-ci est réglable par la commande SPEED KEY.
Dans l'exemple ci-dessus, la touche 159 (correspondant au numéro logique 31) est d'abord associée à une chaîne. La commande KEY DEF définit ensuite la touche 68 (touche [TAB] ) pour activer l'auto-répétition (1) et envoyer la valeur <normal> 159 lorsque la touche est enfoncée.
Pour revenir au mode normal :
KEY DEF 68,0,9
...9 étant la valeur ASCII normale de [TAB].
Mots clés associés : KEY, SPEED KEY
LEFT$
LEFT$ (<chaîne alpha numérique>,<longueur requise>)
10 CLS20 a$="AMSTRAD"
30 FOR n=1 TO 7
40 PRINT LEFT$(a$,n)
50 NEXT
run
FONCTION : Extrait un certain nombre de caractères (entre 0 et 255) à gauche d'une <chaîne alphanumérique>. Si la chaîne est plus courte que la longueur requise, elle est utilisée entièrement.
Mois clés associés : MID$, RIGHT$
LEN
LEN (<chaîne alphanumérique>)
10 LINE INPUT "entrez une phrase";a$20 PRINT"Ia phrase est longue de";
30 PRINT LEN(a$);"caracteres."
run
FONCTION : Donne le nombre de caractères de la <chaîne alphanumérique>, les espaces compris.
Mots clés associés : Aucun
LET
LET < variable > = < expression >
LET x=100
COMMANDE: Un reste des BASIC historiques, pour lesquels on devait annoncer ses variables. Seulement utile pour la compatibilité avec des programmes antérieurs. En AMSTRAD BASIC, il suffit d'écrire
x=100
Mots clés associés : Aucun
LINE INPUT
LINE INPUT #(<numéro dc canal >,][;][<chaîne> ,séparateur>] < variable en chaîne >
10 LINE INPUT "tapez une ligne de texte ponctuee.";a;20 CLS
30 PRINT"la variable a$ est bien eagle a :-"
40 PRINT a$
run
COMMANDE: Reçoit une ligne entière en provenance du canal indiqué (#0 en l'absence de spécification). Le premier [;] point-virgule facultatif supprime le retour chariot/saut de ligne qui intervient normalement après exécution de la commande.
Le < séparateur> peut être un point-virgule ou une virgule. Le point-virgule entraîne l'affichage d'un point d'interrogation ; la virgule le supprime.
L'entrée de LINE INPUT au clavier se termine par l'activation de la touche [RETURN].
LINE INPUT en provenance du canal #9 de la disquette (ou de la cassette) se termine par un retour chariot ou par l'affectation de plus de 255 caractères à la < variable en chaine>.
Mots clés associés : INPUT
LIST
LIST [<ensemble de lignes>][, <numéro de canal>]
LIST 100-1000,#1
COMMANDE : Liste le programme sur le canal désiré. #0 est l'écran. #8 est l'imprimante. Le LISTage peut être provisoirement interrompu si vous appuyez une fois sur la touche [ESC], pour être ensuite repris à l'aide de la barre d'espacement. Si vous appuyez deux fois sur [ESC], vous arrêter le listage et revenez au mode direct.
Vous pouvez omettre le premier ou le dernier numéro de ligne du paramètre <ensemble de lignes> pour lister le programme depuis le début, ou jusqu'à la fin.
Exemples :
LIST -200
...ou :
LIST 50
...ou :
LIST
...liste la totalité du programme.
Mots clés associés : Aucun
LOAD
LOAD <nomfich>[,<adressc>]
LOAD "fichdisc.xyz",&2AF8
COMMANDE : Charge en mémoire un programme BASIC se trouvant sur disquette, en écrasant tout programme en place. Avec l'option de l'adresse, charge un fichier binaire à l'adresse indiquée au lieu de l'adresse à laquelle il se trouvait au moment de la sauvegarde.
Un programme protégé ne peut PAS être chargé par la commande LOAD car il est alors immédiatement effacé de la mémoire. Dans ce cas, utiliser RUN ou CHAIN.
Mots clés associés : CHAIN, CHAIN MERGE, MERGE, RUN, SAVE
LOCATE
LOCATE[#< numéro de canal>,]<coordonnée x >,<coordonnée y>
10 MODE 120 FOR n=1 TO 20
30 LOCATE n,n
40 PRINT CHR$(143);"position";
50 PRINT n;",";n
60 NEXT
run
COMMANDE : Déplace le curseur de texte vers une nouvelle position relative au coin supérieur gauche de la fenêtre (WINDOW). #0 représente le canal par défaut.
Mots clés associés : WINDOW
LOG
LOG (<expression numérique>)
PRINT LOG(9999)9.21024037
FONCTION: Calcule le LOGarithme naturel d'une expression numérique (supérieure à 0).
Mots clés associés : EXP, LOG 10
LOG 10
LOG 10 <expression numérique>)
PRINT LOG10(9999)3.99995657
FONCTION: Calcule le LOGarithme à base 10 de l'<expression numérique> (supérieure à zéro).
Mots clés associés : EXP, LOG
LOWER$
LOWER$ (<chaîne alphanumérique>)
10 a$ "REGARDEZ COMMENT LES LETTRES SONT CHANGEES "
20 PRINT LOWER$(a$+"EN TYPE MINUSCULE") run
FONCTION : Change toutes les majuscules d'une chaîne alphanumérique en minuscules. Utile quand on attend des réponses composées d'un mélange de majuscules et de minuscules.
Mots clés associés : UPPER$
MASK
MASK [<nombre entier>][,< tracé du premier point>]
10 MODE 0:INK 5,21:INK 8,1620 MOVE -100*RND,400$RND
30 WHILE XPOS<640
40 FOR x=1 TO 8
50 MASK 2t(8-x)
60 DRAWR 32,0,x,1:MOVER -32,0
70 NEXT
80 MOVER 34,0
90 WEND:GOTO 20
run
COMMANDE : Définit le modèle à utiliser pour le tracé des lignes. La valeur binaire du <nombre entier> comprise entre 0 et 255 active (1) ou désactive (0) les bits dans chaque groupe adjacent de 8 pixels.
Le paramètre < tracé du premier point > détermine si le premier point de la ligne doit être tracé (1) ou non (0).
Vous pouvez omettre l'un des paramètres mais pas les deux. Si vous en omettez un, sa spécification demeure inchangée.
Mots clés associés : DRAW, DRAWR, GRAPHICS PAPER, GRAPHICS PEN
MAX
MAX (<liste de: <expression numérique>)
10 n=6620 PRINT MAX(1,n,3,6,4,3)
run
66
FONCTION : Donne la valeur la plus grande (MAXimale) de la liste.
Mots clés associés : MIN
MEMORY
MEMORY <adresse>
MEMORY &20AA
COMMANDE: Définit la quantité de mémoire BASIC disponible en fixant l'adresse de l'octet le plus élevé.
REMARQUE : Le BASIC n'exploite que le bloc 0 de la mémoire. Mots clés associés FRE, HIMEM, SYMBOL, SYMBOL AFTER
MERGE
MERGE <nomfich>
MERGE "nouversi.bas"
COMMANDE: Charge un programme à partir de la disquette et l'ajoute au programme déjà en mémoire.
Les numéros dc ligne du programme en place se retrouvant dans le nouveau programme sont automatiquement écrasés.
Les fichiers protégés (SAuVEgardés par SAVE,p) ne peuvent PAS être fusionnés avec un autre programme en place.
Mots clés associés : CHAIN, CHAIN MERGE, LOAD
MID$
MID$ (<chaîne alphanumérique>,< position de départ >[,<longueur de la souschaîne >])
10 MODE 1:ZONE 320 a$="ENCYCLOPEDIE"
30 PRINT"Regardez comment epeler ";a$
40 PRINT
50 FOR n=1 TO LEN(a$)
60 PRINT MID$(a$,n,I),
70 FOR t=1 TO 700:NEXT t,n
80 PRINT:PRINT
90 INPUT "entrez un nouveau mot";a$
100 GOTO 50
run
FONCTION : Renvoie une nouvelle sous-chaîne commençant à la <position de départ> de la <chaîne alphanumérique> et contenant le nombre de caractères correspondant à la <longueur de la sous-chaîne>. Si le paramètre <longueur de la sous-chaîne> n'est pas spécifié, la fonction renvoie le reste de la <chaîne alphanumérique> à partir de la <position de départ>.
Si la <position de départ > est supérieure à la longueur totale de la <chaîne alphanumérique >, une chaîne vide est renvoyée. La < position de départ > est comprise entre 1 et 255, la <longueur de la sous-chaîne > entre 0 et 255.
Mots clés associés : LEFT$, RIGHT$
MID$
MID$ (<variable chaîne>,<position d'insertion>[,<longueur de la nouvelle chaîne>])=<nouvelle chaîne alphanumérique>
10 a$="bonjour"20 MID$(a$,3,2)="XX"
30 PRINT a$
run
boXXour
COMMANDE: Insère dans la chaîne spécifiée une <nouvelle chaîne alphanumérique> d'un nombre de caractères donné, à la <position d'insertion>.
Lorsque vous utilisez MID$ en tant que COMMANDE, vous devez faire appel à une <variable chaîne>, tel que A$ et non PAS à une constante comme « bonjour ».
Mots clés associés : LEFT$, RIGHT$
MIN
MIN (<liste de: <expression numérique>)
PRINT MIN(3,6,2.999,8,9,)2.999
FONCTION : Donne la valeur la plus petite (MINimale) de la <liste de:<expressions numériques>.
Mots clés associés : MAX
MOD
<argument 1> MOD <argument 2>
PRINT 10 MOD 31
PRINT 10 MOD 5
0
OPERATEUR : Donne le reste de la division entière de l'<argument 1> par l'<argument 2> (on dit <argument I > MODulo <argument 2>).
Mots clés associés : Aucun
MODE
MODE <nombre entier>
10 m=m+1:IF m>2 THEN m=020 MODE m
30 PRINT"Ceci est le mode";m
40 PRINT"Pressez une touche"
50 IF INKEY$="" THEN GOTO 50 ELSE 10
run
COMMANDE: Modifie le mode d'écran (0, 1 ou 2) et rétablit sur l'écran l'encre 0, même si l'encre actuellement utilisée par le papier est différente. Toutes les fenêtres et curseurs sont réinitialisés.
Mots clés associés WINDOW, ORIGIN
MOVE
MOVE <coordonnée x>,<coordonnée y>[,[ <encre>][,< mode d'encre>]]
10 MODE 1:TAG20 x=RND*800-100:y=RND*430
30 MOVE x,y
40 PRINT"je suis ici";
50 GOTO 20
run
COMMANDE : Positionne le curseur graphique au point absolu spécifié. Le paramètre facultatif <encre> (compris entre 0 et 15) permet de changer la couleur du stylo graphique.
Le paramètre facultatif < mode d'encre> détermine l'interaction de l'encre sur l'affichage en place à l'écran. II existe 4 < modes d'encre> :
0: Normal
1: XOR (OU exclusif)
2: AND (ET)
3: OR (OU)
Mots clés associés : MOVER, ORIGIN, XPOS, YPOS
MOVER
MOVER <décalage x>,<décalage y>[,[<encre>][,<,mode d'encre>]]
10 MODE 1:TAG:MOVE 0,1620 PRINT"la vie a ses";
30 FOR n=1 TO 10
40 MOVER -45,16
50 PRINT"hauts";:NEXT:PRINT" et";
60 FOR n=1 TO 10
70 MOVER -64,-16
80 PRINT"bas";:NEXT
run
COMMANDE: Positionne le curseur graphique en coordonnées relatives (par rapport à la position actuelle). Le paramètre facultatif <encre> (compris entre 0 et 15) permet de changer la couleur du stylo graphique.
Le paramètre facultatif < mode d'encre> détermine l'interaction de l'encre sur l'affichage en place à l'écran. Il existe 4 < modes d'encre> :
0: Normal
1: XOR (OU exclusif)
2: AND (ET)
3: OR (OU)
Mots clés associés : MOVE, ORIGIN, XPOS, YPOS
NEW
NEW
NEW
COMMANDE: Efface le programme et les variables en mémoire. Les définitions de touches ne sont pas effacées et l'affichage reste ce qu'il était (MODE. PEN, PAPER, INK etc.).
Mots clés associés: Aucun
NEXT
NEXT [<liste de: < variable > ]
10 FOR a=1 TO 320 FOR b=0 TO 26
30 MODE 1
40 PEN a:BORDER b
50 PRINT"PEN";a;"BORDER";b
60 FOR c=1 TO 500
70 NEXT c,b,a
run
COMMANDE : Marque la fin d'une boucle commencée avec FOR. La commande NEXT peut être anonyme ou peut se rapporter au FOR concerné. Dans l'exemple ci
dessus, la < liste de:vanable > doit apparaître en sens inverse de la spécification des commandes FOR, afin d'éviter le chevauchement des boucles imbriquées.
Mots clés associés : FOR, STEP, TO
NOT
NOT <argument>
IF NOT "alain" < "bernard" THEN PRINT "vrai" ELSE PRINT "faux"faux
IF NOT "chat" > "chien" THEN PRINT "vrai" ELSE PRINT faux'
vrai
....
PRINT NOT -1
0
PRINT NOT 0
-1
OPERATEUR : Exécute des opérations par bit sur des entiers. Inverse chaque bit de l'argument. Pour de plus amples informations, consultez la partie 2 du chapitre « A vos heures de loisir... ».
Mots clés associés : AND, OR, XOR
ON BREAK CONT
ON BREAK CONT
10 ON BREAK CONT20 PRINT"Le programme CONTinuera si vous essayez de faire *Break* avec la touche [ESC]":PRINT
30 FOR t=1 TO 1000:NEXT:GOTO 20
run
COMMANDE: Annule l'action de la touche [ESC], empêchant l'arrêt du programme. Cette commande est à utiliser avec précaution car le programme ne peut alors être interrompu que par réinitialisation complète de l'ordinateur (vous devez donc sauvegarder le programme avant de le lancer).
Vous pouvez désactiver ON BREAK CONT par ON BREAK STOP à l'intérieur d'un programme.
Mots clés associés : ON BREAK GOSUB, ON BREAK STOP
ON BREAK GOSUB
ON BREAK GOSUB <numéro de ligne>
10 ON BREAK GOSUB 4020 PRINT"le programme tourne" 30 GOTO 20
40 CLS:PRINT"Appuyer 2 fois [ESC],";
50 PRINT"appelle le sous-programme"
60 FOR t=1 TO 2000:NEXT
70 RETURN
run
COMMANDE: Demande au BASIC de passer au sous-programme spécifié par le <numéro de ligne> lorsque vous appuyez deux fois sur [ESC].
Mots clés associés: ON BREAK CONT, ON BREAK STOP, RETURN
ON BREAK STOP
ON BREAK STOP
10 ON BREAK GOSUB 4020 PRINT"le programme tourne"
30 GOTO 20
40 CLS:PRINT"Appuyer 2 fois (ESC),";
50 PRINT"appelle le sous-programme"
60 FOR t=1 TO 2000:NEXT
65 ON BREAK STOP
70 RETURN
run
COMMANDE: Désactive les commandes ON BREAK CONT et ON BREAK GOSUB pour permettre l'arrêt du programme sur activation de la touche [ESC]. Dans l'exemple ci-dessus, la commande ON BREAK GOSUB ne fonctionne qu'une seule fois car elle est désactivée à la ligne 65 dans le sous-programme ON BREAK.
Mots clés associés : ON BREAK CONT, ON BREAK GOSUB
ON ERROR GOTO
ON ERROR GOTO <numéro de ligne>
10 ON ERROR GOTO 6020 CLS:PRINT"Si une erreur est trouvee, ";
30 PRINT"alors LISTer le programme"
40 FOR t=1 TO 4000:NEXT
50 GOTO 100
60 PRINT"Erreur detectee a la ligne";
70 PRINT ERL:PRINT:LIST run
COMMANDE: Passe à la ligne spécifiée aussitôt qu'une erreur est détectée.
La commande ON ERROR GOTO 0 désactive le déroutement du programme sur erreur et rétablit le traitement normal des erreurs par le BASIC.
Voir également la commande RESUME
Mots clés associés : DERR, ERL, ERR, ERROR, RESUME
ON <expression> GOSUB
ON <sélecteur> GOSUB <Iistede:<numéro de ligne>
10 PAPER OPEN 1:INK 0,120 CLS:PRINT" MENU ":PRINT
30 PRINT"1 - Changer le cadre":PRINT
40 PRINT"2 - Changer le stylo":PRINT
50 PRINT"3 - Changer de mode":PRINT
60 INPUT "Votre choix";x
70 ON x GOSUB 90,110,130
80 GOTO 20
90 b=b-1:IF b<0 THEN b=26
100 BORDER b:RETURN
110 p=p-1: IF p<2 THEN p=26
120 INK 1,p:RETURN
130 m=m-1:IF m<0 THEN m=2
140 MODE m:RETURN
run
COMMANDE : Sélectionne une ligne de sous-programme en fonction de la valeur du <sélecteur> (nombre entier compris entre 0 et 255). L'ordre des valeurs des <sélecteurs> détermine le numéro de ligne à extraire de la <liste de: <numéros de lignes>. Dans l'exemple ci-dessus
1 provoque le passage à la ligne 90,
2 provoque le passage à la ligne 110,
3 provoque le passage à la ligne 130.
Si cette expression est égale à zéro, ou si elle est supérieure au nombre de lignes de la liste spécifiée dans la commande, la sélection n'a pas lieu.
Mots clés associés : RETURN
ON <expression> GOTO
ON <sélecteur> GOTO <liste de. <numéro dc ligne>
10 CLS:PRINT' MENU ":PRINT20 PRINT"1 - LISTe le programme":PRINT
30 PRINT'2 - EDITe pour corriger':PRINT
40 PRINT"3 - Fait le CATalogue":PRINT
50 INPUT "Votre choix,";n
60 ON n GOTO 80,90,100
70 GOTO 10
80 LIST
90 AUTO
100 CAT
run
COMMANDE : Sélectionne une ligne à laquelle le programme doit sauter en fonction de la saleur du <sélecteur> (nombre entier compris entre 0 et 255). L'ordre des valeurs du <sélecteur> détermine le numéro de ligne à extraire de la <liste de: <numéros de lignes>. Dans l'exemple ci-dessus
1 provoque le passage à la ligne 80,
2 provoque le passage à la ligne 90,
3 provoque le passage à la ligne 100.
Si cette expression est égale à zéro, ou si elle est supérieure au nombre de lignes de la liste spécifiée dans la commande, la sélection n'a pas lieu.
Mots clés associés : Aucun
ON SQ GOSUB
ON SQ (< numéro de canal >) GOSUB < numéro de ligne>
10 ENV 1,15,-1,120 ON SQ(1) GOSUB 60
30 MODE 0:ORIGIN 0,0,200,440,100,300
40 FOR x=1 TO 13:FRAME:MOVE 330,200,x
50 FILL x:NEXT:GOTO 40
60 READ s: IF s=0 THEN RESTORE:GOTO 60
70 SOUND 1,s,25,15,1
80 ON SQ(1) GOSUB 60:RETURN
90 DATA 50,60,90,100,35,200,24,500,0
run
COMMANDE Provoque un déroutement en cas de place dans une file sonore (Sound Queue). Le < numéro de canal > est un nombre entier indiquant une des valeurs :
1: pour canal A
2: pour canal B
4: pour canal C
Pour de plus amples informations concernant la logique sonore, consultez la partie 2 du chapitre « A vos heures de loisir...».
Mots clés associés. RETURN, SOUND, SQ
OPENIN
OPENIN <nomfich>
10 REM Ouvre et Recoit le fichier en provenance de la disquette20 OPENIN "NOMFICH":INPUT #9,a,a$
30 CLOSEIN:PRINT"les 2 valeurs sont:"
40 PRINT:PRINT a,a$
run
COMMANDE : Ouvre un fichier existant sur la disquette afin d'y lire des données destinées au programme en mémoire. Le fichier à ouvrir doit être un fichier ASCII. Cet exemple ne fonctionne que si vous aver créé le fichier selon l'exemple de la commande OPENOUT.
Mots clés associés : CLOSEIN, EOF
OPENOUT
OPENOUT <nomfich>
10 REM Ouvre et Sort le fichier sur la disquette20 INPUT "Donnez moi un nombre";a
30 INPUT "Donnez moi un mot"; a$
40 OPENOUT "NOMFICH"
50 WRITE #9, a, o$
60 CLOSEOUT:PRINT"les donnees sont sauvees sur disquette"
run
COMMANDE: Ouvre sur la disquette un fichier de sortie utilisable par le programme en mémoire
Mots clés associés : CLOSEOUT
OR
<argument> OR <argument>
IF "alain" < "bernard" OR "chien" > "chat" THEN PRINT "vrai" ELSE PRINT "faux"vrai
IF "bernard" < "alain" OR "chat" > "chien" THEN PRINT "vrai" ELSE PRINT "faux"
faux
IF "alain" < "bernard" OR "chat" > "chien" THEN PRINT "vrai" ELSE PRINT "faux"
vrai
....
PRINT 1 AND 1
1
PRINT 0 AND 0
0
PRINT 1 AND 0
1
OPERATEUR : Exécute en langage machine des opérations booléennes sur des entiers. Donne 1 dans tous les cas sauf si les deux arguments sont égaux à 0. Pour de plus amples informations sur la logique, consultez la partie 2 du chapitre « A vos heures de loisir.. ».
Mots clés associés : AND, NOT, XOR
ORIGIN
ORIGIN <x>,<y>[,<gauche>,<droitc>,<haut>.<bas>)
10 MODE 1:BORDER 13:TAG20 ORIGIN 0,0,100,540,300,100
30 GRAPHICS PAPER 3:CLG
40 FOR x=550 TO -340 STEP -10
50 MOVE x,206
60 PRINT"Voici une fenetre graphique ";
70 FRAME:NEXT:GOTO 40
run
COMMANDE: Établit le point d'origine du curseur graphique aux coordonnées <x>. <y> spécifiées. Vous pouvez également fixer les dimensions de la fenêtre graphique par spécification des quatre derniers paramètres facultatifs. Si les coordonnées spécifiées pour la fenêtre graphique se trouvent en dehors de l'écran, les bords de l'écran sont alors considérés comme les limites de la fenêtre.
Mots clés associés. CLG
OUT
OUT < numéro du port >, < nombre entier >
OUT &F8F4,&FF
COMMANDE . Envoie la valeur du <nombre entier> (entre 0 et 255) vers le port de sortie précisé par son adresse.
A déconseiller aux utilisateurs peu avertis.
Mots clés associés : INP, WAIT
PAPER
PAPER [#<numéro du canal>,]<encre>
10 MODE 0:PEN 0:INK 0,1320 FOR p=1 TO 15
30 PAPER p:CLS
40 LOCATE 7,12:PRINT"PAPER";p
50 FOR t=1 TO 500:NEXT t,p
run
COMMANDE: Etablit la couleur du fond pour les caractères. Lors de l'affichage des caractères sur l'écran, sa matrice (la grille) est remplie par l'<encre> correspondant au papier (PAPER INK) avant qu'il ne soit lui-même affiché (sauf en cas de mode transparent).
Si le <numéro de canal> n'est pas spécifié, le canal #0 est pris par défaut.
Le nombre de couleurs disponibles dépend du mode choisi.
Mots clés associés INK, GRAPHICS PAPER, PEN
PEEK
PEEK (<adresse>)
10 MODE 1:ZONE 720 WINDOW 1,40,1,2: WINDOW *1,1,40,3,25
30 PRINT"Adresse memoire"
40 LOCATE 20,1:PRINT"Contenu memoire"
50 FOR n=0 TO 65535
60 p=PEEK(n)
70 PRINT #1,n,"(&";HEX$(n);")";
80 PRINT *i,TAB(20);p,"(&";HEX$(p);")"
90 NEXT
run
FONCTION : Lit le contenu de la case mémoire Z80 dont l'<adresse> est indiquée entre les parenthèses. Cette adresse doit étre comprise entre &0000 et &FFFF (0 et 65535). PEEK n'opère que sur la mémoire vive (RAM). jamais sur la mémoire morte (ROM), et fournit des valeurs comprises entre &00 et &FF (0 et 255).
Mots clés associés : POKE
PEN
PEN #[<numéro de canal>,][<encre>][,<mode du fond>]
10 MODE 0:PAPER 0:INK 0,1320 FOR p=1 TO 15
30 PEN p:PRINT SPACE$(47);"PEN";p
40 FOR t=1 TO 500:NEXT t,p:GOTO 20
run
COMMANDE : Sélectionne l' <encre> à utiliser (de 0 à 15) pour écrire sur le canal indiqué (par défaut : #0). Le paramètre <mode du fond> peut être soit transparent (1), soit opaque (0).
Au moins un des deux derniers paramètres doit figurer. Si l'un d'eux est omis, sa valeur antérieure reste inchangée.
Mots clés associés : PAPER
PI
PI
PRINT PI3.14159265
FONCTION : Fournit la valeur du rapport circonférence-diamètre d'un cercle. Mots clés associés : DEG, RAD
PLOT
PLOT <coordonnée x>,< coordonnée y > [,[<encre>][,<mode d'encre]]
10 MODE 1:BORDER 0:PAPER 0:PEN 120 INK 0,0:INK 1,26:INK 2,13,26:DEG
30 FOR x:1 TO 360:ORIGIN 320,200
40 DRAW 50*COS(x),50*SIN(x),1
50 PLOT 100*COS(x),25*SIN(x):NEXT
60 ORIGIN 0,0:t=TIME+700:WHILE TIME<t
70 PLOT RND*640,RND*400:WEND
80 PLOT RNDf640,RND*400,2
90 GOTO 90
run
COMMANDE . Affiche, en mode graphique. le point de coordonnées x et y On définit l'<encre> de ce point sur une échelle de 0 à 15.
Le paramètre facultatif < mode d'encre > détermine le mode d'interaction entre la couleur utilisée et celle de l'écran. Voici les quatre modes possibles :
0 : Normal
1 : XOR (OU exclusif)
2 : AND (ET) : OR (OU)
Mots clés associés GRAPHICS PEN, PLOTR
PLOTR
PLOTR < décalage x >, < décalage y > [,[<encre>][,<mode d'encre>]]
10 REM utilisez le pave curseur pour dessiner20 BORDER 0:GRAPHICS PEN 1
30 MODE 1:PLOT 320,200
40 IF INKEY(0)=0 THEN PLOTR 0,1
50 IF INKEY(1)=0 THEN PLOTR 1,0
60 IF INKEY(2)=0 THEN PLOTR 0,-1
70 IF INKEY(B)=0 THEN PLOTR -1,0
80 IF INKEY(9)=0 THEN 30:REM [COPY]=CLS
90 GOTO 40
run
COMMANDE :En mode graphique, affiche à l'écran le point de coordonnées x et y relatives à la position du curseur à ce moment. On définit l'<encre> de ce point sur une échelle de 0 à 15.
Le paramètre facultatif <mode d'encre> définit le mode d'interaction entre la couleur utilisée et celle de l'écran. Voici les quatre modes possibles :
0: Normal
1 : XOR (OU exclusif)
2 : AND (ET)
3 : OR (OU)
Mots clés associés : GRAPHICS PEN, PLOT
POKE
POKE <adresse>,<nombre entier>
10 FOR m=49152 TO 6553520 POKE m,100
30 NEXT
run
COMMANDE : Inscrit la saleur correspondant au <nombre entier> (compris entre 0 et 255) directement dans la case de la mémoire vive (RAM) du Z80 dont l'<adresse> est indiquée.
Commande à utiliser avec précaution !
Mots clés associés : PEEK
POS
POS (#<numéro de canal>)
10 MODE 1:BORDER 0:LOCATE B,2
20 PRINT"utilisez les fleches droite/gauche "
30 WINDOW 1,40,12,12:CURSOR 1,1
40 FOR n=1 TO 19:PRINT CHR$(9);:NEXT
50 IF INKEY(1)<>-1 THEN PRINT CHR$(9);
60 IF INKEY(8)<>-1 THEN PRINT CHR$(B);
70 LOCATE #1,2,24
80 PRINT #1,"curseur texte,";
90 PRINT #1,"position horizontale="; 100 PRINT *I,POS(*0):GOTO 50 run
FONCTION : Calcule la POSition du curseur de texte sur l'axe horizontal, à partir du bord gauche de la fenêtre. Le < numéro de canal > doit obligatoirement être précisé ; il ne prend pas la valeur #0 par défaut.
POS(#8) calcule la position horizontale du chariot de l'imprimante par rapport à la marge de gauche (de coordonnée 1).
POS(#9) calcule la position logique du canal d'unité de disquettes, c'est-a- dire le nombre de caractères transmis depuis le dernier « retour chariot ».
Mots clés associés: VPOS, WINDOW
PRINT [#< numéro de canal > ,][ < liste de: <article à imprimer>]
10 a$="petite"
20 b$="Ceci est une longue chaine de caracteres"
30 PRINT a$;a$
40 PRINT a$,a$
50 PRINT
60 PRINT b$;b$
70 PRINT b$,b$ run
COMMANDE: Transmet la <liste de:<article à imprimer> ou à afficher sur le canal indiqué, (#0 par défaut).
Le point-virgule indique à l'ordinateur qu'un article doit être imprimé immédiatement à la suite du précédent. Toutefois, s'il est trop long pour tenir sur la même ligne, l'ordinateur passe tout de même à la ligne.
La virgule indique qu'un article doit être positionné à la tabulation suivante. Toutefois, si l'impression ou l'affichage de l'article précédent déborde sur la tabulation indiquée, l'ordinateur décale le nouvel article d'une tabulation supplémentaire.
PRINT SPC
PRINT TAB
PRINT [#<numéro de canal>,][<liste de: <article à imprimer>][;] [SPC (< nombre entier>)][< liste de: <article à imprimer> ]
PRINT [#<numéro de canal>,][<liste de: <article à imprimer>][;] [TAB (< nombre entier > )][ <liste de: <article à imprimer>]
10 PRINT"ceci est l'instruction SPC"20 FOR x=6 TO 15
30 PRINT SPC(5)"a";SPC(x);"b"
40 NEXT
50 PRINT"ceci est l'instruction TAB"
60 FOR x=6 TO 15
70 PRINT TAB(5)"a";TAB(x);"b"
80 NEXT
run
SPC ménage le nombre d'espaces vides indiqué par le <nombre entier> avant d'imprimer ou d'afficher l'article indiqué, à condition que ce dernier tienne intégralement sur la ligne. Il est donc inutile d'utiliser le point-virgule avec la commande SPC.
TAB ménage, à partir de la marge de gauche, le nombre d'espaces vides indiqué avant d'imprimer ou d'afficher l'article désigné, à condition que ce dernier tienne sur la ligne. Le point-virgule est donc inutile après TAB. Si le curseur a déjà dépassé la position demandée, un changement de ligne est effectué avant la tabulation.
PRINT USING
PRINT [#<numéro de canal>][< liste de:< article à imprimer >][:] [USING <modèle de format >][<séparateur> <expression>]
10 FOR x=1 TO 1020 n=100000*(RND*5)
30 PRINT"marchandise";USING "########,##";n 40 NEXT
run
PRINT USING permet de définir le format d'impression ou d'affichage d'une expression transmise par la commande PRINT. On définit pour cela le <modèle de format> sous lequel on désire voir apparaître l'expression. On utilise comme <séparateur> soit une virgule, soit un point-virgule. Le <modèle de format> est une chaîne de caractères composée des « indicateurs de champ » suivants :
Formats numériques
Dans un nombre .
# Chaque signe # indique l'emplacement d'un chiffre.
Exemple : ######
. Indique l'emplacement du point décimal (équivalent à notre virgule).
Exemple : ######.##
, (Réserve un espace). Ce signe. ne pouvant figurer qu'immédiatement avant le point décimal, indique que les chiffres situés à gauche du point décimal seront disposés par groupes de trois (correspondant aux milliers) séparés entre eux par une virgule.
Exemple: ######,.##
Encadrement d'un nombre
££ (Réserve deux espaces). Indique que le signe £ apparaîtra immédiatement avant le premier chiffre ou le point décimal, c'est-à-dire sur l'un des emplacements réservés aux chiffres.
Exemple : ££######,.##
** (Réserve deux espaces). Indique que tous les espaces vides situés avant le nombre seront comblés par les astérisques.
Exemple : **######,.##
**£ (Réserve trois espaces). Additionne les options **et £, c'est-a-dire les astérisques en tête et le signe t précédant immédiatement le nombre Exemple : *£######,.##
$$ (Réserve deux espaces). Indique que le signe $ apparaîtra immédiatement à gauche du premier chiffre ou du point décimal, c'est-à-dire sur l'un des emplacements réservés aux chiffres
Exemple $$######,.##
**$ (Réserve trots espaces). Additionne les options ** et $$, c'est-à-dire les astérisques en tête et le signe $ précédant immédiatement le nombre. Exemple : **$######,.##
+ Indique qu'on désire voir figurer le signe du nombre. Ce signe apparaîtra avant le nombre si le + est situé au début du <modèle de format> et après le nombre s'il est situé à la fin.
Le signe - ne peut figurer qu'A LA FIN du masque. Il demande la présence du signe - après tout nombre ou tout exposant négatifs. En l'absence de cette spécification. le signe - apparaît par défaut axant le nombre négatif. Exemple ####.####-
áááá Indique que le nombre doit apparaître en exposant. Les signes áááá se placent AIRES le dernier emplacement des chiffres, mais AVANT tout signe + ou - final.
Exemple . *.****áááá+
La longueur maximale du <modèle de format > d'un nombre est de 20 caractères. Les nombres sont arrondis au nombre de signes indiqué.
Su un format est trop petit pour contenir l'expression saisie :
PRINT USING "####";12345678
...celle-ci n'est pas tronquée. mais apparaît dans son intégralité, précédée du signe % indiquant un « format erroné ».
Format d'une chaîne alphanumérique
10 CLS:a$="abcdefghtjltmnopgrst'20 PRINT"chaine alphanum.= ":a$
30 PRINT:PRINT"Avec ! = ";
40 FRINT USING "!";a$
50 PRINT:PRINT "Avec \espaces\ = ";
60 PRINT USING "\ \";a$
70 PRINT:PRINT "Avec & = ";
80 PRINT USING "&";a$
90 GOTO 90
run
! Indique que seul le premier caractère de la chaîne doit apparaître. Exemple : !
\<espaces>\
Indique que seuls Ies x premiers caractères de la chaîne doivent apparaître, x étant égal à la longueur du format (barres comprises).
Exemple: \ \
& Indique que la chaîne doit apparaître « telle quelle ». Exemple: &
Le <modèle de format> d'une chaîne ne peut excéder 255 caractères..
Tout <modèle de format> peut être representé par une variable alphanumérique. comme le montre l'exemple suivant :
10 a$="FF######,.##"20 b$="!"
30 PRINT USING a$;12345.6789;
40 PRINT USING b$;"centimes"
run
Pour plus de détails concernant les formats, voir la deuxième partie du chapitre intitulé « A vos heures de loisir... ».
Mots clés associés SPC, TAB, USING, ZONE
RAD
RAD
RAD
COMMANDE. Établit le mode de calcul en RADians. En BASIC, il est adopté par défaut.
Mots clés associés: ATN, COS, DEG, SIN, TAN
RANDOMIZE
RANDOMIZE [<expression numérique>]
RANDOMIZE 123.456PRINT RND
0.258852139
COMMANDE: Donne une valeur aléatoire calculée à partir de l'<expression numérique> indiquée. Le générateur de nombres aléatoires fournit une séquence pseudoaléatoire dans laquelle chaque nombre dépend du précédent. La séquence elle-méme est prédéterminée. Si la valeur initiale n'est pas précisée dans la commande, c'est l'utilisateur qui l'entrera en cours d'exécution. RANDOMIZE TIME fournit une séquence pratiquement imprévisible.
Mots clés associés : RND
READ
READ < liste de: <variable>
10 FOR n=1 TO B20 READ a$,c
30 PRINT a$;" ";:SOUND 1,c:NEXT
40 DATA voici,478,1es,426,8,379,notes
50 DATA 35B,de,319,la,284,gamme,253,.,239
run
COMMANDE: Lit les données contenues dans une instruction DATA et les assigne à des variables. READ passe automatiquement d'une donnée à la suivante. La commande RESTORE permet de revenir à une commande DATA antérieure.
Pour plus de détails, voir la deuxième partie du chapitre intitulé « A vos heures de loisir... ».
Mots clés associés : DATA, RESTORE
RELEASE
RELEASE <canaux sonores>
10 SOUND 65,1000,10020 PRINT"appuyez [R] pour liberer la note"
30 IF INKEY(50)=-1 THEN 30 40 RELEASE 1
run
COMMANDE: Libère les canaux sonores bloqués par la commande SOUND. Le paramètre <canaux sonores> prend les valeurs suivantes :
1 : Libère le canal A
2 : Libère le canal B
3 : Libère les canaux A et B
4 : Libère le canal C
5 : Libère les canaux A et C
6 Libère les canaux B et C
7 : Libère les canaux A, B et C
Pour en savoir plus sur le mode sonore. consultez la deuxième partie du chapitre intitulé « A vos heures de loisir... ».
Mots clés associés : SOUND
REM
REM <texte>
10 REM CHASSE AUX ENVAHISSEURS DANS L'HYPERESPACE iNTERGALACTIQUE20 REM COPYRIGHT by AMSOFT
COMMANDE . Insère une REMarque dans le programme. BASIC ne tient pas compte du < texte> situé sur la ligne à droite de REM, même si celui-ci comprend un séparateur d'instructions " : " ou tout autre code.
On peut remplacer :REM par une apostrophe ' dans tous les cas. SAUF à l'intérieur d'une instruction DATA.
Mots clés associés : Aucun
REMAIN
REMAIN (<numéro de chronomètre>)
10 AFTER 500,1 GOSUB 4020 AFTER 100,2 GOSUB 50
30 PRINT"Le programme tourne":GOTO 30
40 REM ce sous programme ne sera plus appele dans la mesure ou il a ete rendu innoperant en ligne 70
50 PRINT:PRINT "Le chronometre 1 va ";
60 PRINT"etre supprime par REMAIN."
70 PRINT"il restait":REMAIN(1);"unites de temps au chrono 1
run
FONCTION : Lit le temps restant à décompter par le chronomètre indiqué (de 0 à 3), avant de le désactiver. Pour plus de détails concernant les interruptions, consultez la deuxième partie du chapitre « A vos heures de loisir... ».
Mots clés associes : AFTER, DI, EI, EVERY
RENUM
RENUM [<nouveau numéro de ligne> ][,[< ancien numéro de ligne>][, <incrément>]]
10 CLS20 REM cette ligne deviendra:ligne 123
30 REM cette ligne deviendra:ligne 124
40 REM cette ligne deviendra:ligne 125
RENUM 123,20,1
LIST
COMMANDE: RENUMérote les lignes d'un programme.
L' <ancien numéro de ligne> est un paramètre indiquant la ligne du programme à laquelle on désire commencer la renumérotation. En l'absence de ce paramètre, toutes les lignes du programme seront renumérotées. Le <nouveau numéro de ligne> indique le nouveau numéro de la première ligne renumérotée (10 par défaut). L' <incrément> indique l'espacement désiré entre deux lignes (10 par défaut). RENUM opère les réajustements nécessaires à l'intérieur des instructions d'appel telles que GOTO et GOSUB. En revanche, il laisse inchangé les numéros de lignes contenus dans des chaînes de caractères apparaissant dans les commandes KEY, REM, CHAIN et CHAIN MERGE. Les numéros de lignes doivent être compris entre 1 et 65535.
Mots clés associés : DELETE, LIST
RESTORE
RESTORE [<numéro de ligne>]
10 READ a$:PRINT a$;" ";20 RESTORE 50
30 FOR t=1 TO 500:NEXT:GOTO 10
40 DATA les data recuperes peuvent etre lus encore
50 DATA et encore
run
COMMANDE: Ramène le pointeur sur l'instruction DATA indiquée. En l'absence de paramètre, le pointeur retourne à la première instruction DATA du programme.
Pour plus de détails, consultez la deuxième partie du chapitre « A vos heures de loisir... ».
Mots cles associés : DATA, READ
RESUME
RESUME [<numéro de ligne>]
10 ON ERROR GOTO 6020 FOR x=10 TO 0 STEP-1:PRINT 1/x:NEXT
30 END
40 PRINT"je viens ici en cas d'erreur"
50 END
60 PRINT"erreur No.";ERR;"a la ligne";ERL
70 RESUME 40
run
COMMANDE : Reprend l'exécution d'un programme après la détection et le traitement d'une erreur parla commande ON ERROR GOTO. Si aucun < numéro de ligne> n'est indiqué, l'exécution du programme reprend à la ligne contenant l'erreur détectée. Supprimez ce paramètre dans l'exemple ci-dessus, puis faites tourner le programme.
70 RESUMErun
Mots clés associés : DERL, ERL, ERR, ERROR, ON ERROR GOTO, RESUME NEXT
RESUME NEXT
RESUME NEXT
10 ON ERROR GOTO 9020 PRINT"tapez [ENTER] a chaque fois"
30 INPUT "1";a
40 INPUT "2";a
50 inpot "3";a:REM erreur de syntaxe
60 INPUT "4";a
70 INPUT "5";a
80 END
90 PRINT"erreur No.";ERR;"a la ligne";ERL
100 RESUME NEXT
run
COMMANDE: Reprend l'exécution d'un programme après la détection et le traitement d'une erreur par la commande ON ERROR GOTO.
L'exécution du programme reprend à partir de la ligne suivant immédiatement la ligne erronée,
Mots cles associes: DERR, ERR, ERROR, ON ERROR GOTO, RESUME
RETURN
RETURN
10 GOSUB 50:PRINT "Apres le GOSUB":END50 FOR n=1 TO 20
60 PRINT"sous-programme"
70 NEXT:PRINT
80 RETURN
run
COMMANDE: Indique la fin d'un sous-programme. Après l'exécution d'un sous-programme, BASIC retourne à l'instruction suivant immédiatement l'appel GOSUB correspondant.
Mots clés associés : GOSUB
RIGHT$
RIGHT$ (< chaîne alphanumérique >, <longueur requise> )
10 MODE 1:a$="ordinateur CPC 6128"20 FOR n=1 TO 16:LOCATE 41-n,n
30 PRINT RIGHT$(a$,n)
40 NEXT
run
FONCTION : Extrait un certain nombre de caractères (entre 0 et 255) à gauche d'une <chaîne alphanumérique> Si la chaîne est plus courte que la <longueur requise>, elle est utilisée entièrement.
Mots clés associés : LEFT$, MID$
RND
RND [(-expression numérique>)]
10 RANDOMIZE20 FOR x=1 TO -1 STEP -1
30 PRINT"parametre RND=";x
40 FOR n=1 TO 6
50 PRINT RND(x)
60 NEXT n,x
run
FONCTION : Fournit le prochain nombre de la séquence pseudo aléatoire en cours lorque l'<expression numérique> est positive ou lorsqu'elle ne figure pas dans la commande.
Lorsque 1'<expression numérique> est nulle, RND renvoie le dernier nombre généré.
Une valeur négative de l'<expression numérique> lance une nouvelle séquence aléatoire, dont RND fournit le premier clément.
Mots clés associés : RANDOMIZE
ROUND
ROUND (<expression numérique>[,< nombre de décimales>] )
10 FOR n=4 TO -4 STEP -120 PRINT ROUND(1234.5678,n),
30 PRINT "arrondi a";n;"decimales"
40 NEXT
run
FONCTION : Arrondit l'<expression numérique> au nombre de chiffres après la virgule ou de puissances de dix indiqué par le paramètre <nombre de décimales>. Si ce paramètre est négatif, l'expression est arrondie à un entier absolu, suivi d'un nombre de zéros égal à sa valeur absolue.
Mots clés associés ABS, CINT, FIX, INT
RUN
RUN <chaîne alphanumérique>
RUN "disc"
COMMANDE: Charge et exécute un programme BASIC ou un programme-objet situé sur la disquette. Tout programme déjà présent en mémoire est automatiquement écrasé.
Cette commande permet d'accéder directement aux programmes BASIC protégés.
Mots clés associés : LOAD
RUN
RUN [<numéro de ligne>]
RUN 200
COMMANDE : Exécute le programme BASIC présent en mémoire, en commençant au <numéro de ligne> indiqué ou, à défaut, au début du programme. RUN réinitialise toutes les variables.
Cette commande peut ne pas donner accès aux programmes protégés chargés en mémoire.
Mots clés associés : CONT, END, STOP
SAVE
SAVE <nomfch>[,<type de fichier> ][,<paramètres binaires>]
SAVE "fichdisc.xyz"
...sauvegarde le fichier en mode BASIC non protégé.
SAVE "fichdisc.xyz",P
...sauvegarde le fichier en mode BASIC Protégé.
SAVE "fichdtsc.r,yz",A
...sauvegarde le fichier en mode ASCII.
SAVE "ftchdisc.xyz",B,B000,3000,8001
...sauvegarde le fichier en mode Binaire. Dans notre exemple, le programme sera stocké en mémoire à partir de l'adresse 8000 et occupera 3000 octets. L'adresse (facultative) du point d'entrée est 8001.
COMMANDE: Sauvegarde sur disquette le programme se trouvant actuellement en mémoire. Une zone mémoire chargée sur disquette s'appelle un fichier Binaire. Voici quels sont les différents paramètres Binaires :
<adresse du début >, < taille du fichier>[,< point d'entrée>]
II est possible de sauvegarder la mémoire d'écran sous forme de fichier Binaire. Cette opération, appelée « vidage d'écran », s'effectue au moyen de la commande suivante :
SAVE "ecran",B,&0000,&4000
On obtient ensuite son rechargement à l'écran en entrant la commande :
LOAD "ecran"
Mots clés associés : CHAIN, CHAIN MERGE, LOAD, MERGE, RUN
SGN
SGN (<expression numérique>)
10 FOR n=200 TO -200 STEP -2020 PRINT" SGN renvoi";
30 PRINT SGN(n);"pour une valeur de:";n
40 NEXT
run
FONCTION : Etablit le SiGNe de l'<expression numérique>. SGN renvoie les valeurs : -1 (si l'expression est négative), 0 (si elle est nulle) et 1 (si elle est positive).
Mots clés associés : ABS
SIN
SIN (<expression numérique>)
10 CLS:DEG:ORIGIN 0,20020 FOR n=0 TO 720
30 y=SIN(n)
40 PLOT n*640/720,198*y:NEXT
50 GOTO 50
run
FONCTION : Calcule le SINus de I'<expression numérique> indiquée.
On peut exprimer l'argument en degrés ou en radians en utilisant, respectivement, les fonctions DEG et RAD.
Mots clés associés : ATN, COS, DEG, RAD, TAN
SOUND
SOUND <état de canal>,<période sonore>[, <durée>[,< volume> [,<enveloppe de volume>[,< enveloppe de tonalité>[,< période du bruit>]]]]]
10 FOR z=0 TO 409520 SOUND 1,z,1,12
30 NEXT
run
COMMANDE : Permet la programmation d'un son, à l'aide des paramètres suivants :
Paramètre 1 : <état de canal>
L' <état de canal> admet pour valeur des entiers compris entre 1 et 255. La conversion en binaire de ce paramètre donne la signification de chaque bit, selon la table de correspondance suivante :
Bit 0 (1 en décimale) : sortir le son sur le canal A (Bit de poids faible)
Bit l (2 en décimale) : sortir le son sur le canal B
Bit 2 (4 en décimale) : sortir le son sur le canal C
Bit 3 (8 en décimale) : rendez-vous avec le canal A
Bit 4 (16 en décimale) : rendez-vous avec le canal B
Bit 5 (32 en décimale) : rendez-vous avec le canal C
Bit 6 (64 en décimale) : bloquer un canal sonore
Bit 7 (128 en décimale) : vider un canal sonore (Bit de poids fort)
L'<état de canal > 68, par exemple. aura l'effet suivant :
Sortie sur le canal C (4). à l'état bloqué (64).
Paramètre 2 : <période sonore>
Ce paramètre établit la hauteur du son, c'est-à-dire la « note » produite (par exemple Do, Ré, Mi, Fa. Sol). Chaque note se définit par une valeur numérique représentant sa <période sonore> (Voir le chapitre « Pour information... ».
Paramètre 3 : <durée>
Ce paramètre établit la longueur, ou « durée ». du son. 1 unité correspond à un centième de seconde. La <durée> du son prend par défaut la valeur 20, c'est-à-dire un cinquième de seconde.
En cas de paramètre de <durée> nul, la longueur du son sera celle de l'enveloppe de volume indiquée.
Si le paramètre de <durée> est négatif, l'enveloppe de volume sera répétée pendant un nombre de fois égal à la valeur absolue du paramètre.
Paramètre 4 : <volume>
Ce paramètre établit le volume sonore initial d'une note. Il peut prendre une valeur entre 0 (volume nul) et 15 (volume maximal). L'ordinateur choisit par défaut la valeur 12.
Paramètre 5 : <enveloppe de volume>
Il est possible de moduler le volume d'une note durant son exécution à l'aide de la commande ENV. Cette commande vous permet de définir à l'avance un maximum de quinze enveloppes différentes, codées de 1 à 15. Le paramètre <enveloppe de volume> de la commande SOUND permet ensuite de sélectionner une de ces enveloppes prédéfinies.
Voir la commande ENV
Paramètre 6 : <enveloppe de tonalité>
Des variations de période, donc de hauteur, peuvent être obtenues durant l'exécution d'une note par l'intermédiaire de la commande ENT. Cette commande vous permet de définir à l'avance un maximum de 15 enveloppes de tonalité différentes, codées de I à 15. Le paramètre <enveloppe de tonalité> de la commande SOUND permet ensuite de sélectionner une de ces enveloppes prédéfinies. Si, dans la commande ENT, vous avez utilisé un numéro d'enveloppe négatif, la valeur absolue de ce nombre devra alors être prise comme paramètre de la commande SOUND.
Voir la commande ENT.
Paramètre 7 : <période de bruit>
Vous disposez d'un choix de bruits blancs pouvant être ajoutés ou supprimés du signal sonore à l'aide du paramètre < période du bruit > (valeur comprise entre 0 et 31).
Pour en savoir plus sur le mode sonore, lire la deuxième partie du chapitre intitulé « A vos heures de loisir...>>
Mots clés associés: ENT, ENV, ON SQ GOSUB, RELEASE, SQ
SPACE$
SPACE$ (< nombre entier> )
10 MODE 120 PRIN7"met 9 espaces entre vous";
30 PRINT SPACE$(9);
40 PRINT"et moi!"
run
FONCTION : Crée une chaîne d'espaces de la longueur indiquée (de 0 à 255)
Mots clés associés : SPC, STRING$, TAB
SPC
(Voir PRINT SPC)
SPEED INK
SPEED INK <période 1>,<période 2>
10 BORDER 7,1820 FOR i=30 TO 1 STEP -1
30 SPEED INK i,i
40 FOR t=1 TO 700:NEXT t,i
run
COMMANDE: Permet d'établir la période d'alternance lorsqu'une instruction INK ou BORDER prescrit l'utilisation de deux couleurs intermittentes. Les durées respectives d'utilisation de la première et de la seconde couleur sont indiquées en cinquantièmes de secondes par les paramètres <période 1> et <période 2>.
Lors du choix des paramètres, pensez aux risques d'effets secondaires hypnotiques!
Mots clés associés : BORDER, INK
SPEED KEY
SPEED KEY <délai initial>,<intervalle inter-répétitions>
10 CLS:FOR K=7 TO 1 STEP -220 PRINT"Entrez votre nom ,puis[RETURN]"
30 SPEED KEY k,k
40 LINE INPUT a$:NEXT
50 PRINT"quel drole de nom"
run
COMMANDE : Etablit la vitesse de répétition automatique du clavier. Le paramètre <délai initial > fixe le temps de réaction (mesuré en cinquantièmes de secondes) entre l'enfoncement de la touche et le début de la répétition automatique. L' < intervalle inter-répétitions> établit le laps de temps séparant les répétitions.
La commande SPEED KEY ne concerne que les touches pour lesquelles la répétition automatique existe implicitement ou celles pour lesquelles cette fonction a été programmée au moyen de la commande KEY DEF.
Avant de définir une répétition automatique à très faible <délai initial>, îl est prudent de programmer une des touches numériques afin de pouvoir rétablir les paramètres par défaut de la fonction SPEED KEY (30.2). Voici comment procéder :
KEY 0,"SPEED KEY 30,2"+CHR$(13)
Il suffira, pour revenir à l'état initial, d'actionner la touche 0 du pavé numérique.
Mots clés associés : KEY DEF
SPEED WRITE
SPEED WRITE <nombre entier>
SPEED WRITE 1
COMMANDE : Indique la vitesse de transmission des données de l'ordinateur vers un lecteur de cassettes, le cas échéant. Cette vitesse est soit de 2000 bauds (bits par seconde) si le paramètre est égal à 1. soit, par défaut. de 1000 bauds si celui-ci est égal à 0. Lors du chargement d'un fichier enregistré sur cassette, l'ordinateur choisit automatiquement la bonne vitesse de lecture.
SPEED WRITE 0 est le débit assurant la meilleure fiabilité de transfert. La commande SPEED WRITE ne s'applique pas aux unités de disquettes.
Mots clés associés : OPENOUT, SAVE
SQ
SQ (< numéro de canal>)
10 SOUND 65,100,10020 PRINT SQ(1)
run
67
FONCTION : Indique l'état de la file d'attente (Sound Queue) dans un canal sonore donné. Le <numéro de canal> doit être une expression numérique entière prenant les valeurs
1 : canal A
2 : canal B
4 : canal C
Cette fonction fournit un entier correspondant aux bits de signification suivants :
Bits 0, 1 et 2 : nombres d'entrées libres dans la file
Bits 3, 4 et 5 : état du rendez-vous au début de la file
Bit 6 : la tête de la file est bloquée
Bit 7 : le canal est en activité
... où le Bit 0 représente le bit de poids faible, et le Bit 7 celui de poids fort.
On peut constater que si le Bit 6 est à 1, le Bit 7 ne peut pas l'être. De même si les Bits 3, 4 ou 5 sont à 1, les Bits 6 et 7 ne peuvent pas l'être.
Pour plus de détails, voir la deuxième partie du chapitre intitulé « A vos heures de loisir... »
Mots clés associés : ON SQ GOSUB, SOUND
SQR
SQR (<expression numérique>)
PRINT SQR(9)3
FONCTION : Fournit la racine carrée (SQuare Root) de l'expression numérique indiquée.
Mots clés associés : Aucun
STEP
(voir FOR)
STOP
STOP
10 FOR n=1 TO 30:PRINT n:NEXT20 STOP
30 FOR n=31 TO 60:PRINT n:NEXT
run
cont
COMMANDE: Interrompt un programme, tout en laissant à l'utilisateur la possibilité d'en reprendre l'exécution au moyen de la commande CONT. STOP ; permet ainsi d'interrompre un programme à un endroit donné afin d'effectuer une mise au point.
Mots clés associés : CONT, END
STR$
STR$ (<expression numérique>)
10 a=&FF:REM 255 hexadecimal20 b=&X1111:REM 15 binaire
30 c$="***"
40 PRINT c$+STR$(a+b)+c$
run
***270***
FONCTION : Fournit sous forme de chaîne alphanumérique la représentation décimale de l'<expression numérique> indiquée.:
Mots clés associés : BIN$, DEC$, HEX$, VAL
STRING$
STRING$ (<longueur>,<caractère>)
PRINT STRING$(40,"*")****************************************
FONCTION : Fournit une chaîne de caractères de la longueur indiquée (entre 0 et 255) constituée par la répétition d'un même caractère. L'exemple ci-dessus peut également s'écrire :
PRINT STRING$(40,42)****************************************
... où le <caractère> 42 correspond à la valeur en code ASCII du caractère «*». Cette notation équivaut donc à PRINT STRINGS(40,CHR$(42)).
Mots clés associés : SPACE$
SWAP
(voir WINDOW SWAP)
SYMBOL
SYMBOL <numéro de caractère>,< liste de:<ligne>
10 MODE 1:SYMBOL AFTER 10520 rangee1=255:REM 11111111 en binaire
30 rangee2=129:REM 10000001 en binaire
40 rangee3=189:REM 10111101 en binaire
50 rangee4=153:REM 10011001 en binaire
60 rangee5=153:REM 10011001 en binaire
70 rangee6=189:REM 10111101 en binaire
80 rangee7=129:REM 10000001 en binaire
90 rangee8=255:REM 11111111 en binaire
100 PRINT"La ligne 110 redefinie la lettre i(105). Tapez quelques 'i' et regardez '"
110 SYMBOL 105,rangeel,rangee2,rangee3,rangee4,rangee5,rangee6, rangee7, rangee8
run
COMMANDE: Redéfinit la forme d'un caractère affiché à l'écran. Chacun des paramètres prend une valeur entière située entre 0 et 255.
Afin d'are en mesure d'attribuer une place en mémoire à un caractère redéfini, l'ordinateur doit avoir été préparé par la commande:
SYMBOL AFTER x
...où x est inférieur ou égal au numéro du caractère à redéfinir.
On entre ensuite la commande SYMBOL, suivie immédiatement du numéro de caractère x.
On peut toujours faire apparaître à l'écran le caractère correspondant à la valeur de x, même s'il n'est pas accessible par l'intermédiaire du clavier. On utilise pour cela la commande
PRINT CHR$(x)
Après SYMBOL x viennent les huit paramètres définissant une à une les huit lignes constituant le caractère, en commençant par le haut. Chacun des paramètres prend une valeur comprise entre 0 et 255. C'est la représentation binaire du paramètre qui définit le motif de la ligne correspondante dans le nouveau caractère.
Si, par exemple, on donne au premier paramètre la valeur 1, la représentation en binaire de la première rangée sera alors : 00000001. Le point correspondant au 1 apparaîtra dans le caractère et sera de la couleur définie dans la commande PEN. En revanche, les points correspondant aux 0 seront affichés avec la couleur PAPER, c'est-à-dire qu'ils n'apparaîtront pas. On peut donc constater que le caractère redéfini dans notre exemple comportera un point dans le coin supérieur droit. Si l'on attribue aux sept autres paramètres les valeurs : 3, 7, 15, 31,63, 0, 0, on obtient la représentation en binaire suivante
paramètre (rangée) 1 : 00000001 (1 en décimale)
paramètre (rangée) 2 : 00000011 (3 en décimale)
paramètre (rangée) 3 : 00000111 (7 en décimale)
paramètre (rangée) 4 : 00001111 (15 en décimale)
paramètre (rangée) 5 : 00011111 (31 en décimale)
paramètre (rangée) 6: 00111111 (63 en décimale)
paramètre (rangée) 7 : 00000000 (0 en décimale)
paramètre (rangée) 8 : 00000000 (0 en décimale)
Cette disposition des paramètres transcrits en binaire permet de visualiser la forme du nouveau caractère. On peut affecter ces paramètres au caractère numéro 255, par exemple, au moyen de la commande
SYMBOL 255,1,3,7,15,31,63,0,0
On remarque qu'il est inutile de faire figurer les deux derniers paramètres dans la mesure où il sont nuls.
SYMBOL 255,1,3,7,15,31,63
On peut éviter de convertir en notation décimale les symboles binaires constituant le « dessin » du caractère. Il suffit pour cela d'introduire les paramètres directement en binaire, sans oublier le préfixe &X. Dans notre cas :
SYMBOL 255,&X00000001,&X00000011,&X00000111,&X00001111 &X00011111,&X00111111
Voici maintenant la commande permettant de faire apparaître le caractère :
PRINT CHR$(255)
Si les paramètres ci-dessus sont affectés à un des caractères du clavier, le caractère redéfini apparaîtra chaque fois qu'on actionnera la touche correspondante, de même qu'à chaque commande PRINT le concernant. Ce nouveau caractère sera accepté par le BASIC comme l'équivalent du caractère remplacé.
Pour plus d'informations concernant la redéfinition de caractères, voir la deuxième partie du chapitre intitulé « A vos heures de loisir... ».
Mots clés associés : HIMEM, MEMORY, SYMBOL AFTER
SYMBOL AFTER
SYMBOL AFTER <nombre entier>
10 CLS20 SYMBOL AFTER 115
30 PRINT"La ligne 40 redefinie la lettre s ";
40 SYMBOL 115,0,56,64,64,4B,8,8,112 50
PRINT"en s"
60 PRINT"on revient a l'etat normal en tapant:"
70 PRINT"SYMBOL AFTER 240"
run
COMMANDE: Fixe la limite inférieure des numéros de caractères redéfinissables (de 0 à 255). La valeur par défaut du nombre entier est de 240. auquel cas on dispose de 16 caractères redéfinissables (entre 240 et 255). Lorsque le <nombre entier> a pour valeur 32, tous les caractères situés entre 32 et 255 sont redéfinissables. La commande SYMBOL AFTER 256 interdît donc toute redéfinition de caractère,
La commande SYMBOL AFTER rétablit la valeur par défaut de tous les caractères précédemment redéfinis.
La commande SYMBOL AFTER ne peut PAS fonctionner si la valeur de HIMEM a été précédemment modifiée par une commande MEMORY ou par l'ouverture d'un fichier au moyen de OPENIN ou OPENOUT. L'ordinateur affiche dans cc cas le message d'erreur « Improper argument », (à moins que l'état précédent ne soit SYMBOL AFTER 256).
Pour plus de détails concernant les caractères redéfinissables, consultez la deuxième partie du chapitre intitulé « A vos heures de loisir... »
Mots clés associés : HIMEM, MEMORY, SYMBOL
TAB
(voir PRINT TAB)
TAG
TAG[#<numéro de canal>]
10 INPUT "entrez votre nom";a$:CLS20 PRINT"Quel va et vient ";a$;" !!"
30 TAG
40 x=LEN(a$)*17:y=50+RND*300:MOVE -x,y
50 FOR f=-x TO 640 STEP RND*7+3
60 MOVE f,y:PRINT" ";a$;:FRAME:NEXT
70 FOR b=640 TO -x STEP -RND*7+3
80 MOVE b,y:PRINT a$;" ";:FRAME:NEXT
90 GOTO 40
run
COMMANDE: Ecrit le texte spécifié à la position du curseur graphique. Cette commande permet d'introduire du texte et des symboles dans un graphique et de les déplacer pixel par pixel plutôt que caractère par caractère. Le numéro de canal prend par défaut la valeur #0.
L'extrémité gauche de la chaîne de caractères se positionne sur le curseur graphique (Text At Graphics). Les caractères de contrôle non visualisés tels que le changement de ligne ou le retour chariot n'auront aucun effet à l'écran si l'instruction PRINT est terminée par un point-virgule ; dans le cas contraire, ils apparaîtront sous leur forme graphique.
Si l'indicateur de canal est #0 (par défaut), BASIC annule la commande TAG lors du retour en mode direct.
Mots clés associés : TAGOFF
TAGOFF
TAGOFF[#<numéro de canai>]
10 MODE 2:TAG:REM texte aux coordonnees graphiques20 annee=1984:FOR x=1 TO 640 STEP 60
30 MOVE x,400:DRAWR 0,-350
40 annee=annee+1:PRINT annee;:NEXT
50 TAGOFF:REM retour aux coordonnees texte
60 LOCATE 2B,25:PRINT"chiffres annuels"
70 GOTO 70
run
COMMANDE: Annule la commande TAG concernant le canal indiqué (#0 par défaut). Le texte se trouve donc à nouveau dirigé sur la position du curseur de texte.
Mots clés associés : TAG
TAN
TAN (<expression numérique>)
PRINT TAN(45)1.61977319
FONCTION : Calcule la TANgente de l'<expression numérique>, qui doit étre comprise entre -200000 et + 200000.
On peut exprimer l'argument en degrés ou en radians par l'intermédiaire des fonctions DEG et RAD, respectivement.
Mots clés associés : ATN, COS, DEG, RAD, SIN
TEST
TEST (<coordonnée x>,<coordonnée y> )
10 CLS20 PRINT"Vous utilisez le stylo (pen) No:";
30 PRINT TEST(12,394)
40 PRINT"Changez de mode et de stylo";
50 PRINT"... puis faites RUN."
run
FONCTION : Place le curseur graphique à la position définie par x et y (en coordonnées absolues) et indique la valeur du paramètre <encre> à cet endroit.
Mots clés associés : MOVE, MOVER, TESTR, XPOS, YPOS
TESTR
TESTR (<décalage x>,<décalage y>)
10 MODE O:FOR x=1 TO 15:LOCATE l,x20 PEN x:PRINT STRING$(10,143);:NEXT
30 MOVE 200,400tPEN 1
40 FOR n=1 TO 23:LOCATE 12,n
50 PRINT"pen";TESTR(0,-16):NEXT
run
FONCTION . Place le curseur sur une position de coordonnées x et y par rapport à sa position actuelle et indique la valeur du paramètre <encre> à cet endroit.
Mots clés associés : MOVE, MOVER, TEST, XPOS, YPOS
THEN
(voir IF)
TIME
TIME
10 CLS:REM horloge20 INPUT "heure";heure
30 INPUT "minute";minute
40 INPUT "seconde";seconde
50 CLS:donnee=INT(TIME/300)
60 WHILE heure<13
70 WHILE minute<60
80 WHILE tic<60
90 tic=(INT (TIME/300)-donnee)+seconde
100 LOCATE 1,1
110 PRINT USING "## ";heure;minute;tic
120 WEND
130 tic=0: seconde=0:minute=minute+1
140 GOTO 50
150 WEND
160 minute=0: heure=heure+l
170 WEND
180 heure=1
190 GOTO 60
run
FONCTION : Indique le temps écoulé depuis la mise sous tension de l'ordinateur ou la dernière commande RESET (les temps de transfert entre l'ordinateur et l'unité de disquette ne sont pas comptés).
A chaque seconde correspond une fois la valeur : TIME/300
Mots clés associés : AFTER, EVERY, WEND, WHILE
TO
(Voir FOR)
TROFF
TRON
TROFF
TRON
10 TROFF:PRINT:PRINT"TROFF"20 FOR n=1 TO 8
30 PRINT"Le programme tourne":NEXT
40 IF 4=1 THEN END
50 TRON:PRINT:PRINT "TRON"
60 f=1:GOTO 20
run
COMMANDE: Permet de suivre l'exécution d'un programme par l'affichage de chaque numéro de ligne exécutée. Ce numéro est affiché entre crochets []. Cette fonction s'obtient au moyen de la commande TRON. La commande TROFF rétablit le mode normal d'exécution. La commande TRON est particulièrement précieuse lorsque l'on désire suivre ligne par ligne le déroulement d'un programme afin de corriger une erreur.
Mots clés associés : Aucun
UNT
UNT (<adresse>)
PRINT UNT(&FF66)-154
COMMANDE: Convertit l'argument en un nombre entier signé (en représentation complément à 2) compris entre -32768 et 32767.
Mots clés associés : CINT, FIX, INT, ROUND
UPPER$
UPPER$ (<chaîne alphanumérique>)
10 CLS:a$="mes petites, comme vous avez grandies"20 PRINT UPPER$(a$)
run
FONCTION : Recopie la <chaîne alphanumérique> indiquée en remplaçant par des majuscules les caractères alphabétiques (de A à Z) apparaissant en minuscules. Cette fonction s'utilise en particulier pour le traitement d'entrées dans lesquelles se trouvent mélangées des majuscules et des minuscules.
Mots clés associés : LOWER$
USING
(voir PRINT USING)
VAL
VAL (< chaîne de caractères>)
10 CLS:PRINT "Je connais mes tables"20 PRINT:PRINT"pressez une touche (1-9)"
30 a$=INKEY$:IF a$="" THEN 30
40 n=VAL(a$):IF n<1 OR n>9 THEN 30
50 FOR x=1 TO 12
60 PRINT n;"X";x;n*x
70 NEXT:GOTO 20
run
FONCTION: Fournit la VALeur numérique du ou des premiers caractères (y compris le signe négatif et le point décimal) de la <chaîne alphanumérique> indiquée.
On obtient la valeur 0 lorsque le premier caractère de la chaîne n'est pas un chiffre. Si le signe « - » apparaît en premier caractère ou si celui-ci est un point décimal suivi d'un caractère non numérique, le message d'erreur « Type mismatch » (erreur de frappe) (13) s'affiche à l'écran.
Mots clés associés : STR$
VPOS
VPOS (#<numéro de canal>)
10 MODE 1:BORDER 0:LOCATE 8,220 PRINT"utilisez les touches flechees (haut/bas)"
30 WINDOW 39,39,1,25:CURSOR 1,1
40 LOCATE 1,13
50 IF INKEY(0)<>-1 THEN PRINT CHR$(11);
60 IF INKEY(2)<>-1 THEN PRINT CHR$(10);
70 LOCALE (11,3,24
80 PRINT#1,"curseur texte "
90 PRINT#1,"position verticale =";
100 PRINT#1,VPOS(#0):GOTO 50
run
FONCTION : Indique, sur l'axe Vertical, la POSition du curseur de texte, à partir du bord supérieur de la fenêtre de texte. L'indicateur de canal doit obligatoirement figurer ; il ne prend pas la valeur a 0 par défaut.
Mots clés associés: POS, WINDOW
WAIT
WAIT <numéro du port>,<masque>[,<inversion>]
WAIT &FF34,20,25
COMMANDE: Provoque une attente jusqu'à ce que le port d'entrées-sorties désigné transmette une valeur comprise entre 0 et 255 ; de telle sorte qu'après avoir opéré un XOR (OU exclusif) avec le <masque>, puis un AND (ET) avec le paramètre d'< inversion >. on obtienne un résultat non nul.
Le BASIC attend jusqu'à cc que la condition soit vérifiée. Cette commande est à utiliser avec précaution. Mots clés associés : INP, OUT
WEND
WEND
WEND
COMMANDE: Indique la fin d'une section de programme exécutée à l'intérieur d'une boucle WHILE. Le BASIC reconnaît automatiquement la commande WHILE à laquelle WEND est associée.
Mots clés associés : TIME, WHILE
WHILE
WHILE <expression logique>
10 CLS :PRINT "chronometre de 10 secondes":t=TIME20 WHILE TIME<t+3000
30 SOUND 1,0,100,15
40 WEND:SOUND 129,40,30,15
run
COMMANDE: Répète une section de programme tant qu'une condition donnée est vérifiée. Le mot clé WHILE indique le début de la section à exécuter tandis que l'<expression logique> définit la condition à vérifier.
Mots clés associés : TIME, WEND
WIDTH
WIDTH <nombre entier>
WIDTH 40
COMMANDE: Indique le nombre de caractères par ligne lors d'une sortie sur imprimante. Le BASIC se charge donc d'envoyer automatiquement les retours chariot et les sauts de ligne nécessaires durant l'impression.
En l'absence d'une commande WIDTH, l'ordinateur adopte par défaut la valeur 132. La commande WIDTH 255 supprime tous les retours chariot et sauts de ligne supplémentaires laissant à l'imprimante le soin de générer elle-même ces caractères. Cependant. les retours chariot et sauts de ligne normaux dus à l'instruction PRINT continuent à être envoyés à moins que la commande PRINT ne soit terminée par un « ; » ou une virgule.
Mots clés associés : POS
WINDOW
WINDOW [#<numéro de canal >,]<gauche >,<droite>,<haut>,<bas>
10 MODE 0:BORDER 0:REM cible tv20 INK 0,0:INK 1,25:INK 2,23:INK 3,21
30 INK 4,17:INK 5,6:INK 6,2:INK 7,26
40 PAPER 0:CLS
50 PAPER 1:WINDOW 2,4,1,18:CLS
60 PAPER 2:WINDOW 5,7,1,18:CLS
70 PAPER 3:WINDOW 8,10,1,18:CLS
80 PAPER 4:WINDOW 11,13,1,18:CLS
90 PAPER 5:WINDOW 14,16,1,18:CLS
100 PAPER 6:WINDOW 17,19,1,18:CLS
110 PAPER 7:WINDOW 2,19,19,25:CLS
120 GOTO 120
run
COMMANDE: En mode texte, indique les dimensions d'un canal d'affichage à l'écran (on parle dans ce cas de fenêtre). On veillera à ce que les valeurs des paramètres <gauche>, <droite>, <haut> et <bas> correspondent bien aux coordonnées en vigueur dans le MODE-écran utilisé.
Le < numéro de canal> prendra par défaut la valeur #0.
Pour plus de détails concernant les fenêtres, voir la deuxième partie du chapitre intitulé « A vos heures de loisir... ».
Mots clés associés : WINDOW SWAP
WINDOW SWAP
WINDOW SWAP <numéro de canal >, < numéro de canal >
10 MODE 1:INK 1,24: INK 2,9:INK 3,620 WINDOW 21,40,13,25:PAPER 3
30 WINDOW #1,1,20,1,12:PAPER *1,2
40 CLS:PRINT *1," Fenetre No"
50 CLS #1:PRINT #1," Fenetre No 1"
60 LOCATE 1,6
70 PRINT" Fenetre Rouge (0)";SPC(2)
80 LOCATE *1,1,6
90 PRINT *1," Fenetre Verte (1)"
100 FOR t=1 TO 1000:NEXT
110 WINDOW SWAP 0,1:GOTO 60
run
COMMANDE: Intervertit la première fenêtre et la seconde.
Les deux <numéros de canal> doivent obligatoirement figurer sans être précédés, dans ce cas précis, de l'indicateur de canal #.
Cette commande permet de diriger les messages BASIC sur un autre canal que celui par défaut #0.
Pour plus de détails concernant les fenêtres, voir la deuxième partie du chapitre intitulé « A vos heures de loisir... ».
Mots clés associés : WINDOW
WRITE
WRITE [#<numéro de canal>,][<données à écrire>]
l0 REM ecrit des donnees sur la disquette20 INPUT "donnez-moi un nombre";a
30 INPUT "donnez-moi une chaine de caracteres";a$
40 OPENOUT "NOMFICH"
50 WRITE #9,a,a$
60 CLOSEOUT:PRINT "Les donnees sont sauvees sur disquette"
run
COMMANDE: Affiche ou écrit (WRITE) des données sur le canal indiqué. Deux articles distincts doivent être séparés par une virgule et les chaînes de caractères sont placées entre guillemets.
Dans notre exemple, les données entrées seront écrites sur le canal #9, c'est-à-dire enregistrees sur disquette.
Pour retrouver les données, on utilisera le programme ci-dessous :
10 REM retrouve les donnees sur la disquette20 OPENIN "NOMFICH":INPUT #9,a,a$
30 CLOSEIN:PRINT"les 2 donnees sont:"
40 PRINT:PRINT a,a$
run
Mots clés associés : INPUT, LINE INPUT
XOR
<argument> XOR <argument>
IF "alain" < "bernard" XOR "chien" > "chat" THEN PRINT "vrai" ELSE PRINT "faux"faux
IF "bernard" < "alain" XOR "chat" > "chien" THEN PRINT "vrai" ELSE PRINT "faux"
faux
IF "alain" < "bernard" XOR "chat" > "chien" THEN PRINT "vrai" ELSE PRINT "faux"
vrai
....
PRINT 1 AND 1
0
PRINT 0 AND 0
0
PRINT I AND 0
1
OPERATEUR : Effectue bit à bit l'opération booléenne XOR (OU exclusif) sur des entiers. Lorsque les bits des deux arguments ne sont pas identiques, le bit résultant vaut 1.
Pour plus de détails concernant les opérateurs logiques, voir la deuxième partie du chapitre intitulé « A vos heures de loisir... ».
Mots clés associés : AND, OR, NOT
XPOS
XPOS
10 MODE 1:DRAW 320,20020 PRINT"POSition X du curseur graphique=";
30 PRINT XPOS
run
FONCTION : Indique, sur l'axe horizontal (X), la POSition du curseur graphique.
Mots clés associés : MOVE, MOVER, ORIGIN, YPOS
YPOS
YPOS
10 MODE 1:DRAW 320,20020 PRINT"POSition Y du curseur graphique=";
30 PRINT YPOS
run
FONCTION : Indique, sur l'axe vertical (Y), la POSition du curseur graphique.
Mots clés associés : MOVE, MOVER, ORIGIN, XPOS
ZONE
ZONE <nombre entier>
10 CLS:FOR z=2 TO 2020 ZONE z
30 PRINT "X","X ZONE =";z:NEXT
run
COMMANDE: Modifie la largeur de la tabulation désignée par la virgule dans la commande PRINT. La largeur des zones d'affichage ou d'impression, (de 13 caractères par défaut), peut ainsi prendre une valeur entière quelconque entre 1 et 255.
Mots clés associés : PRINT