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:CLS

20 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 bordure

20 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 255

20 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.9999

20 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 CLS

20 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,20

CLG 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,3

20 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 CLS

20 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>)

DEG

PRINT 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=PI

20 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 1

20 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 4

20 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/300

20 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 n

20 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 n

20 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 90

20 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 CLS

20 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,0

20 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,10

20 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,10

20 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 30

20 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 500

Line 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 17

run

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 100

20 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 30

20 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 0

20 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 2

20 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 0

20 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 0

20 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 0

20 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 HIMEM

42619

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 1

20 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 1

20 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 10

20 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 CLS

20 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 1

20 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 26

20 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 CLS

20 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 1

20 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,16

20 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=66

20 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 3

20 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 3

1

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=0

20 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:TAG

20 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,16

20 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 3

20 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 CONT

20 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 40

20 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 40

20 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 60

20 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,1

20 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 ":PRINT

20 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,1

20 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 disquette

20 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 disquette

20 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:TAG

20 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,13

20 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 7

20 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,13

20 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 PI

3.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 1

20 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 dessiner

20 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 65535

20 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

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 10

20 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.456

PRINT 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 B

20 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,100

20 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 iNTERGALACTIQUE

20 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 40

20 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 CLS

20 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 60

20 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 RESUME

run

Mots clés associés : DERL, ERL, ERR, ERROR, ON ERROR GOTO, RESUME NEXT

 

RESUME NEXT

RESUME NEXT

10 ON ERROR GOTO 90

20 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":END

50 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 RANDOMIZE

20 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 -1

20 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 -20

20 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,200

20 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 4095

20 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 1

20 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,18

20 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 -2

20 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,100

20 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:NEXT

20 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 hexadecimal

20 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 105

20 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 CLS

20 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$:CLS

20 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 graphiques

20 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 CLS

20 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,x

20 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 horloge

20 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,2

20 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=TIME

20 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 tv

20 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,6

20 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 disquette

20 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 disquette

20 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,200

20 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,200

20 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 20

20 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

 

<<Chapitre 2 [Index] Chapitre 4>>