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

# Πρόταση 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