Anweisung Input#

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

Syntax:

Input Statement diagram


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

Parameter:

fileNum: Number of the file that contains the data that you want to read. The file must be opened with the Open statement using the key word INPUT.

var: A numeric or string variable that you assign the values read from the opened file to.

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, sFileName As String
Dim sName As String, sValue As Integer
 
    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

Bitte unterstützen Sie uns!