System.Write

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

procedure Write([var F: File]; P1; [ ..., PN]); overload;
procedure Write([var F: File]; P1; [ ..., PN]); overload;

Propriétés

Type Visibilité  Source Unité  Parent
procedure public System.pas System System


Description

Ecrit dans un fichier typé ou dans un fichier texte.

La syntaxe de la procédure Write présentée ici est un exemple qui illustre que Write peut prendre un nombre variable d'arguments.

Procédure Write pour les fichiers typés

Dans le code Delphi, la procédure Write écrit un fichier dans un composant fichier. F est une variable fichier, et chaque V est une variable du même type que le type de composant de F. Pour chaque variable écrite, la position du fichier en cours est avancée au prochain composant. Si la position du fichier en cours se trouve en fin de fichier (c'est-à-dire que Eof(F) est à true), le fichier est agrandi.

Procédure Write pour les fichiers texte

Dans le code Delphi, la procédure Write écrit une ou plusieurs valeurs dans un fichier texte. Le paramètre F, s'il est spécifié, est une variable fichier texte. Si le paramètre F est omis, la variable fichier standard Output est implicitement prise en compte. Chaque valeur P est un paramètre de Write. Un paramètre de Write comprend une expression en sortie dont la valeur est écrite dans le fichier. Un paramètre de Write peut aussi contenir les spécifications donnant la largeur d'un champ et le nombre de décimales. Chaque expression en sortie doit être de type Char, l'une de type entière (Byte, Shortint, Word, Longint, Cardinal), flottante (Single, Real, Double, Extended, Currency), chaîne (PChar, AnsiString, ShortString), chaîne compressée (packed) ou de type booléen (Boolean, Bool).

Un paramètre de Write a la forme :

OutExpr [: MinWidth [: DecPlaces ] ]

OutExpr est une expression en sortie.

MinWidth et DecPlaces sont des expressions de type entier :

  • MinWidth spécifie la largeur minimale du champ qui doit être supérieure à 0. MinWidth caractères sont écrits exactement (en utilisant les espaces du début, si nécessaire) sauf lorsque OutExpr a une valeur qui doit être représentée sur un nombre de caractères supérieur à MinWidth. Dans ce cas, suffisamment de caractères sont écrits pour représenter la valeur de OutExpr. De même, si MinWidth est omis, le nombre nécessaire de caractères est écrit pour représenter la valeur de OutExpr.
  • DecPlaces spécifie le nombre de décimales d'une représentation d'un nombre de type Real à virgule fixe. Il ne peut être spécifié que si OutExpr est un des types Real, et si MinWidth est aussi spécifié. Lorsque MinWidth est spécifié, il doit être supérieur ou égal à zéro.

Write avec une variable de type caractère : Si MinWidth est omis, la valeur du caractère OutExpr est écrite dans le fichier. Sinon, MinWidth - 1 espaces suivis de la valeur du caractère de OutExpr sont écrits dans le fichier.

Write avec une des valeurs du type entier : Si MinWidth est omis, la représentation décimale de OutExpr est écrite dans le fichier sans être précédée d'espace. Si MinWidth est spécifié et que sa valeur est plus grande que la longueur de la chaîne décimale, des espaces sont écrits avant la chaîne décimale afin que la largeur du champ soit de MinWidth.

Write avec une des valeurs du type réel :Si OutExpr est une des valeurs du type réel, sa représentation décimale est écrite dans le fichier. Le format de cette représentation dépend de la présence ou de l'absence de DecPlaces. Si DecPlaces est omis (ou s'il possède une valeur négative), une chaîne décimale à virgule flottante est écrite. Si MinWidth est aussi omis, une valeur de 17 est prise par défaut pour MinWidth ; si MinWidth est inférieur à 8, la valeur prise en compte sera de 8. Le format de la chaîne en virgule flottante est :

[   | - ] <digit> . <decimals> E [ + | - ] <exponent>

Le tableau suivant donne la liste des composants de la chaîne en sortie.


Composant Signification

[   | - ]

" " ou "-"l, selon le signe de OutExpr

<chiffre>

Chiffre unique, "0" seulement si OutExpr est à 0

<décimales>

Chaîne de MinWidth-7 (mais au plus 10) chiffres

E

Caractère [E] en majuscule

[ + | - ]

Selon le signe de l'exposant

<exposant>

Exposant de deux chiffres


Si DecPlaces est présent, une chaîne décimale à virgule fixe est écrite. Si DecPlaces est supérieur à 216, la valeur prise en compte sera 216. Le format de la chaîne à virgule fixe est le suivant :

[<blanks>] [ - ] <digits> [.<decimals>]


Remarque: La précision réelle de types Real est inférieure à 216 chiffres. Le type Double a environ 16 chiffres décimaux, et le type Single a environ 8 chiffres décimaux. La RTL de Delphi remplit le caractère '0' dans ces champs à précision supplémentaire. Par exemple :
writeln(Pi:1:20);

affiche :

3.14159265358979312000


Le tableau suivant donne la liste des composants de la chaîne à virgule fixe :


Composant Signification

[ <blancs> ]

Des espaces afin de satisfaire à MinWidth

[-]

Si OutExpr est négative

<chiffres>

Au moins un chiffre, mais sans zéro au début

[.<décimales>]

Décimales si DecPlaces > 0


Write avec une des valeurs du type chaîne : Si MinWidth est omis, la valeur chaîne de OutExpr est écrite dans le fichier sans espaces de début. Si MinWidth est spécifié et que sa valeur est supérieure à la longueur de OutExpr, des espaces sont écrits avant la chaîne décimale afin que la largeur du champ soit de MinWidth.

Write avec une valeur de type chaîne compressée (packed) : Si OutExpr est du type chaîne compressée, le résultat sera identique à celui d'une chaîne dont la longueur est le nombre d'éléments dans le type chaîne compressée.

Write avec une des valeurs de type booléen : Si OutExpr est de type Boolean, le résultat reviendra à écrire les chaînes True ou False, suivant la valeur de OutExpr.

Remarque: Lors de l'utilisation de Write, le fichier doit être ouvert en écriture.

Voir aussi

Exemples de code