Πρόταση Input#

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

Σύνταξη:

Διάγραμμα πρότασης Input


Input #fileNum {,|;} var1 [, var2 [, ...]]

Παράμετροι:

fileNum: Ο αριθμός του αρχείου που περιέχει τα δεδομένα που θέλετε να διαβάσετε. Το αρχείο πρέπει να ανοιχθεί με την πρόταση Open χρησιμοποιώντας τη λέξη-κλειδί INPUT.

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

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

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

Οι εγγραφές στο αρχείο μπορούν να χωρίζονται με κόμμα, αυτός ο χαρακτήρας όμως δεν μπορεί να αναγνωσθεί σε μια μεταβλητή συμβολοσειράς. Επίσης αγνοούνται τα εισαγωγικά (") στο αρχείο. Αν θέλετε να διαβάζετε αυτούς τους χαρακτήρες από το αρχείο, χρησιμοποιήστε την πρόταση Line Input# για να διαβάζετε αμιγή αρχεία κειμένου (αρχεία που περιέχουν μόνο εκτυπώσιμους χαρακτήρες) γραμμή προς γραμμή.

Αν κατά την ανάγνωση ενός στοιχείου δεδομένων η διαδικασία φτάσει στο τέλος του αρχείου, τότε εμφανίζεται ένα μήνυμα σφάλματος και η διαδικασία ματαιώνεται.

Παράδειγμα:


Sub ExampleWorkWithAFile
Dim iCount As Integer, sFileName As String
Dim sName As String, sValue As Integer
 
    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

Παρακαλούμε, υποστηρίξτε μας!