Input# sakinys

Skaito duomenis iš atverto nuosekliojo failo.

Sintaksė:

Įvedimo sakinio diagrama


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

Parametrai:

fileNum: failo, kuriame yra norimų skaityti duomenų, numeris. Failas turi būti atvertas naudojant atvėrimo sakinį pasirinkus raktinį žodį INPUT.

var: skaitmeninis arba eilutės kintamasis, kuriam priskiriate reikšmes, perskaitytas iš atverto failo.

Input# sakinys nuskaito skaitines reikšmes ar eilutes iš atverto failo ir priskiria duomenis vienam ar daugiau kintamųjų. Skaitinis kintamasis nuskaitomas iki pirmojo grąžinimo (Asc=13), eilutės pabaigos (Asc=10), tarpo ar kablelio. Eilutės kintamieji nuskaitomi iki pirmojo grąžinimo (Asc = 13), eilučių pabaigos (Asc = 10) arba kablelio.

Duomenys ir duomenų tipai atvertama faile turi būti pateikiami ta pačia tvarka kaip ir kintamieji, kurie perduodami parametru „var“. Jei skaitmeniniam kintamajam priskiriate ne skaitines vertes, tai „var“ priskiriama „0“.

Kableliais atskirti įrašai negali būti priskirti eilutės kintamajam. Taip pat neatsižvelgiama į failo kabutes ("). Jei norite skaityti šiuos simbolius iš failo, naudokite Line Input# sakinį, kad galėtumėte perskaityti grynojo teksto failų (failų, kuriuose yra tik spausdinami simboliai) eilutę po eilutės.

Jei skaitant duomenų elementą pasiekiama failo pabaiga, įvyksta klaida ir procesas nutraukiamas.

Pavyzdys:


Sub ExampleWorkWithAFile
Dim iCount As Integer, sFileName As String
Dim sName As String, sValue As Integer
 
    sFileName = "C:\data.txt"
    iCount = Freefile
 
    'Į failą rašykite duomenis (kuriuos perskaitysime vėliau naudodami įvedimą)
    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
    ' Skaitykite duomenų failą naudodami įvedimą
    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

Paremkite mus!