Contents
Index 🔎︎

# 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