Input# Statement

Считывает данные из открытого последовательного файла.

Синтаксис

Input #НомерФайла As Integer; var1[, var2[, var3[,...]]]

Параметры:

НомерФайла. Номер файла, из которого должны быть считаны данные. Такой файл должен быть открыт инструкцией Open с ключевым словом INPUT.

var. Числовая или строковая переменная, которой присваивается значение, считываемое из открытого файла.

Инструкция Input# используется для считывания числовых значений или строк из открытого файла и для присваивания этих данных одной или более переменным. Числовая переменная считывается до первого возврата каретки (Asc=13), перевода строки (Asc=10), пробела или запятой. Строковая переменная считывается до первого возврата каретки (Asc=13), перевода строки (Asc=10) или запятой.

Данные и типы данных в открытом файле должны появляться в том же порядке, что и переменные, переданные в параметр "var". При попытке присвоить нечисловые значения числовой переменной параметру "var" будет присвоено значение "0".

Записи, разделённые запятыми, не могут быть присвоены строковым переменным. Кавычки (") в файле также игнорируются. Для чтения этих символов из файла используйте оператор Line Input#, который читает обычные текстовые файлы (содержащие только печатные символы) построчно.

Если конец файла достигнут при считывании элемента данных, появляется ошибка, и процесс прерывается.

Пример:


Sub ExampleWorkWithAFile
Dim iCount As Integer
Dim sName As String
Dim sValue As Integer
Dim sFileName As String
 
sFileName = "c:\data.txt"
iCount = Freefile
 
' Write data ( which we will read later with Input ) to file
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
' Read data file using Input
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!