Put# Statement

Beír egy rekordot egy relatív fájlba, vagy egy bájtsorozatot egy bináris fájlba.

tip

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 Statement diagram


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:

Példa:


Sub ExampleRandomAccess
    Dim iNumber As Integer
    Dim sText As Variant ' Variant típusúnak kell lennie
    Dim aFile As String
    aFile = "c:\data.txt"
    iNumber = Freefile
    Open aFile For Random As #iNumber Len=32
    Seek #iNumber,1 ' Pozíció az elejénél
    Put #iNumber,, "Ez a szöveg első sora" ' Sor kitöltése szöveggel
    Put #iNumber,, "Ez a szöveg második sora"
    Put #iNumber,, "Ez a szöveg harmadik sora"
    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,,"Ez egy új szöveg"
    Get #iNumber,1,sText
    Get #iNumber,2,sText
    Put #iNumber,20,"Ez a szöveg a 20. rekordban"
    Print Lof(#iNumber)
    Close #iNumber
End Sub

Please support us!