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:

Příklad:


Sub ExampleRandomAccess
    Dim iNumber As Integer
    Dim sText As Variant ' Musí být variant
    Dim aFile As String
    aFile = "c:\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í řádka textu" ' Zaplnit řádku textem
    Put #iNumber,, "Toto je druhá řádka textu"
    Put #iNumber,, "Toto je třetí řádka 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!