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

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