IBM Lotus Symphony


Instruction Input# [Exécution]

Lit les données d'un fichier séquentiel ouvert.

Syntaxe :

Input #FileNumber As Integer; var1[, var2[, var3[,...]]]

Paramètres :

FileNumber : numéro du fichier contenant les données que vous souhaitez lire. Le fichier doit être ouvert à l'aide de l'instruction Open en utilisant le mot-clé INPUT.

var : variable numérique ou de chaîne à laquelle vous affectez les valeurs lues dans le fichier ouvert.

L'instruction Input# lit des chaînes ou des valeurs numériques dans un fichier ouvert et affecte les données à une ou plusieurs variables. Une variable numérique est lue jusqu'au premier retour chariot (Asc=13), saut de ligne (Asc=10), espace ou la première virgule. Les variables de chaîne sont lues jusqu'au premier retour chariot (Asc=13), saut de ligne (Asc=10) ou la première virgule.

Les données et les types de données dans le fichier ouvert doivent apparaître dans le même ordre que les variables qui sont transmises dans le paramètre "var". Si vous affectez des valeurs non numériques à une variable numérique, "var" reçoit la valeur "0".

Les enregistrements qui sont séparés par des virgules ne peuvent pas être affectés à une variable de chaîne. Les guillemets (") dans le fichier sont également ignorés. Si vous voulez lire ces caractères dans le fichier, utilisez l'instruction Line Input# pour lire des fichiers de texte pur (fichiers contenant uniquement des caractères imprimables) ligne par ligne.

Si la fin du fichier est atteinte lors de la lecture d'un élément de données, une erreur se produit et le processus est interrompu.

Exemple :

Sub ExampleWorkWithAFile

Dim iNumber As Integer

Dim sLine As String

Dim aFile As String

Dim sMsg as String

aFile = "c:\data.txt"

iNumber = Freefile

Open aFile For Output As #iNumber

Print #iNumber, "Ceci est une ligne de texte."

Print #iNumber, "Ceci est une autre ligne de texte."

Close #iNumber

iNumber = Freefile

Open aFile For Input As iNumber

While not eof(iNumber)

Line Input #iNumber, sLine

If sLine <>"" then

sMsg = sMsg & sLine & chr(13)

end if

wend

Close #iNumber

Msgbox sMsg

End Sub


Commentaires en retour sur le produit | Documentation complémentaire | Marques