Write, WriteLine, fonctions

Mise à jour : novembre 2007

Écrit des données dans un fichier séquentiel. Les données écrites à l'aide de la fonction Write sont généralement lues à partir d'un fichier avec la fonction Input.

Public Sub Write( _
   ByVal FileNumber As Integer, _
   ByVal ParamArray Output As Object _
)
' -or-
Public Sub WriteLine( _
   ByVal FileNumber As Integer, _
   ByVal ParamArray Output() As Object _
)

Paramètres

  • FileNumber
    Requis. Expression de type Integer contenant tout numéro de fichier valide.

  • Output
    Facultatif. Une ou plusieurs expressions séparées par des virgules à écrire dans un fichier.

Exceptions

Type d'exception

Numéro de l'erreur

Condition

IOException

52

FileNumber n'existe pas.

IOException

54

Le mode de fichier est non valide.

Consultez la colonne « Numéro d'erreur » si vous mettez à niveau des applications Visual Basic 6.0 qui utilisent la gestion des erreurs non structurée. (Vous pouvez comparer le numéro d'erreur par rapport à Number, propriété (objet Err).) Toutefois, lorsque cela est possible, vous devez envisager de remplacer un tel contrôle d'erreur par Vue d'ensemble de la gestion structurée des exceptions pour Visual Basic.

Notes

Les fonctions Write et WriteLine sont fournies pour une compatibilité descendante et peut avoir un impact sur les performances. Pour les applications non héritées (legacy), l'objet My.Computer.FileSystem offre de meilleures performances. Pour plus d'informations, consultez Accès au fichier avec Visual Basic.

Si l'argument Output est omis, une ligne vide est imprimée dans le fichier. Les expressions multiples peuvent être séparées par une virgule.

Contrairement à la fonction Print, la fonction Write insère des virgules entre les éléments et des guillemets de part et d'autre des chaînes au moment de leur écriture dans le fichier. Vous n'avez donc pas à placer de délimiteurs explicites dans la liste. Lorsque la fonction Write est utilisée pour écrire des données dans un fichier, seuls les formats de données numériques, Boolean, de date, null et de Error sont prises en charge. Les hypothèses universelles suivantes sont suivies afin que les données puissent toujours être lues et correctement interprétées à l'aide de Input, indépendamment des paramètres régionaux :

  • Les données numériques sont toujours écrites avec un point comme séparateur décimal.

  • Pour les données de type Boolean, les valeurs #TRUE# ou #FALSE# sont imprimées. Les mots clés True et False ne sont jamais traduits, quels que soient les paramètres régionaux.

  • Les données relatives aux dates sont écrites dans le fichier conformément au format de date universel. Si l'un des composants date ou heure est omis ou égal à zéro, seul le composant fourni est écrit dans le fichier.

  • Si les données de Output sont vides, rien n'est écrit dans le fichier. Toutefois, dans le cas de données de type null, la valeur #NULL# est écrite.

  • Pour les données de type Error, le résultat affiché est #ERROR errorcode#. Le mot clé Error n'est jamais traduit, quels que soient les paramètres régionaux.

La fonction WriteLine insère un caractère de passage à la ligne, c'est-à-dire un retour chariot/saut de ligne (Chr(13) + Chr(10)), après l'écriture dans le fichier du dernier caractère contenu dans l'argument Output.

Vous pouvez insérer des guillemets dans une chaîne en utilisant des guillemets doubles, ou "". Par exemple :

Dim x As String = "Double quotation marks aren't ""difficult"" to handle."

retourne une chaîne avec la valeur de Double quotation marks aren't "difficult" to handle.

L'écriture sur fichier à l'aide de la fonction Write ou WriteLine requiert l'accès Append à partir de l'énumération FileIOPermissionAccess. Pour plus d'informations, consultez FileIOPermissionAccess, énumération.

Exemple

Cet exemple utilise la fonction Write pour écrire des données brutes dans un fichier séquentiel.

FileOpen(1, "TESTFILE", OpenMode.Output) ' Open file for output.
Write(1, "This is a test.")  ' Print text to file.
WriteLine(1)  ' Print blank line to file.
WriteLine(1, "Zone 1", TAB(), "Zone 2")   ' Print in two print zones.
WriteLine(1, "Hello", " ", "World")     ' Separate strings with space.
WriteLine(1, SPC(5), "5 leading spaces ")    ' Print five leading spaces.
WriteLine(1, TAB(10), "Hello")   ' Print word at column 10.

' Assign Boolean, Date, and Error values.
Dim aBool As Boolean
Dim aDate As DateTime
aBool = False
aDate = DateTime.Parse("February 12, 1969")

' Dates and Booleans are translated using locale settings of 
' your system.
WriteLine(1, aBool, " is a Boolean value")
WriteLine(1, aDate, " is a date")
FileClose(1)   ' Close file.

Notes du développeur sur Smart Device

Cette fonction n'est pas prise en charge.

Configuration requise

Espace de noms :Microsoft.VisualBasic

**Module :**FileSystem

**Assembly :**bibliothèque Visual Basic Runtime (dans Microsoft.VisualBasic.dll)

Voir aussi

Tâches

Comment : insérer du texte dans des fichiers dans Visual Basic

Comment : écrire du texte dans des fichiers à l'aide de Streamwriter dans Visual Basic

Référence

Input, fonction

FileOpen, fonction

Fonctions Print, PrintLine

Autres ressources

Accès au fichier avec Visual Basic