Input# Statement

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

Syntax:

Input Statement diagram


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

Parameters:

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.

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

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

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

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

Example:


Sub ExampleWorkWithAFile
Dim iCount As Integer, sFileName As String
Dim sName As String, sValue As Integer
 
    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!