Πρόταση Put#
Καταγράφει μια εγγραφή σε ένα σχετικό αρχείο ή μια ακολουθία byte σε ένα δυαδικό αρχείο.
Χρησιμοποιήστε την πρόταση Print# για να εκτυπώσετε δεδομένα σε σειριακό αρχείο κειμένου. Χρησιμοποιήστε την πρόταση Write# για να γράψετε δεδομένα σε σειριακό αρχείο κειμένου με χαρακτήρες οριοθέτησης.

Put [#]fileNum, [recordNum|filePos], variable
fileNum: Οποιαδήποτε έκφραση ακεραίου που καθορίζει το αρχείο στο οποίο θέλετε να γράψετε.
recordNum, filePos: Για σχετικά αρχεία (αρχεία τυχαίας προσπέλασης), ο αριθμός της εγγραφής που θέλετε να γράψετε.
Για δυαδικά αρχεία (αρχεία δυαδικής προσπέλασης), η θέση byte στο αρχείο όπου θα αρχίσει η εγγραφή.
variable: Το όνομα της μεταβλητής που θέλετε να γράψετε στο αρχείο.
Σημείωση για αρχεία τυχαίας προσπέλασης: Αν τα περιεχόμενα αυτής της μεταβλητής δεν αντιστοιχούν στο μήκος των εγγραφών που καθορίστηκαν στον όρο Len της πρότασης Open, το κενό διάστημα από το τέλος των νέων δεδομένων εγγραφής έως την επόμενη εγγραφή συμπληρώνεται με τα υπάρχοντα δεδομένα του αρχείου.
Σημείωση για δυαδικά αρχεία: Τα περιεχόμενα των μεταβλητών εγγράφονται στην καθορισμένη θέση, και ο δείκτης αρχείου τοποθετείται αμέσως μετά το τελευταίο byte, χωρίς κενό διάστημα μεταξύ των εγγραφών.
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sText As Variant ' Πρέπει να είναι μεταβλητή
Dim aFile As String
aFile = "C:\Users\ThisUser\data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumber,1 ' Τοποθέτηση στη αρχή
Put #iNumber, , "This is the first line of text" ' Fill line with text
Put #iNumber, , "This is the second line of text"
Put #iNumber, , "This is the third line of text"
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, , "This is a new text"
Get #iNumber, 1, sText
Get #iNumber, 2, sText
Put #iNumber, 20, "This is the text in record 20"
Print Lof(#iNumber)
Close #iNumber
End Sub
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sText As Variant ' Must be a variant
Dim aFile As String
aFile = "~/data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumber,1 ' Position at beginning
Put #iNumber, , "This is the first line of text" ' Fill line with text
Put #iNumber, , "This is the second line of text"
Put #iNumber, , "This is the third line of text"
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, , "This is a new text"
Get #iNumber, 1, sText
Get #iNumber, 2, sText
Put #iNumber, 20, "This is the text in record 20"
Print Lof(#iNumber)
Close #iNumber
End Sub