Modul
Indhold
Indholdsfortegnelse 🔎︎

# Input#-udtryk

Læser data fra en åben sekventiel fil.

## Syntaks:

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

## Parametre:

FileNumber: Nummeret på den fil, som indeholder dataene, som du vil læse. Filen skal være åbnet med Open-sætningen ved at bruge nøgleordet INPUT.

var: En numerisk- eller strengvariabel, som du tildeler værdierne, der læses fra den åbne fil.

Input#-sætningen læser numeriske værdier eller strenge fra en åben fil og tildeler dataene til en eller flere variable. En numerisk variabel læses op til det første linjeskift (CR) (ASCII=13), linjeskift (LF) (ASCII=10), mellemrum eller komma. Strengvariable læses til det første linjeskift (CR) (ASCII=13), linjeskift (LF) (ASCII=10) eller komma.

Data og datatyper i den åbnede fil skal optræde i samme orden som variablene, der overføres i "var"-parameteren. Hvis du tildeler ikke-numeriske værdier til en numerisk værdi, tildeles "var" en værdi på "0".

Dataposter, som er adskilt af kommaer, kan ikke anvendes i en strengvariabel. Citationstegn (") i filen ignoreres også. Hvis du vil læse disse tegn fra filen, så brug Line Input#-sætningen til at læse rene tekstfiler (filer, som kun indeholder tegn, der kan udskrives) linje for linje.

Hvis slutningen på filen nås under læsningen af et dataelement, opstår der en fejl og processen afbrydes.

## Eksempel:

    Sub ExampleWorkWithAFile

    Dim iCount As Integer

    Dim sName As String

    Dim sValue As Integer

    Dim sFileName As String

    sFileName = "c:\data.txt"

    iCount = Freefile

    REM Skriv data (som vi senere vil indlæse med Input ) til fil

    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

    REM Læs datafil ved hjælp af 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