System.Write
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 ] ]
où 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>]
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.