Instrução Put

Escreve um registo para um ficheiro relativo, ou uma sequência de bytes para um ficheiro binário.

Consulte também: Instrução Get

Sintaxe:

Put [#] NumFicheiro As Integer, [Posição], Variável

Parâmetros:

NumFicheiro: qualquer expressão de números inteiros que define o ficheiro no qual pretende escrever.

Posição: para ficheiros relativos (ficheiros de acesso aleatório), o número do registo que pretende escrever.

Para ficheiros binários (acesso binário), a posição do byte no ficheiro onde pretende começar a escrever.

Variável: nome da variável que pretende escrever no ficheiro.

Nota para ficheiros relativos. Se o conteúdo desta variável não corresponder ao comprimento do registo especificado na cláusula Len da instrução Abrir, o espaço entre o final do registo recente e o próximo registo é preenchido por dados existentes do ficheiro para o qual está a escrever.

Nota para ficheiros binários: o conteúdo das variáveis é escrito na posição especificada e o apontador de ficheiros é inserido diretamente depois do último byte. Não é deixado qualquer espaço entre os registos.

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 a escrita

    Put #iNumber,, "Esta é a primeira linha de texto" ' Preencher 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 é novo textot"

    Get #iNumber,1,sText

    Get #iNumber,2,sText

    Put #iNumber,20,"Este é o texto no registo 20"

    Print Lof(#iNumber)

    Close #iNumber

End Sub