Beír egy rekordot egy relatív fájlba, vagy egy bájtsorozatot egy bináris fájlba.
Use Print# statement to print data to a sequential text file. Use Write# statement to write data to a sequential text file with delimiting characters.
Szintaxis:
Put [#]fileNum, [recordNum|filePos], variable
Paraméterek:
fileNum: Any integer expression that defines the file that you want to write to.
recordNum, filePos: For relative files (random access files), the number of the record that you want to write.
Bináris fájlok esetén (Binary elérés) a fájl azon bájtjának helye, amelytől az írást szeretné kezdeni.
variable: Name of the variable that you want to write to the file.
Megjegyzés a relatív fájlokhoz: Ha a változó tartalma nem felel meg a rekord hosszának, amely meg van adva az Open utasítás Len paraméterében, akkor az újonnan írt rekord vége és a következő rekord közötti terület kitöltésre kerül a fájl meglévő adataival, amelybe ír.
Megjegyzés a bináris fájlokhoz: A változó tartalma a megadott pozícióba íródik, és a fájlmutató közvetlenül az utolsó bájt utáni helyre fog mutatni. Nem marad terület a rekordok között.
Példa:
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sText As Variant ' Variant típusúnak kell lennie
Dim aFile As String
aFile = "C:\Users\ThisUser\data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumber,1 ' Pozíció az elejénél
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 ' Variant típusúnak kell lennie
Dim aFile As String
aFile = "~/data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumber,1 ' Pozíció az elejénél
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