Conteúdo
Índice 🔎︎

# Instrução Put

Grava um registro em um arquivo relativo ou uma sequência de bytes em um arquio binário.

Veja também: instrução Get

## Sintaxe:

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

## Parâmetros:

FileNumber: qualquer expressão de número inteiro que define o arquivo no qual você deseja gravar.

Position: Para arquivos relativos (arquivos de acesso aleatório), o número do registro a ser gravado.

Para arquivos binários (acesso binário), a posição do byte no arquivo onde você deseja iniciar a gravação.

Variable: nome da variável que você deseja gravar no arquivo.

Nota para arquivos relativos: Se o conteúdo desta variável não corresponder ao comprimento o registro especificado na cláusula Len da instrução Open, o espaço entre o fim do registro recém escrito e o próximo registro será preenchido com dados do arquivo no qual se está gravando.

Nota para arquivos binários: O conteúdo das variáveis é gravado na posição especificada, e o ponteiro do arquivo é inserido diretamente após o último byte. Nenhum espaço permanece entre os registros.

## Exemplo:

    Sub ExampleRandomAccess
    Dim iNumber As Integer
    Dim sText As Variant ' Deve ser um tipo de variante
    Dim aFile As String
        aFile = "c:\data.txt"
        iNumber = Freefile
        Open aFile For Random As #iNumber Len=32
        Seek #iNumber,1 ' Posição para iniciar gravação
        Put #iNumber,, "Esta é a primeira linha de texto" ' Preenche a linha com texto
        Put #iNumber,, "Esta é a segunda linha de texto"
        Put #iNumber,, "Esta é a terceira linha de texto"
        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,,"Isto é um novo texto"
        Get #iNumber,1,sText
        Get #iNumber,2,sText
        Put #iNumber,20,"Este é o texto no registro 20"
        Print Lof(#iNumber)
        Close #iNumber
    End Sub