Vsebina
Kazalo 🔎︎

# Ukaz Put#

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

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:

    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 = "C:\Users\ThisUser\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

      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

Podobne teme

Ukaz Close

Ukaz Get

Ukaz Open