Instruction Input#

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 à lire. Le fichier doit être ouvert avec l'instruction Open à l'aide du mot-clé INPUT.

var : variable (nombre ou chaîne de caractères) à laquelle sont assignées les valeurs lues dans le fichier ouvert.

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

Les données et les types de données du fichier ouvert doivent être dans le même ordre que les variables transmises dans le paramètre "var". Si vous assignez des valeurs non numériques à une variable numérique, le paramètre "var" prend la valeur "0".

Lles enregistrements séparés par des virgules ne peuvent pas être assignées à une variable de chaîne de caractères. Les guillemets (") présents dans le fichier ne sont pas non plus pris en compte. Pour lire ces caractères dans le fichier, utilisez l'instruction Line Input# permettant de lire ligne par ligne un fichier texte pur (contenant uniquement des caractères imprimables).

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 abandonné.

Exemple :

Sub ExampleWorkWithAFile

Dim iCount As Integer

Dim sName As String

Dim sValue As Integer

Dim sFileName As String

 

sFileName = "c:\data.txt"

iCount = Freefile

 

' Écrire les données (que nous lirons plus tard avec Input) dans un fichier

Open sFileName For Output As iCount

sName = "Hamburg"

sValue = 200

Write #iCount, sName, sValue

sName = "New York"

sValue = 300

Write #iCount, sName, sValue

sName = "Miami"

sValue = 459

Write #iCount, sName, sValue

Close #iCount

 

iCount = Freefile

' Lire le fichier de données en utilisant Input

Open sFileName For Input As iCount

Input #iCount; sName, sValue

MsgBox sName & " " & sValue

Input #iCount; sName, sValue

MsgBox sName & " " & sValue

Input #iCount; sName, sValue

MsgBox sName & " " & sValue

Close #iCount

End Sub