Module
Enhavo
Indekso 🔎︎

# Put Statement

Skribas rikordon al relativa dosiero aŭ bajtan sekvencon al duuma dosiero.

Vidu ankaŭ ordono: Get

## Sintakso:

    Put [#] FileNumber As Integer, [position], Variable

## Parametroj:

FileNumber: Entjera esprimo kiu difinas la dosieron skribotan.

Position: Por relativaj dosieroj (dosieroj kun senvica atingo), la numero de la rikordo skribota.

Por duumaj dosieroj (duuma aliro), la pozicio de la bajto en la dosiero kie ekskribi.

Variable: Nomo de la variablo skribota al la dosiero.

Noto pri relativaj dosieroj: se la enhavo de ĉi tiu variablo ne kongruas al la longo de la rikordo specifita en la klaŭzo Len de la ordono Open, la spaco inter la fino de la ĵus skribita rikordo kaj la posta rikordo remburiĝos per ekzistantaj datumoj el la dosiero skribata.

Noto pri duumaj dosieroj: the enhavo de la variabloj skribiĝas al la specifita pozicio, kaj la dosiera skribilo enmetiĝas tuj post la lasta bajto. Nenia spaco lasiĝas inter la rikordoj.

## Ekzemplo:

    Sub ExampleRandomAccess

    Dim iNumber As Integer

    Dim sText As Variant REM Devas esti subtipo.

    Dim aFile As String

        aFile = "c:\data.txt"

        iNumber = Freefile

        Open aFile For Random As #iNumber Len=32

        Seek #iNumber,1 REM Pozicio kie ekskribi

        Put #iNumero,, "Jen la unua linio de teksto" REM Plenigu linion per teksto

        Put #iNumero,, "Jen la dua linio de teksto"

        Put #iNumero,, "Jen la tria linio de teksto"

        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,,"Jen nova teksto"

        Get #iNumber,1,sText

        Get #iNumber,2,sText

        Put #iNumero,20,"Jen la teksto en rikordo 20"

        Print Lof(#iNumber)

        Close #iNumber

    End Sub