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

# Πρόταση Put

Καταγράφει μια εγγραφή σε ένα σχετικό αρχείο ή μια ακολουθία byte σε ένα δυαδικό αρχείο.

Δείτε επίσης: δήλωση Get

## Σύνταξη:

    Put [#] FileNumber As Integer, [position], Variable

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

FileNumber: Κάθε παράσταση ακέραιου αριθμού που καθορίζει το αρχείο που προορίζεται για εγγραφή.

Position: Για σχετικά αρχεία (αρχεία τυχαίας προσπέλασης), τον αριθμό της εγγραφής που προορίζεται για εγγραφή.

Για δυαδικά αρχεία (αρχεία δυαδικής προσπέλασης), η θέση byte στο αρχείο όπου θα αρχίσει η εγγραφή.

Variable: Όνομα της μεταβλητής που θα εγγραφεί στο αρχείο.

Σημείωση για αρχεία τυχαίας προσπέλασης: Αν τα περιεχόμενα αυτής της μεταβλητής δεν αντιστοιχούν στο μήκος των εγγραφών που καθορίστηκαν στον όρο Len της πρότασης Open, το κενό διάστημα από το τέλος των νέων δεδομένων εγγραφής έως την επόμενη εγγραφή συμπληρώνεται με τα υπάρχοντα δεδομένα του αρχείου.

Σημείωση για δυαδικά αρχεία: Τα περιεχόμενα των μεταβλητών εγγράφονται στην καθορισμένη θέση, και ο δείκτης αρχείου τοποθετείται αμέσως μετά το τελευταίο byte, χωρίς κενό διάστημα μεταξύ των εγγραφών.

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

    Sub ExampleRandomAccess

    Dim iNumber As Integer

    Dim sText As Variant ' Πρέπει να είναι τύπος μεταβλητής

    Dim aFile As String

        aFile = "c:\data.txt"

        iNumber = Freefile

        Open aFile For Random As #iNumber Len=32

        Seek #iNumber,1 ' Θέση έναρξης εγγραφής

        Put #iNumber,, "Αυτή είναι η πρώτη γραμμή κειμένου" ' Συμπληρώστε τη γραμμή με κείμενο

        Put #iNumber,, "Αυτή είναι η δεύτερη γραμμή κειμένου"

        Put #iNumber,, "Αυτή είναι η τρίτη γραμμή κειμένου"

        Seek #iNumber,2

        Get #iNumber,,sText

        Print sText

        Close #iNumber

        iNumber = Freefile

        Open aFile For Random As #iNumber Len=32

        Get #iNumber,2,sText

        Put #iNumber,,"Αυτό είναι νέο κείμενο"

        Get #iNumber,1,sText

        Get #iNumber,2,sText

        Put #iNumber,20,"Αυτό είναι το κείμενο στην εγγραφή 20"

        Print Lof(#iNumber)

        Close #iNumber

    End Sub