Section courante

A propos

Section administrative du site

Commandes d'entrée/sortie

Cette page décrit la plupart des commandes assurant la communication entre vous et l'ordinateur. L'entrée est l'information que vous donnez à l'ordinateur; la sortie est l'information que vous recevez de l'ordinateur. Les formes sous lesquelles vous envoyez et recevez des informations varient considérablement. Le clavier est la source d'entrée la plus courante, tandis que la plupart des sorties apparaissent sur l'écran du moniteur.

DATA

DATA constant [, constant ]...

Une instruction DATA fournit des informations que votre programme peut utiliser au moyen d'une instruction READ ; les deux commandes fonctionnent ensemble. Utilisez la commande DATA pour entrer et utiliser de grandes quantités de données ayant un format similaire. Une liste de constantes séparées par des virgules suit la commande DATA.

Chaque élément de la liste occupe un champ (une position relative dans la liste). Si l'instruction READ que le programme utilise pour obtenir des informations attend quatre éléments, l'instruction DATA doit contenir quatre champs d'informations. Une instruction DATA contenant moins de champs produit une erreur. Une instruction contenant trop de champs annule le nombre de champs de l'instruction READ correspondante.

Vous pouvez utiliser une seule instruction READ avec plusieurs instructions DATA. Par exemple, vous pouvez parcourir quatre instructions DATA, chacune ayant quatre champs, avec une seule instruction READ, comme illustré ci-dessous :

  1. 100 FOR I=1 TO 4: READ A,B,C$,D: NEXT I
  2. 100 DATA 5,6,"BONJOUR",7
  3. 110 DATA 1,2,"AU REVOIR",3
  4. 120 DATA 9,10,"POURQUOI",11
  5. 130 DATA 4,5,"PARCE QUE",6

Supposons que l'instruction READ de la ligne 10 n'ait que trois variables : A, B et C$. Il ne lira que les trois premiers éléments de la première instruction DATA (ligne 100) lors du premier passage dans la boucle. La deuxième fois, READ obtiendrait l'élément restant de la ligne 100, puis les deux premiers éléments de la ligne 200. La troisième fois de la boucle, une erreur se produirait car READ tentait d'affecter la constante de chaîne de caractères "AU REVOIR" à la variable numérique A.

Vous pouvez mélanger les types de données comme vous le souhaitez, tant que leur ordre est le même que l'ordre des types de variables dans l'instruction READ correspondante. Les instructions DATA peuvent apparaître sur n'importe quelle ligne de votre programme sans interrompre le déroulement du programme. Chaque instruction DATA doit être autonome sur une ligne de programme. Voir la commande READ pour un exemple de programmation utilisant DATA et READ.

GET

GET string variable [ ,numeric expression]

Utilisez GET pour recevoir l'entrée du clavier un caractère à la fois. Le caractère d'entrée est affecté à la variable spécifiée. Si GET ne détecte aucune entrée, la valeur de la variable est le caractère nul (vide).

L'expression numérique facultative numeric expression est une constante ou une variable entière indiquant le nombre de microsecondes pendant lesquelles le programme doit attendre une entrée au clavier. Si vous omettez cette option, ABasiC l'interprète comme zéro, une interrogation instantanée (ou une vérification d'entrée) du clavier.

Le caractère que GET obtient ne s'affiche pas automatiquement à l'écran ; vous devez fournir une instruction pour afficher la valeur de la variable. Vous pouvez utiliser une instruction GET dans une boucle pour forcer l'ordinateur à attendre une frappe avant de poursuivre l'exécution du programme. Vous n'avez pas besoin d'appuyer sur Return après avoir tapé un caractère. En fait, GET enregistre Return comme un caractère, comme il le ferait pour n'importe quel autre caractère.

Supposons que vous souhaitiez que votre programme affiche du texte afin que d'autres personnes aient le temps de le lire, quelle que soit leur vitesse de lecture. Votre programme doit afficher le texte suivi d'un prompt (un court message indiquant aux utilisateurs quelle entrée le programme attend) pour appuyer sur Return pour continuer. Ensuite, votre programme doit inclure une boucle telle que la suivante :

  1. 200 GET A$ : IF A$<>CHR$(13) THEN 200

Cette boucle ne se termine que lorsque l'utilisateur du programme appuie sur la touche Return (caractère ASCII 13).

  1. 30 PRINT "Je ne me lasse jamais !"
  2. 40 GET A$, 10^6 : IF A$="" THEN GOTO 30
  3. 50 PRINT "Merci, j'en avais besoin !"

Lorsque vous exécutez le programme, le résultat est :

Je ne me lasse jamais !
Je ne me lasse jamais !
Je ne me lasse jamais ! (et ainsi de suite, jusqu'à ce qu'une touche soit enfoncée)

Merci, j'en avais besoin !

GETKEY

GETKEY string variable

La commande GETKEY, contrairement à GET, fait que le programme attend indéfiniment un caractère d'entrée avant de continuer. Vous n'avez pas besoin de spécifier une période d'attente.

  1. 120 PRINT "En attente d'une touche."
  2. 125 ' ...
  3. 130 GETKEY A$
  4. 140 PRINT "Merci !"

GRAPHIC

GRAPHIC(integer)

Utilisez la commande GRAPHIC pour contrôler la manière dont ABasiC interprète les coordonnées pour l'affichage de texte sur un écran graphique. L'expression numérique entre parenthèses est un nombre entier. Un entier différent de zéro indique à ABasiC d'interpréter les coordonnées comme des pixels. Une valeur de zéro, la valeur par défaut, amène ABasiC à interpréter les coordonnées comme des coordonnées de caractère. (En mode 40 colonnes avec la résolution par défaut de 320 par 200, chaque caractère à l'écran consiste en un rectangle de 8 par 8 pixels.) Une seule commande GRAPHIC reste active jusqu'à ce que vous fermiez la fenêtre, terminiez le programme ou exécuter une autre commande GRAPHIC changeant le mode d'interprétation des coordonnées.

Lorsque vous ouvrez une fenêtre personnalisée (voir WINDOW), le programme interprète automatiquement les coordonnées de l'écran pour décrire l'emplacement d'un caractère. La commande GRAPHIC vous permet de changer cette interprétation des coordonnées de caractère aux coordonnées de pixel, ou vice versa, tandis que la fenêtre reste ouverte.

Dans les conditions par défaut, la commande PRINT AT spécifie les coordonnées des caractères pour l'affichage du texte. Par exemple, l'instruction suivante affiche "BONJOUR" au caractère 12, ligne 10 de la fenêtre de sortie actuelle :

  1. PRINT AT (12,10); "BONJOUR"

Si vous faites précéder cette même instruction PRINT AT de GRAPHIC(n) où n est différent de zéro, le programme interprète les coordonnées (12,10) comme un emplacement de pixel. Le résultat est que "BONJOUR" s'affiche près du coin supérieur gauche de la fenêtre de sortie.

Lorsque la fenêtre de sortie est en "mode pixel" (c'est-à-dire que vous avez émis une commande GRAPHIC avec un paramètre différent de zéro), vous pouvez également positionner du texte à l'aide de la commande LOCATE. (Voir l'exemple de programmation ci-dessous.)

GRAPHIC n'a aucun effet si votre sortie va vers un périphérique autre que l'écran du moniteur.

  1. 10 GRAPHIC(1)
  2. 20 X=80: Y=60
  3. 30 BOX(X,Y ; X+40,Y+40)
  4. 40 LOCATE (X,Y+50)
  5. 50 PRINT "Ceci est une boite"
  6. 60 PRINT AT (X-2-7*8,Y) , " (" ,X ;"," ,Y ,")"

Lorsque vous exécutez le programme, le résultat est :

INPUT

INPUT [ ; ] [ "prompt string"; | ,] variable [ ,variable ]...

Utilisez la commande INPUT lorsque vous voulez que le programme attende une réponse du clavier de l'utilisateur. Contrairement à GET et GETKEY, INPUT peut recevoir une valeur de plusieurs caractères. L'entrée pour cette variable se termine par la touche Return. L'ABasiC entrepose la réponse en tant que valeur de la variable. Lorsque le programme atteint l'instruction INPUT, il affiche un point d'interrogation :

?

et s'arrête jusqu'à ce que l'utilisateur réponde.

Cependant, un point d'interrogation n'explique pas vraiment quelle entrée le programme attend. En option, vous pouvez afficher un prompt (un message explicatif) indiquant le type de réponse attendue. L'ABasiC affiche un point d'interrogation après le prompt si un point-virgule suit la chaîne de caractères d'affichage. Si vous utilisez une virgule après la chaîne de caractères de prompt, aucun point d'interrogation ou espace ne s'affiche entre le prompt et la réponse d'entrée.

Vous pouvez spécifier plusieurs variables dans une instruction INPUT. En fait, vous pouvez mélanger différents types de variables, si vous le souhaitez. L'entrée pour chaque variable sauf la dernière se termine par une virgule. Si la personne utilisant votre programme fait une erreur de saisie, les réponses doivent être saisies à nouveau, en commençant par la première variable. Par exemple, l'instruction INPUT suivante :

  1. INPUT A, B, NAME$

nécessite une réponse composée de deux chiffres et d'une chaîne de caractères, séparés par des virgules. Assurez-vous que les prompts correspondent correctement aux types de variables.

Normalement, PRINT et la chaîne de caractères de prompt facultative d'une instruction INPUT effectuent un retour de chariot et un saut de ligne automatiques pour positionner le curseur sur l'élément suivant à afficher. Le point-virgule facultatif juste après INPUT entraîne l'affichage de l'instruction PRINT ou de le prompt INPUT suivante sur la même ligne.

  1. 10 INPUT "NOM, MONTANT"; NAME$, AMNT

Lorsque l'exécution atteint la ligne 10, l'utilisateur voit ce qui suit :

NOM, MONTANT? LISE,123.45 (La virgule sépare plusieurs entrées)

Si la variable d'entrée est numérique et que vous saisissez une chaîne de caractères, ABasiC renvoie une erreur. D'autre part, si l'instruction INPUT attend une entrée de chaîne de caractères, ABasiC accepte les nombres - les caractères sont des caractères. Cependant, le programme reconnaît cette entrée comme une chaîne de caractères et non comme un nombre.

INPUT#

INPUT# file number, variable [,variable]...

La commande INPUT# est similaire à la commande INPUT, sauf que INPUT# prend les données d'un fichier précédemment ouvert au lieu du clavier. Le numéro de fichier doit correspondre au numéro que vous avez attribué au fichier lorsque vous l'avez ouvert. Vous ne pouvez pas utiliser une chaîne de caractères de prompt avec cette forme de commande.

Utilisez la commande LINE INPUT pour demander une ligne entière d'entrée à l'utilisateur du programme. LINE INPUT accepte tous les caractères, y compris les espaces, les virgules et les guillemets, dans le cadre de l'entrée jusqu'à ce que vous appuyiez sur Return. Cela vous permet de contourner les restrictions imposées par d'autres méthodes d'entrée, telles que la non-acceptation de la virgule séparant les valeurs dans l'instruction INPUT.

Contrairement à la commande INPUT, LINE INPUT n'affiche pas automatiquement un point d'interrogation après le point-virgule après un prompt.

LINE INPUT

LINE INPUT [ ; ] [ "prompt string"; | , ] string variable

Utilisez la commande LINE INPUT pour demander une ligne entière d'entrée à l'utilisateur du programme. LINE INPUT accepte tous les caractères, y compris les espaces, les virgules et les guillemets dans le cadre de l'entrée jusqu'à ce que vous appuyiez sur Return. Cela signifie que vous pouvez contourner les restrictions imposées par d'autres méthodes de saisie telles que la virgule séparant les valeurs dans INPUT, si vos besoins l'exigent. Contrairement à la commande INPUT, LINE INPUT n'affiche pas automatiquement un point d'interrogation après le point-virgule après un prompt.

LINE INPUT#

LINE INPUT# file number, string variable

La commande LINE INPUT # est similaire à LINE INPUT, sauf qu'elle prend les données d'un fichier disque précédemment ouvert au lieu du clavier. Le numéro de fichier doit correspondre au numéro que vous avez attribué au fichier lorsque vous l'avez ouvert. Cette forme de commande n'autorise pas une chaîne de caractères de prompt.

PRINT

PRINT [variable | "string"] [, | ;][variable-list | "string"]

Vous pouvez utiliser la commande PRINT pour afficher la plupart des sorties texte de votre programme. Il existe des formes spéciales d'instruction PRINT pour à peu près n'importe quel format que vous souhaitez voir apparaître sur l'écran du moniteur. Utilisez la commande PRINT pour l'affichage normale de texte. Voir ci-dessous pour les formes spéciales de PRINT utilisant les mots-clefs :

Vous pouvez mélanger des éléments d'affichage tels que des valeurs variables et des chaînes de caractères dans n'importe quel ordre. Vous pouvez facilement expérimenter l'apparence de la sortie, car PRINT fonctionne bien en mode immédiat. Vous trouverez ci-dessous quelques exemples d'utilisation de PRINT. Viennent ensuite les descriptions des mots-clefs créant des variantes spéciales de la commande PRINT.

Sans virgules ni points-virgules, PRINT produit exactement ce qui apparaît entre guillemets ou les valeurs des variables, et émet un retour chariot et un saut de ligne automatiques.

  1. A$ = "CE QUE VOUS OBTENEZ ": PRINT "CE QUE VOUS VOYEZ EST ": PRINT A$

Ces instructions produisent ce qui suit :

CE QUE VOUS VOYEZ EST
CE QUE VOUS OBTENEZ

Les deux-points entre les instructions PRINT forcent un retour chariot et un saut de ligne. Si une chaîne de caractères sortie est trop longue pour être affichée sur une seule ligne, ABasiC émet un retour automatique, coupant un mot au milieu si nécessaire. Vous pouvez afficher la phrase entière dans l'exemple ci-dessus sur une seule ligne, en utilisant un point-virgule :

  1. A$ = "CE QUE VOUS VOYEZ EST": PRINT "CE QUE VOUS OBTENEZ", A$

Ces instructions produisent ce qui suit :

CE QUE VOUS OBTENEZCE QUE VOUS VOYEZ EST

Vous devez inclure un espace après le mot "EST" si vous ne voulez pas que les mots soient coincés ensemble, comme dans cet exemple. Les blancs sont traités comme n'importe quel autre caractère dans une chaîne de caractères, et le point-virgule ne produit aucun blanc entre les chaînes de caractères d'affichage séparées.

La virgule insère des tabulations entre plusieurs éléments de sortie comme dans l'exemple suivant :

  1. X = 2: Y = 3 : PRINT X,Y, X*Y

Ces instructions produisent ce qui suit :

2        3        8

Comme le montre l'exemple précédent, ABasiC calcule la valeur des expressions numériques dans les instructions PRINT et affiche le résultat.

La touche Return termine une ligne de programme logique ; ainsi, vous ne pouvez clairement pas demander à ABasiC d'afficher un retour de chariot en appuyant simplement sur Return. Pour forcer un saut de ligne et un retour chariot (ASCII 10) avant la fin d'une ligne, utilisez une instruction telle que :

  1. PRINT "S'IL VOUS PLAIT NE PAS NOURRIR" ; CHR$(10) , "CES LIGNES."

Ces instructions produisent ce qui suit :

S'IL VOUS PLAIT NE PAS NOURRIR
CES LIGNES

Voir la description de la fonction de chaîne de caractères CHR$ pour plus de détails sur l'affichage des caractères (comme Return) étant difficiles à spécifier directement à partir du clavier.

Une forme abrégée de la commande PRINT est un point d'interrogation unique. Par exemple, ces deux instructions de programme produisent une sortie identique :

  1. PRINT A,B
  2. ? A,B

PRINT AT()

PRINT AT (x,y); [variable | "string"] [ , | ; ] [variable-list| "string"]

La commande PRINT AT fonctionne exactement comme la commande PRINT, mais nécessite deux valeurs entre parenthèses au début de l'instruction pour positionner la chaîne de caractères d'affichage à l'écran. Vous décrivez la position de l'écran où vous souhaitez commencer l'affichage en termes de colonne (x) et de ligne (y). Vous pouvez répéter le mot-clef AT dans la même chaîne de caractères d'affichage si vous le souhaitez. Par exemple, la ligne suivante est valide :

  1. PRINT AT (2, Y) ; "Frag"; AT (12,Y); "men"; AT (24,Y);"ter"

Vous pouvez également mélanger les mots clefs AT et INVERSE (voir la description qui suit) avec la même chaîne de caractères d'affichage.

L'ABasiC interprète normalement les valeurs de coordonnées comme une position de caractère. Alternativement, vous pouvez demander à votre programme d'interpréter ces mêmes valeurs comme les coordonnées d'une position de pixel. Voir GRAPHIC pour plus de détails.

  1. 20 NAME$ = "Adam"
  2. 30 PRINT AT (5,11); "Madame, je suis " ;NAME$

Lorsque vous exécutez le programme, les éléments suivants s'affichent au caractère 5 sur la 11e ligne :

Madame, je suis Adam

PRINT INVERSE()

PRINT INVERSE(integer) [variable | "string"] [ , | ; ] [variable-list | "string"]...

La variante PRINT INVERSE() de PRINT vous permet d'afficher des éléments en vidéo inverse à l'écran. Cela signifie que tous les bits 1 normaux deviennent des bits 0 sur l'affichage, et vice versa. L'entier entre parenthèses est 1 ou 0. La valeur par défaut de l'écran est INVERSE(0), ou texte blanc sur fond bleu foncé ; INVERSE entraîne l'impression d'un texte bleu sur fond blanc. L'effet de INVERSE(1) dure jusqu'à la fin de l'instruction PRINT ou jusqu'à un INVERSE(0) dans la même instruction.

  1. 10 FOR K = 1 TO 3
  2. 20 PRINT "SOMBRE "; INVERSE (1) "CHEVAL #"; INVERSE (0) K
  3. 30 NEXT K

Lorsque vous exécutez le programme, le résultat est :

SOMBRE CHEVAL 1
SOMBRE CHEVAL 2
SOMBRE CHEVAL 3

Le mot-clef INVERSE() n'a aucun effet si la sortie du programme est dirigée vers un périphérique autre que l'écran du moniteur.

PRINT USING

PRINT USING "format-string"; variable-list

Utilisez le format PRINT USING de la commande PRINT pour formater votre sortie pour des structures telles que des tableaux et des graphiques. Vous pouvez aligner la virgule décimale dans les colonnes de nombres ou spécifier un nombre défini d'espaces entre les chaînes à afficher.

Une chaîne de caractères de format entre guillemets suit le mot-clef USING. Cette chaîne de caractères définit une «image» de la façon dont vous souhaitez que les éléments de la liste de variables apparaissent dans le champ (c'est-à-dire la zone d'écran affectée). La liste des variables, étant séparée du reste de l'instruction par un point-virgule, liste les valeurs à afficher. Cette liste peut être constituée de n'importe quelle combinaison de noms de variables et de littéraux (valeurs réelles).

Vous trouverez ci-dessous un exemple de programmation avec PRINT USING, suivi d'une description des caractères de chaîne de caractères de format autorisés.

  1. 10 X = 32: Y = 1030.23
  2. 20 PRINT USING "$$## ##",13.25,X,Y

Lorsque vous exécutez le programme, le résultat est :

$13.25        $32 00        %$1030.23

Le signe de pourcentage devant le dernier élément signifie que la valeur de Y n'est pas conforme au format d'affichage donné (puisqu'il contenait six chiffres). Le format utilise un signe dièse (#) par chiffre ou caractère à afficher. Le signe dollar double entraîne l'affichage d'un signe dollar juste à gauche du nombre et réserve un espace de caractère supplémentaire pour la sortie.

La discussion suivante répertorie et illustre chacun des symboles de la commande PRINT USING pour la sortie numérique et de chaîne de caractères.

Symbole Description
Sortie numérique
# Le signe dièse (#) réserve de la place pour un seul caractère dans le champ de sortie numérique. Si la sortie comporte moins de chiffres que le nombre réservé, la sortie est justifiée à droite dans le champ. Plus de caractères de sortie que le nombre réservé génère un signe de pourcentage devant le nombre. Si aucun point décimal n'apparaît dans la chaîne de caractères de format, toute fraction est arrondie.
Formater la chaîne de caractères Liste des variables Résultat
"##" 12.04
123
0.8934
1
12
%123
1
1
+ Le signe plus (+) spécifie l'affichage du signe d'un nombre. Si le symbole précède les signes dièse réservant des espaces numériques, le signe s'affiche devant le nombre; s'il suit, le signe s'affiche après le nombre.
Formater la chaîne de caractères Liste des variables Résultat
"+##.#" 4.3
-3.6
+4.3
-3.6
- Le signe moins (-) génère un signe «-» de fin après un nombre négatif.
Formater la chaîne de caractères Liste des variables Résultat
"-##.##" 2.54
-2.54
2.54
2.54-
. Le point décimal (.) désigne la position à laquelle le point décimal doit apparaître dans la sortie. Un seul point décimal est autorisé; si vous n'en spécifiez pas, la sortie est arrondie à l'entier le plus proche. Le nombre de chiffres de sortie à gauche du point décimal ne doit pas dépasser le nombre de signes dièse correspondants dans la chaîne de caractères de format. Des zéros de fin (c'est-à-dire après les chiffres significatifs à droite du point décimal) sont affichés pour remplir le champ de format.
Formater la chaîne de caractères Liste des variables Résultat
"###.##" -.3
-12.24
12.02
-123.34
-0.30
-12.24
12.02
%-123.34
"##." 5.789
-2.3
6
-2
, Une virgule (,) précédant la virgule décimale dans la chaîne de caractères de format indique le placement d'une virgule avant chaque troisième chiffre à gauche de la virgule décimale dans la sortie numérique. La virgule réserve également un caractère dans le champ de sortie. Ainsi, si un nombre nécessite deux virgules, vous devez inclure suffisamment de signes dièse (#) pour réserver suffisamment d'espace.
Formater la chaîne de caractères Liste des variables Résultat
"#####,.#" 19454
4266.73
19,454.0
4,266.7
** Le double astérisque (**) permet de remplir les espaces de début dans un champ numérique avec un astérisque. Il réserve également deux positions de caractère.
Formater la chaîne de caractères Liste des variables Résultat
"**####.#" 19454
6.73
*19454.0
*****6.7
$$ Le double signe dollar ($$) indique qu'un signe dollar doit s'afficher immédiatement à gauche de la sortie numérique. Il réserve également deux positions de caractère, une pour le signe dollar lui-même. Un signe moins ne peut apparaître en position de fin que lorsque vous utilisez le double signe dollar.
Formater la chaîne de caractères Liste des variables Résultat
"$$#.##" 23.5
.35
$23.50
$0.35
"$$.##-" -1.3 $1.30-
**$ Deux astérisques suivis d'un pavé de signe dollar (**$) indique un début avec des espaces dans le champ de sortie des astérisques. Un signe dollar s'affiche immédiatement à gauche du nombre. Il réserve également deux positions de caractère, une pour le signe dollar lui-même.
Formater la chaîne de caractères Liste des variables Résultat
"**$.##" 3.5
.35
*$3.50
*$0.35
^ Un ou plusieurs carets (^) indiquent que la sortie numérique doit apparaître en notation scientifique. Au moins un signe dièse doit être utilisé avant ou après chacun de ces symboles. La position du point décimal détermine la valeur de l'exposant; les chiffres significatifs sont justifiés à gauche. Une position de caractère est réservée à gauche du numéro affiché pour le signe du nombre, sauf si vous formatez explicitement le signe. (Un blanc s'affiche pour les nombres positifs.)
Formater la chaîne de caractères Liste des variables Résultat
"##.##^" -100.00
.0036
-1.00E+02
3.60E-03
_ Un caractère de soulignement (_) dans une chaîne de caractères de format indique que le caractère le suivant doit apparaître comme un littéral dans la sortie; autrement dit, le ABasiC affiche le caractère lui-même.
Formater la chaîne de caractères Liste des variables Résultat
"#.##_#" 3.5
.35
3.50#
0.35#
(blanc) Un blanc ( ) après les autres caractères d'une chaîne de caractères de format sépare les champs de sortie. (Tout caractère ne faisant pas partie d'un spécificateur de format sépare les champs de sortie.)
Formater la chaîne de caractères Liste des variables Résultat
"#.## " 3.5, 4.22 et 9.06 3.50 4.22 9.06
Sortie de chaîne de caractères
! Un point d'exclamation (!) indique que seul le premier caractère d'une chaîne de caractères doit être affiché.
Formater la chaîne de caractères Chaîne de caractères Résultat
"! " Luc
Claude
Mathieu
L C M
\..\ Deux barres obliques inverses indiquent que seuls deux caractères de chaque chaîne de caractères utilisant ce format doivent être affichés. Si vous ajoutez un ou plusieurs espaces ou autres caractères entre les barres obliques inverses, le ABasiC affiche ce nombre de caractères de chaîne de caractères supplémentaires. Si la largeur du champ est supérieure au nombre de caractères de la chaîne de caractères, la sortie est justifiée à gauche et le reste du champ est rempli de blancs. Un point ou un chiffre entre les contre-obliques vous permet de compter facilement le nombre total de caractères à afficher.
Formater la chaîne de caractères Chaîne de caractères Résultat
\1234\ Jabberwocky
It
Jabber
It
& Une esperluette (&) indique un champ de chaîne de caractères de longueur variable. Chaque chaîne de caractères utilisant ce format s'affiche exactement telle qu'elle a été saisie, quelle que soit sa longueur.
Formater la chaîne de caractères Chaîne de caractères Résultat
"&" ABCDEFG ABCDEFG

READ

READ variable, variable ...

Utilisez la commande READ pour obtenir des valeurs à partir d'une instruction DATA. READ entrepose ces valeurs dans des variables pour une utilisation par le programme. La liste de variables suivant la commande READ peut être n'importe quelle combinaison de variables de chaîne de caractères et numériques. Cependant, l'ordre et le type des éléments de données doivent correspondre à la liste des variables. Si le programme tente de lire une constante de chaîne de caractères dans une variable numérique, une erreur se produit.

Vous pouvez utiliser une seule instruction READ avec plusieurs instructions DATA. Vous pouvez également réutiliser toutes les instructions DATA en réinitialisant le pointeur sur la ligne souhaitée avec la commande RESTORE (décrite ci-dessous).

  1. 10 FOR I = 1 TO 3: READ NAME$,AGE,SPORT$
  2. 20 PRINT "NOM ";NAME$,"AGE: ";AGE
  3. 30 PRINT "SPORT FAVORIE: ";SPORT$
  4. 40 NEXT I
  5. 100 DATA "MARGUERITE",45,"SOFTBALL"
  6. 110 DATA "MIREILLE",13,"SOCCER"
  7. 120 DATA "MANON",89,"BILLIARDS"

Lorsque vous exécutez le programme, le résultat est :

NOM: MARGUERITE AGE: 45
SPORT FAVORIE: SOFTBALL
NOM: MIREILLE AGE: 13
SPORT FAVORIE: SOCCER
NOM: MANON AGE: 89
SPORT FAVORIE: BILLIARDS

RESTORE

RESTORE [ line number ]

Utilisez la commande RESTORE pour faire pointer le programme au début d'un ensemble d'instructions DATA. Lorsqu'un programme commence à s'exécuter, READ lit automatiquement les données de la première instruction DATA du programme et progresse par numéro de ligne. Utilisé seul, RESTORE remet le pointeur sur la première instruction DATA. Si vous spécifiez le numéro de ligne facultatif, le programme restaure le pointeur de données sur ce numéro de ligne.

Supposons qu'une partie de votre programme lit une série de trois instructions DATA commençant à la ligne 100 :

  1. 100 DATA 1, 321, 456
  2. 110 DATA 2, 123, 789
  3. 120 DATA 3, 543, 987

L'instruction suivante :

  1. RESTORE 110

réinitialise le pointeur de données sur la deuxième instruction DATA. Une tâche de programme différente peut alors réutiliser les deux dernières instructions DATA.

SCNCLR

SCNCLR

La commande SCNCLR efface simplement l'écran ou la fenêtre de sortie actuelle, qu'elle affiche des graphiques ou du texte. Vous devez inclure une commande SCNCLR avant d'imprimer du texte ou des graphiques dans une fenêtre existante (ou la fenêtre par défaut, étant l'écran entier).

WIDTH

WIDTH integer

La commande WIDTH modifie le nombre de caractères par ligne s'affichant sur l'écran du moniteur ou sur l'imprimante en ligne. La valeur par défaut est de 80 caractères. Si vous souhaitez afficher plus ou moins de caractères par ligne (avant qu'ABasiC n'émette un retour chariot automatique), utilisez cette commande. Par exemple, l'instruction suivante définit la ligne WIDTH sur 20 :

  1. WIDTH 20

L'expression numérique doit avoir une valeur entière.

Fonctions de position d'écran

POS

POS(integer)

La fonction POS renvoie le nombre de caractères affichés depuis le dernier saut de ligne émis. Le résultat entier est une valeur comprise entre 1 et 80 sur un écran de 80 colonnes. Si vous utilisez un écran à 40 colonnes, toute valeur comprise entre 41 et 80 fait référence à la ligne suivante.

Spécifiez le numéro de fichier de la fenêtre de sortie pour laquelle vous voulez les informations de position. La fenêtre par défaut a le numéro de fichier 0 (zéro), donc vous spécifiez normalement 0 comme argument entre parenthèses :

  1. 10 PRINT: PRINT "123"
  2. 20 A% = POS(0): PRINT A%

Lorsque vous exécutez le programme, le résultat est :

123
3

SPC

SPC(integer)

Utilisez la fonction SPC pour incorporer des blancs dans une instruction PRINT. Vous ne pouvez utiliser SPC que dans une instruction PRINT. La valeur de l'expression numérique entre parenthèses est le nombre de blancs à afficher. Contrairement à la fonction TAB, SPC fonctionne par rapport à la position horizontale actuelle du curseur. TAB fonctionne par rapport au début de la ligne.

  1. 30 MONTH$ = "JANVIER": SALES = 345.50
  2. 50 PRINT "MOIS"; SPC(8);"VENTES"
  3. 60 PRINT:PRINT MONTH$; SPC(12-LEN(MONTH$)),SALES

Lorsque vous exécutez le programme, le résultat est :

MOIS        VENTES
JANVIER     345 50

Remarque : L'instruction PRINT supplémentaire au début de la ligne 60 crée un espace vertical supplémentaire dans votre sortie.

TAB

TAB(integer)

Pour insérer des tabulations dans votre sortie affichée, utilisez la fonction TAB dans une instruction PRINT. La valeur de l'expression numérique est le nombre de blancs entre le début de la ligne courante et la TAB. Utilisez cette fonction avec PRINT# pour insérer des tabulations dans un fichier disque.

  1. 90 AMT = 123
  2. 100 PRINT TAB(3), "Profits";TAB(2); AMT

Lorsque vous exécutez le programme, le résultat est :

    Profits
    123


Dernière mise à jour : Mercredi, le 3 mai 2023