Инструкция Input#

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

Синтаксис:

Input Statement diagram


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.

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

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

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

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

Пример:


Sub ExampleWorkWithAFile
    Dim iCount As Integer, sFileName As String
    Dim sName As String, sValue As Integer
    sFileName = "C:\Users\ThisUser\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
    ' Read data file using Input
    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

Пожалуйста, поддержите нас!