Příkaz Put#

Zapíše záznam do relativního souboru nebo sekvenci bajtů do binárního souboru.

tip

K zápisu dat do sekvenčního textového souboru použijte příkaz Print#, k zápisu dat do sekvenčního textového souboru s oddělovacími znaky příkaz Write#.


Syntaxe:

Diagram příkazu Put

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

Parametry:

fileNum: Celočíselný výraz určující soubor, do kterého chcete zapisovat.

recordNum, filePos: Pro relativní soubory (přístup Random) určuje číslo záznamu, který chcete zapsat.

Pro binární soubory (přístup Binary) určuje pozici bajtu, kde má zápis začít.

variable: Název proměnné, kterou chcete zapsat do souboru.

Poznámka pro relativní soubory: Pokud obsah této proměnné neodpovídá délce záznamu, která je určena v klauzuli Len příkazu Open, zaplní se mezera mezi koncem nově zapsaného záznamu a dalším záznamem existujícími daty ze souboru, do kterého zapisujete.

Poznámka pro binární soubory: Obsah proměnné se zapíše na určenou pozici a ukazatel souboru se přesune přímo za poslední bajt. Mezi záznamy nezůstává žádné místo.

Příklad:

Sub ExampleRandomAccess
    Dim iNumber As Integer
    Dim sText As Variant ' Musí být variant
    Dim aFile As String
    aFile = "~/data.txt"
    iNumber = Freefile
    Open aFile For Random As #iNumber Len=32
    Seek #iNumber,1 ' Přesun na začátek
    Put #iNumber, , "Toto je první řádek textu" ' Zaplnit řádek textem
    Put #iNumber, , "Toto je druhý řádek textu"
    Put #iNumber, , "Toto je třetí řádek textu"
    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, , "Toto je nový text"
    Get #iNumber, 1, sText
    Get #iNumber, 2, sText
    Put #iNumber, 20, "Toto je text v záznamu 20"
    Print Lof(#iNumber)
    Close #iNumber
End Sub

Podpořte nás!