Inhalte
Index 🔎︎

# Anweisung Input#

Erlaubt das Einlesen von Daten aus einer geöffneten sequentiellen Datei.

### Syntax:

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

### Parameter:

fileNum: Nummer der Datei, welche die zu lesenden Daten enthält. Die Datei muss mit der Anweisung Open mit dem Schlüsselwort INPUT geöffnet werden.

var: Eine numerische oder String-Variable, der Sie die aus der geöffneten Datei gelesenen Werte zuweisen.

Die Anweisung Input# liest numerische Werte oder Zeichenfolgen aus einer geöffneten Datei und weist die Daten einer oder mehreren Variablen zu. Numerische Variablen werden bis zum ersten Wagenrücklauf (Asc = 13), Zeilenvorschub (Asc = 10), Leerzeichen oder Komma gelesen. Zeichenfolgenvariablen werden bis zum ersten Wagenrücklauf (Asc = 13), Zeilenvorschub (Asc = 10) oder Komma gelesen.

Daten und Datentypen in der geöffneten Datei müssen in derselben Reihenfolge wie die im Parameter "Var" übergebenen Variablen erscheinen. Wenn Sie versuchen, einer numerischen Variable nicht-numerische Werte zuzuweisen, erhält "Var" den Wert "0".

Durch Kommata getrennte Datensätze können einer String-Variablen nicht zugewiesen werden. Anführungszeichen (") in der Datei werden ebenfalls ignoriert. Um diese Zeichen aus der Datei einzulesen, verwenden Sie die Anweisung Line Input#, um reine Textdateien (Dateien, die ausschließlich druckbare Zeichen enthalten) zeilenweise einzulesen.

Wird während des Lesens eines Datenelements das Ende der Datei erreicht, so wird der Lesevorgang abgebrochen, und es tritt ein Fehler auf.

### Beispiel:

    Sub ExampleWorkWithAFile
        Dim iCount As Integer, sFileName As String
        Dim sName As String, sValue As Integer
        sFileName = "C:\Users\ThisUser\data.txt"
        iCount = Freefile
        ' Schreibe Daten ( welche wir später mit Input lesen werden ) in Datei
        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
        ' Lese Datendatei mittels 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

Verwandte Themen

Anweisung Close

Anweisung Open

Anweisung Print#

Anweisung Write#