Contents
Index 🔎︎

# Put Statement

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

Katso myös: Get -lause

## Syntaksi:

    Put [#] tiedostonro1 As Integer, [sijainti1], muuttuja_1

## Parametrit:

Tiedostonro1: mikä tahansa kokonaislukulauseke, joka määrittää tiedoston, johon aiotaan kirjoittaa.

Sijainti1: Suhteellisille tiedostoille (suorasaantitiedostot) numero on sen tietueen numero, johon aiotaan kirjoittaa.

Binäärisille tiedostoille ( peräkkäiskäsittely) kyse on sen tavun sijainnista tiedostossa, josta kirjoittaminen aloitetaan.

Muuttuja_1: Sen muuttujan nimi, jonka tiedot kirjoitetaan tiedostoon.

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:

    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, josta kirjoittaminen aloitetaan
        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