Instrukcja Input#

Moduł
Spis treści
Indeks 🔎︎

# Instrucja Input#

Odczytuje dane z otwartego pliku sekwencyjnego.

## Składnia:

Input #FileNumber As Integer; zmienna1[, zmienna2[, zmienna3[,...]]]

## Parametry:

Numer_pliku: Numer pliku zawierającego dane, które należy odczytać. Plik musi być otwarty za pomocą instrukcji Open ze słowem kluczowym INPUT.

Zmienna: Zmienna numeryczna lub w postaci ciągu, do której będą przypisane wartości odczytane z pliku.

Instrukcja Input# odczytuje wartości numeryczne lub ciągi z otwartego pliku i przypisuje dane do jednej lub kilku zmiennych. Zmienna numeryczna jest odczytywana aż do wystąpienia pierwszego znaku powrotu karetki (ASCII=13), znaku nowego wiersza (ASCII=10), spacji lub przecinka. Zmienne w postaci ciągów są odczytywane aż do wystąpienia pierwszego znaku powrotu karetki (ASCII=13), znaku nowego wiersza (ASCII=10) lub przecinka.

Dane i typy danych w otwartym pliku muszą występować w takiej samej kolejności, jak zmienne przekazane w parametrze "zmienna". W przypadku przypisania wartości nienumerycznych do zmiennej numerycznej, "zmienna" przyjmuje wartość "0".

Rekordy oddzielone przecinkami nie mogą być przypisane do zmiennej w postaci ciągu. Cudzysłowy (") w pliku są także odrzucane. Aby odczytywać takie znaki z pliku, należy użyć instrukcji Line Input#, która odczytuje kolejne linie plików typowo tekstowych (zawierających wyłącznie znaki drukowalne).

Jeśli podczas odczytywania elementu danych zostanie osiągnięty koniec pliku, występuje błąd i proces jest przerywany.

## Przykład:

    Sub ExampleWorkWithAFile

    Dim iCount As Integer

    Dim sName As String

    Dim sValue As Integer

    Dim sFileName As String

    sFileName = "c:\data.txt"

    iCount = Freefile

    ' Zapisz dane (które będą wczytane później na wejściu) do pliku

    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

    ' Wczytaj plik danych z wejścia

    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