Module
Inhalte
Index 🔎︎

# Anweisung Input#

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

## Syntax:

Input #Dateinummer As Integer; Var1[, Var2[, Var3[, ...]]]

## Parameter:

Dateinummer: Die Nummer der Datei mit den zu lesenden Daten. Die Datei muss zuvor mit einer Open-Anweisung und dem Schlüsselwort INPUT geöffnet worden sein.

Var: Eine numerische oder Zeichenkettenvariable, der Sie die aus der geöffneten Datei gelesenen Werte zuweisen.

Die Anweisung Input# liest numerische Werte oder Zeichenketten 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. Zeichenkettenvariablen 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

    Dim sName As String

    Dim sValue As Integer

    Dim sFileName As String

    sFileName = "c:\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

    iCount = Freefile

    ' Lese Datendatei mittels 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