Modul
Indhald
Innhaldsliste 🔎︎

# Input#-uttrykket

Les data frå ei opna sekvensiell fil.

## Syntaks:

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

## Parametrar:

FileNumber: Nummeret på fila som inneheld dataa du ønskjer å lesa. Fila må vera opna med uttrykket «Open» med nøkkelordet «INPUT».

var: Ein numerisk- eller streng-variabel som du legg verdiane lesne frå den opna fila inn i.

Uttrykket Input# les talverdiar eller strengar frå ei ope fil og legg data inn i ein eller fleire variablar. Ein talvariabel vert lese fram til det første vognreturteiknet (Asc = 13), linjeskiftteiknet (Asc = 10), mellomrommet eller kommaet. Strengvariablar vert lesne fram til det første vognreturteiknet (Asc = 13), linjeskiftteiknet (Asc = 10) eller kommaet.

Data og datatypar i den opna fila må vera i same rekkjefølgja som variablane som vert overførte i parameteren «var». Viss du legg ein ikkje-numerisk verdi i ein numerisk variabel, vert variabelen sett til verdien «0».

Datapostar som er skilde med komma, kan ikkje brukast i strengvariablar. Hermeteikn (") i fila vert også ignorerte. Viss du vil lesa inn desse teikna frå fila, bruk uttrykket Line Input# for å lesa reine tekstfiler (det vil seia filer som berre inneheld teikn som kan skrivast ut) linje for linje.

Viss slutten av fila vert nådd medan eit dataelement vert lese, vert dette registrert som ein feil og prosessen vert avbroten.

## 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

    ' Skriv data (som vi seinare skal lesa inn 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
    ' Les datafil med 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