Модуль
Зміст
Покажчик 🔎︎

# Інструкція Input#

Читає дані з відкритого послідовного файлу.

## Синтаксис:

Input #FileNumber 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

    ' Записуються дані у файл ( які пізніше будуть прочитані через Input )

    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

    ' Читає файл даних через 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