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

Aidez-nous !