LibreOffice 24.8 Súgó
Egy megnyitott szekvenciális fájlból beolvassa az adatot.
Input #fileNum {,|;} var1 [, var2 [, ...]]
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.
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.
Sub ExampleWorkWithAFile
Dim iCount As Integer, sFileName As String
Dim sName As String, sValue As Integer
sFileName = "C:\Users\ThisUser\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
' Adatfájl olvasása az Input használatával
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