Put# Statement

Put-lauseella kirjoitetaan tietue suhteelliseen tiedostoon tai peräkkäisiä tavuja binääritiedostoon.

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.


Syntaksi:

Put Statement diagram


Put [#]fileNum, [recordNum|filePos], variable

Parametrit:

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äärisille tiedostoille ( peräkkäiskäsittely) kyse on sen tavun sijainnista tiedostossa, josta kirjoittaminen aloitetaan.

variable: Name of the variable that you want to write to the file.

Suhteellisissa tiedostoissa: Jos muuttujan sisältö ei vastaa sitä tietueen pituutta, joka on määritetty Open-lauseen Len-määreellä, uuden tietueen lopun ja seuraavan alun väliseen tilaan jää se tieto, mitä tiedostossa ennestään on.

Binäärisissä tiedostoissa: Muuttujien sisältö kirjoitetaan määrättyyn kohtaan ja tiedosto-osoitin siirretään välittömästi viimeisen tavun jälkeen. Tietueiden väliin ei jää tyhjää tilaa.

Esimerkki:

Esimerkki:


Sub ExampleRandomAccess
    Dim iNumber As Integer
    Dim sText As Variant ' Täytyy olla variant-(yleis)tyyppiä
    Dim aFile As String
    aFile = "c:\data.txt"
    iNumber = Freefile
    Open aFile For Random As #iNumber Len=32
    Seek #iNumber,1 ' Sijainti aloitettaessa
    Put #iNumber,, "Tämä on ensimmäinen rivi tekstiä" ' Täytetään rivi tekstillä
    Put #iNumber,, "Tämä on toinen tekstirivi"
    Put #iNumber,, "Kolmas rivi tekstiä"
    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,,"Tämä on uusi teksti"
    Get #iNumber,1,sText
    Get #iNumber,2,sText
    Put #iNumber,20,"Tämä on teksti tietueessa 20"
    Print Lof(#iNumber)
    Close #iNumber
End Sub

Please support us!