WRITE |
Écrire |
---|---|
IBM Personal Computer Pascal |
Syntaxe
Procedure WRITE(PI, P2, ... Pn); |
Procedure WRITE(VAR F, PI, P2, ... Pn); |
Paramètres
Nom | Description |
---|---|
F | Ce paramètre permet d'indiquer l'identificateur de fichier. |
PI, P2, ... Pn | Ce paramètre permet d'indiquer la liste de variables à écrire. |
Description
Cette procédure permet d'écrire différentes données sur un périphérique, dans un fichier ou sur la console.
Remarques
- Le paramètre F désigne un fichier texte (type TEXT) et P1, P2, ... Pn désigne des expressions (avec des valeurs M et N facultatives) de type CHAR, INTEGER, REAL, BOOLEAN ou STRING.
- Avec la fonction d'entrée/sortie étendue, les expressions peuvent également être de type WORD, de type énuméré, de type pointeur ou LSTRING.
- La procédure «WRITE(P1, P2, .. Pn)» est équivalent de la procédure «WRITE(OUTPUT, PI, P2, ... Pn)».
- LA procédure «WRITE(F, P1, P2, ... Pn)» est équivalent de la procédure «BEGIN WRITE(F, PI); WRITE(F, P2); ... WRITE(F, Pn);END».
- Dans la procédure WRITE, la valeur M peut toujours être utilisée comme nombre de caractères à écrire, indiquant la largeur du champ. En ISO Pascal, M doit et doit être supérieur à zéro, et si l'expression en cours d'écriture nécessite moins de M caractères, elle est complétée à gauche avec des espaces. Le paramètre M peut également être négatif ou nul; s'il est négatif, la valeur absolue de M est utilisée mais un remplissage se produit à droite à la place (il s'agit officiellement d'une erreur non détectée). Si la représentation de l'expression ne peut pas tenir dans les positions des caractères ABS(M), des positions supplémentaires sont utilisées selon les besoins pour les types numériques, ou la valeur est tronquée à droite pour les types de chaîne de caractères. Si M est omis ou égal à MAXINT, une valeur par défaut est utilisée. La valeur N ne s'applique que si P est de type REAL (pour le nombre de décimales); INTEGER, WORD ou pointeur (pour la base de sortie); ou énuméré (pour choisir la valeur numérique ou de l'identifiant).
- Si le paramètre P est de type CHAR, M par défaut est 1 et WRITE(F, P) équivaut à «BEGIN F^:=P; PUT(F); END».
- Si P est de type INTEGER (ou WORD) ou une de ses sous-intervalle, la représentation décimale de P est écrite dans le fichier. Si le paramètre P est positif, un premier blanc est d'abord écrit, à moins que la valeur M ne soit inférieure à zéro indiquant une sortie de vidage à gauche. Si le paramètre P est négatif, un signe moins en tête est toujours écrit; bien sûr, les valeurs WORD ne sont jamais négatives. La valeur par défaut de M est 8. Si ABS(M) est plus petit que la représentation du nombre, des positions de caractères supplémentaires sont utilisées selon les besoins. Le paramètre N est utilisé pour écrire en hexadécimal, décimal, octal ou binaire en utilisant N égal à 16, 10, 8 ou 2; soit une extension à l'ISO Pascal. Omettre N ou définir N sur MAXINT implique une décimale. Les nombres décimaux WORD de 32768 à 65535 sont écrits normalement (pas leurs équivalents entiers négatifs). Toutes les valeurs écrites doivent être séparées par des espaces ou tout autre caractère non valide en nombre, elles seront donc lues comme des nombres séparés.
- Si le paramètre P est de type REAL, une représentation décimale du nombre P, arrondie au nombre spécifié de décimales, est écrite dans le fichier. Si le N est manquant ou égal à MAXINT, une représentation en virgule flottante de P est écrite dans le fichier, composée d'un coefficient et d'un facteur d'échelle. Si N est inclus, une représentation arrondie à virgule fixe de P est écrite dans le fichier, avec N chiffres après la virgule décimale. Si N est zéro, P s'écrit sous la forme d'un entier arrondi, avec un point décimal. La représentation exacte utilisée est décrite dans l'ISO Pascal. La valeur par défaut de M pour les valeurs REAL est 14. Si ABS(M) est plus petit que la représentation de la valeur REAL, des positions de caractères supplémentaires sont écrites selon les besoins. Quelques exemples :
- Si le paramètre P est un type énuméré et N omis ou égal à MAXINT, alors ORD(P) est écrit sur le fichier, comme s'il s'agissait d'un WORD. Si P est de type BOOLEAN, alors l'une des chaînes de caractères «'TRUE'» ou «'FALSE'» (selon la valeur de P) est écrite dans le fichier, sous forme de STRING. La valeur par défaut de M est 6 pour BOOLEAN. La valeur ORD n'est jamais écrite pour les BOOLEAN comme pour les types énumérés.
- Si le paramètre P est un type de pointeur, il est écrit en tant que WORD d'une manière définie par la mise en oeuvre de telle sorte que l'écriture de la valeur et sa lecture ultérieure donnent la même valeur de pointeur. Les types d'adresse doivent être écrits sous forme de mots en utilisant la notation .R ou .S.
- Si le paramètre P est de type STRING(n), la valeur de P est écrite dans le fichier. La valeur par défaut de M est la longueur de la STRING, n. Si ABS(M) est inférieur à la longueur, seuls les premiers caractères ABS(M) sont écrits; si M est nul, rien n'est écrit. La partie droite de STRING est toujours tronquée, même si M est négatif.
- Avec la fonction d'entrée/sortie étendue, si le paramètre P est de type LSTRING(n), la valeur de P est écrite dans le fichier. La valeur par défaut de M est la longueur actuelle de la chaîne de caractères, P.LEN. Si ABS(M) est inférieur à la longueur actuelle, seuls les premiers caractères ABS(M) sont écrits; si M est nul, rien n'est écrit. La partie droite du LSTRING est toujours tronquée, même si M est négatif. Si ABS(M) est supérieur à la longueur actuelle, les espaces remplissent les positions restantes (pas les caractères au-delà de la longueur dans le LSTRING). Notez qu'une chaîne de caractères de M blancs peut être écrite avec NULL:M.
WRITE(123.456);
retournera le résultat suivant :
' 1.2345600E+02'Un autre exemple avec le paramètre M est fixé sur 20 :
WRITE(123.456:20);
retournera le résultat suivant :
' 1.2345600000000E+02'Un autre exemple avec le paramètre N est fixé sur 3 :
WRITE(123.456::3);
retournera le résultat suivant :
' 123.456'L'exemple avec le paramètre M est fixé sur 2 et le paramètre N sur 3 :
WRITE (123.456:2:3);
retournera le résultat suivant :
' 123.456'L'exemple avec le paramètre M est fixé sur -20 et le paramètre N sur 3 :
WRITE (123.456:-20:3);
retournera le résultat suivant :
'123.456
Dernière mise à jour : Dimanche, le 19 avril 2020