LibreOffice 7.5 žinynas
Skaito duomenis iš atverto nuosekliojo failo.
Input #fileNum {,|;} var1 [, var2 [, ...]]
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.
Sub ExampleWorkWithAFile
Dim iCount As Integer, sFileName As String
Dim sName As String, sValue As Integer
sFileName = "C:\Users\ThisUser\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
' Skaitykite duomenų failą naudodami įvedimą
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