Input# Statement
Egy megnyitott szekvenciális fájlból beolvassa az adatot.
Szintaxis:
Input #FileNumber As Integer; változó1[, változó2[, változó3[,...]]]
Paraméterek:
Fájlszám: A beolvasni kĂvánt adatot tartalmazĂł fájl száma. A fájlt az Open utasĂtással kell megnyitni, az INPUT kulcsszĂł felhasználásával.
változó: Olyan numerikus vagy string (karakterlánc) változó, amelyhez értéket a megnyitott fájlból rendel.
Az Input# utasĂtás numerikus Ă©rtĂ©keket vagy karakterláncot olvas egy megnyitott fájlbĂłl, Ă©s hozzárendeli az adatokat egy vagy több változĂłhoz. A numerikus változĂłt az elsĹ‘ bekezdĂ©svĂ©gjelig (Asc=13), soremelĂ©sig (Asc=10), szĂłközig vagy vesszĹ‘ig olvassa a rendszer. A string (karakterlánc) változĂłt az elsĹ‘ bekezdĂ©svĂ©gjelig (Asc=13), soremelĂ©sig (Asc=10) vagy vesszĹ‘ig olvassa a rendszer.
A megnyitott fájl adatainak Ă©s adattĂpusainak ugyanabban a sorrendben kell megjelenniĂĽk, mint ahogy a „változó” paramĂ©terben átadásra kerĂĽlnek. Ha nem numerikus Ă©rtĂ©ket rendel egy numerikus változĂłhoz, akkor a „változó” elemhez a „0” Ă©rtĂ©k lesz hozzárendelve.
VesszĹ‘vel elválasztott rekordok nem rendelhetĹ‘k hozzá egy karakterlánc változĂłhoz. A fájlban lĂ©vĹ‘ idĂ©zĹ‘jelek (") is figyelmen kĂvĂĽl maradnak. Ha ezeket a karaktereket be akarja olvasni a fájlbĂłl, akkor a Line Input# utasĂtással sorrĂłl sorra beolvashatja a szövegfájlt (csak nyomtathatĂł karaktereket tartalmazĂł fájlt).
Ha egy adatelem olvasása közben éri el a fájl végét, akkor hiba történik, és a folyamat leáll.
PĂ©lda:
Sub ExampleWorkWithAFile
Dim iCount As Integer
Dim sName As String
Dim sValue As Integer
Dim sFileName As String
sFileName = "c:\data.txt"
iCount = Freefile
' Adatok Ărása (kĂ©sĹ‘bbi beolvasáshoz az Input használatával) fájlba
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
' Adatfájl olvasása az Input használatával
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