IBM Lotus Symphony
|
Escreve um registo num ficheiro relativo ou uma sequência de bytes num ficheiro binário.
Consulte também: Instrução Get
Put [#] FileNumber As Integer, [position], Variable
FileNumber: Qualquer expressão de valor inteiro que defina o ficheiro em que pretende gravar.
Position: Para ficheiros relativos (ficheiros de acesso aleatório), o número do registo que pretende gravar.
Para ficheiros binários (acesso binário), a posição do byte no ficheiro em que pretende iniciar a gravação.
Variable: Nome da variável que pretende gravar 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 Open, o espaço entre o final do registo gravado e o registo seguinte é preenchido com dados existentes a partir do ficheiro em que está a gravar.
Nota para ficheiros binários: O conteúdo das variáveis é gravado na posição especificada e o apontador de ficheiro é inserido directamente após o último byte. Não é deixado qualquer espaço entre os registos.
Sub ExampleRandomAccess
Dim iNumber As Integer
Dim sText As Variant REM Must be a variant type
Dim aFile As String
aFile = "c:\data.txt"
iNumber = Freefile
Open aFile For Random As #iNumber Len=32
Seek #iNumber,1 REM Position to start writing
Put #iNumber,, "This is the first line of text" REM Fill line with text
Put #iNumber,, "This is the second line of text"
Put #iNumber,, "This is the third line of text"
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,,"This is new text"
Get #iNumber,1,sText
Get #iNumber,2,sText
Put #iNumber,20,"This is the text in record 20"
Print Lof(#iNumber)
Close #iNumber
end sub