Input# Statement

Luetaan tietoja avoimesta peräkkäistiedostosta.

Syntaksi:

Input Statement diagram


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

Parametrit:

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.

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, sFileName As String
    Dim sName As String, sValue As Integer
    sFileName = "C:\Users\ThisUser\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
    'Lue tiedosto Input-komennolla
    iCount = Freefile
    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

Please support us!