Module
Contents
Index 🔎︎

# Input# Statement

Luetaan tietoja avoimesta peräkkäistiedostosta.

## Syntaksi:

Input #tiedostonro1 As Integer; muuttuja_1[,muuttuja_2[, muuttuja_3[,...]]]

## Parametrit:

Tiedostonro1: sen tiedoston numero, josta tietoa luetaan. Tiedosto pitää olla avattu Open-lauseella avainsanaa INPUT käyttäen.

Muuttuja_n: numeerinen tai merkkijonomuuttuja, johon tiedostosta luettavat arvot sijoitetaan.

Input#-lauseella luetaan numeerisia arvoja tai merkkijonoja avoimesta tiedostosta ja tieto sijoitetaan yhteen tai useampaan muuttujaan. Numeerisia arvoja luetaan ensimmäiseen telanpalautukseen (CR, Asc=13), rivin siirtoon (LF, Asc=10), välilyöntiin tai pilkkuun asti. Merkkijonomuuttujia luetaan ensimmäiseen telanpalautukseen (CR, Asc=13), rivin siirtoon (LF, Asc=10) tai pilkkuun asti.

Avatun tiedoston tietojen ja tietotyyppien pitää vastata järjestykseltään muuttujia, jotka välitetään "muuttuja_n"-parametrillä. Jos ei-numeerinen arvo sijoitetaan numeeriseen muuttujaan, "muuttuja_n" saa arvon "0".

Pilkuilla erottuja tietueita ei voi sijoittaa merkkijonomuuttujaan. Myös tiedostossa esiintyvät lainausmerkit (") hylätään. Jos nämä merkit halutaan lukea tiedostosta, käytetään Line Input# -lausetta puhtaiden tekstitiedostojen lukemiseen (tiedostoissa on vain tulostuvia merkkejä) rivi riviltä.

Jos tiedoston loppu saavutetaan luettaessa tietoelementtiä, tapahtuu virhe ja prosessi keskeytetään.

## Esimerkki:

    Sub ExampleWorkWithAFile

    Dim iCount As Integer

    Dim sName As String

    Dim sValue As Integer

    Dim sFileName As String

    sFileName = "c:\data.txt"

    iCount = Freefile

    'Kirjoita tiedot (jotka luetaan myöhemmin Input-komennolla) tiedostoon

    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

    'Lue tiedosto Input-komennolla

    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