Module
Contents
Index 🔎︎

# Input# Statement

Läser data från en öppen sekventiell fil.

## Syntax:

Input #FileNumber As Integer; var1[, var2[, var3[,...]]]

## Parametrar:

FileNumber: Numret på den fil som innehåller de data som du vill läsa. Filen måste öppnas med en Open-sats som använder nyckelordet INPUT.

var: En numerisk variabel eller strängvariabel som du tilldelar de värden som avläses i den öppnade filen.

En Input#-sats läser numeriska värden eller strängar från en öppen fil och tilldelar data till en eller flera variabler. En numerisk variabel läses upp till den första vagnreturen (Asc=13), radmatningen (Asc=10), blanksteget eller kommatecknet. Strängvariabler läses upp till den första vagnreturen (Asc=13), radmatningen (Asc=10) eller kommatecknet.

Data och datatyper i den öppnade filen måste visas i samma ordning som de variabler som överförs i parametern "var". Om du tilldelar icke-numeriska värden till en numerisk variabel, så tilldelas "var" värdet "0".

Poster som separeras med kommatecken (,) kan inte tilldelas en strängvariabel. Citationstecken (") i filen ignoreras också. Om du vill läsa de här tecknen från filen kan du använda Line Input#-satsen för att läsa rena textfiler (filer som bara innehåller utskrivbara tecken) rad för rad.

Om slutet av filen nås vid läsning av ett dataelement uppstår ett fel och processen avbryts.

## Exempel:

    Sub ExampleWorkWithAFile

    Dim iCount As Integer

    Dim sName As String

    Dim sValue As Integer

    Dim sFileName As String

    sFileName = "c:\data.txt"

    iCount = Freefile

    ' Skriv data till filen (som vi senare kommer att läsa in via Input)

    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

    ' Läs datafil med hjälp av 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