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

# Πρόταση Open

Ανοίγει ένα κανάλι δεδομένων.

## Σύνταξη:

    Ανοίγει ένα ΌνομαΑρχείου ως συμβολοσειρά  [για λειτουργία] [Access IOMode] [προστατευμένο] ως [#]ΑριθμόςΑρχείου ως Ακέραιος [Len = ΜήκοςΟρισμούΔεδομένων]

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

ΌνομαΑρχείου: Όνομα και διαδρομή του αρχείου που θα ανοίξει. Εάν προσπαθήσετε να διαβάσετε αρχείο που δεν υπάρχει (Πρόσβαση = Ανάγνωση), τότε εμφανίζεται μήνυμα σφάλματος. Εάν προσπαθήσετε να γράψετε σε αρχείο που δεν υπάρχει (Πρόσβαση = Εγγραφή), τότε δημιουργείται ένα νέο αρχείο.

Λειτουργία Λέξη-κλειδί που προσδιορίζει την κατάσταση του αρχείου. Έγκυρες τιμές: Append (προσάρτηση σε διαδοχικό αρχείο), binary (τα δεδομένα μπορούν να προσπελαστούν από οκτάδες χρησιμοποιώντας Get και Put), Input (ανοίγει κανάλι δεδομένων για ανάγνωση), Output (ανοίγει κανάλι δεδομένων για εγγραφή), και Random (επεξεργάζεται σχετικά αρχεία).

IOMode: Λέξη-κλειδί που προσδιορίζει τον τύπο προσπέλασης. Έγκυρες τιμές: Read (Μόνο για ανάγνωση), Write (Μόνο για εγγραφή), Read Write (και τα δύο).

Προστατευμένο: Λέξη-κλειδί που προσδιορίζει την κατάσταση ασφαλείας του αρχείου μετά το άνοιγμα. Έγκυρες τιμές: Shared (το αρχείο μπορεί να ανοιχτεί και από άλλες εφαρμογές), Lock Read (το αρχείο είναι προστατευμένο από ανάγνωση), Lock Write (το αρχείο είναι προστατευμένο από εγγραφή), Lock Read Write (απαγορεύει την προσπέλαση του αρχείου).

ΑριθμόςΑρχείου: Κάθε παράσταση ακέραιου που κυμαίνεται από 0-511 και υποδεικνύει τον αριθμό ελεύθερου καναλιού δεδομένων. Μπορείτε έπειτα να περάσετε εντολές μέσα από το κανάλι δεδομένων για να προσπελάσετε το αρχείο. Ο αριθμός του αρχείου θα πρέπει να οριστεί αμέσως πριν την συνάρτηση FreeFile πριν την πρόταση Open.

ΜήκοςΟρισμούΔεδομένων Για αρχεία τυχαίας προσπέλασης, καθορίζει το μήκος των εγγραφών.

Μπορείτε μόνο να τροποποιήσετε τα περιεχόμενα ενός αρχείου που ανοίχτηκε με την πρόταση Open. Αν προσπαθήσετε να ανοίξετε ένα αρχείο που είναι ήδη ανοιγμένο, θα εμφανιστεί ένα μήνυμα σφάλματος.

## Παράδειγμα:

    Sub ExampleWorkWithAFile
    Dim iNumber As Integer
    Dim sLine As String
    Dim aFile As String
    Dim sMsg As String
        aFile = "c:\data.txt"
        iNumber = Freefile
        Open aFile For Output As #iNumber
        Print #iNumber, "Αυτή είναι μια γραμμή κειμένου"
        Print #iNumber, "Αυτή είναι μια άλλη γραμμή κειμένου"
        Close #iNumber
        iNumber = Freefile
        Open aFile For Input As iNumber
        While Not eof(iNumber)
            Line Input #iNumber, sLine
            If sLine <>"" Then
                sMsg = sMsg & sLine & chr(13)
            End If
        Wend
        Close #iNumber
        MsgBox sMsg
    End Sub