Άρθρωμα
Περιεχόμενα
Δείκτης 🔎︎

# Πρόταση Input#

Διαβάζει τα δεδομένα από ένα ανοιγμένο διαδοχικό αρχείο.

## Σύνταξη:

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

## Παράμετροι:

FileNumber: Ο αριθμός του αρχείου από το οποίο θα αναγνωσθούν τα δεδομένα. Το αρχείο θα πρέπει να έχει ανοιχθεί πριν από την πρόταση Open με την λέξη-κλειδί INPUT.

var: Μια μεταβλητή στην οποία εκχωρούνται οι τιμές που διαβάζονται από το αρχείο. Οι αριθμητικές τιμές και οι τιμές συμβολοσειρών είναι έγκυρες.

Η δήλωση Input# χρησιμοποιείται για να διαβάσει αριθμητικές τιμές ή συμβολοσειρές από ένα ανοιγμένο αρχείο και να εκχωρήσει τα δεδομένα σε μία ή περισσότερες μεταβλητές. Μια αριθμητική μεταβλητή διαβάζεται μέχρι τον πρώτο χαρακτήρα επιστροφής (Asc=13), αλλαγή γραμμής (Asc=10), κενό διάστημα ή κόμμα. Οι μεταβλητές συμβολοσειρών διαβάζονται μέχρι τον πρώτο χαρακτήρα επιστροφής (Asc=13), αλλαγή γραμμής (Asc=10) ή κόμμα.

Τα δεδομένα και οι τύποι δεδομένων σε ένα αρχείο θα πρέπει να εμφανίζονται στην ίδια σειρά όπως και οι μεταβλητές που μεταβιβάζονται στην παράμετρο "var". Αν αναθέσετε μη αριθμητικές τιμές σε μια αριθμητική μεταβλητή, τότε στη μεταβλητή εκχωρείται μηδενική τιμή.

Οι εγγραφές στο αρχείο μπορούν να χωρίζονται με κόμμα, αυτός ο χαρακτήρας όμως δεν μπορεί να αναγνωσθεί σε μια μεταβλητή συμβολοσειράς. Επίσης αγνοούνται τα εισαγωγικά (") στο αρχείο. Αν θέλετε να διαβάζετε αυτούς τους χαρακτήρες από το αρχείο, χρησιμοποιήστε την πρόταση 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

    ' Εγγραφή δεδομένων (που θα διαβάσουμε αργότερα στην είσοδο) σε αρχείο

    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

    ' Ανάγνωση αρχείου δεδομένων χρησιμοποιώντας είσοδο

    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