Ukaz Put#

Zapiše zapis v relativno datoteko ali pa zaporedje bajtov v binarno datoteko.

tip

Uporabite ukaz Print# za izpis podatkov v sekvenčno besedilno datoteko. Uporabite ukaz Write# za zapisovanje podatkov v sekvenčno besedilno datoteko z ločilnimi znaki.


Skladnja:

Diagram ukaza Put

Put [#]štDatoteke, [štZapisa|položajDatoteka], Spremenljivka

Parametri:

štDatoteke: poljuben celoštevilski izraz vrste Integer, ki definira datoteko, v katero želite pisati.

štZapisa, položajDatoteka: za relativne datoteke (to je datoteke z naključnim dostopom) je to številka zapisa, ki ga želite zapisati.

Za binarne datoteke (binarni dostop) je to položaj bajta v datoteki, kjer želite začeti s pisanjem.

Spremenljivka: ime spremenljivke, ki jo želite zapisati v datoteko.

Opomba glede relativnih datotek: Če dolžina te spremenljivke ne odgovarja dolžini zapisa, ki je navedena v izrazu Len stavka Open, se prostor med koncem novega zapisa in začetkom naslednjega zapisa zapolni s podatki, ki se v datoteki, na katero pišete, že nahajajo.

Opomba glede binarnih datotek: Vsebina spremenljivk se piše na navedeno mesto in kazalka datoteke se prestavi neposredno za zadnji zapisani bajt. Med zapisi ni praznih mest.

Primer:

Sub ExampleRandomAccess
    Dim iNumber As Integer
    Dim sBesedilo As Variant ' mora biti Variant
    Dim aFile As String
    aFile = "~/data.txt"
    iNumber = Freefile
    Open aFile For Random As #iNumber Len=32
    Seek #iStevilka,1 ' Postavi se na začetek datoteke
    Put #iStevilka, , "To je prva vrstica besedila" ' napolni vrsto z besedilom
    Put #iStevilka, , "To je druga vrstica z besedilom"
    Put #iStevilka, , "To je tretja vrstica z besedilom"
    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 #iStevilka, , "To je novo besedilo"
    Get #iNumber, 1, sText
    Get #iNumber, 2, sText
    Put #iStevilka, 20, "To je besedilo v zapisu 20"
    Print Lof(#iNumber)
    Close #iNumber
End Sub

Podprite nas!