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

Necessitamos da sua ajuda!