Contenu

# Instruction Input#

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

### Syntaxe :

    Input #fileNum {,|;} var1 [, var2 [, ...]]

### Paramètres :

fileNum : 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 de nombre ou de chaîne à 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, sFileName As String
        Dim sName As String, sValue As Integer
        sFileName = "C:\Users\ThisUser\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
        ' Lire le fichier de données en utilisant Input
        iCount = Freefile
        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

Rubriques connexes

Instruction Close

Instruction Open

Instruction Print#

Instruction Write#