Модул
Съдържание
Индекс 🔎︎

# Оператор Input#

Чете данни от отворен файл с последователен достъп.

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

Input #FileNumber As Integer; var1[, var2[, var3[,...]]]

## Параметри:

FileNumber: номерът на файла, съдържащ данните, които искате да бъдат прочетени. Файлът трябва да е отворен с оператора 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