Descrição
fWrite [AS] - Escreve dados de um buffer de string em um arquivo binário. Para isso, pode-se escrever todo ou parte do conteúdo do buffer, limitando a quantidade de bytes.
|
Sintaxe
| fWrite( <nHandle>, <cBuffer>, <nQtdBytes> ) |
Parâmetros
| Par |
Nome |
Tipo |
Descrição |
Default |
Obg |
Ref |
01
|
nHandle |
Numérico |
Indica o manipulador de arquivo obtido através das funções FCreate() e FOpen() |
|
X |
|
| 02 |
cBuffer |
Caracter |
Indica a string que será escrita no arquivo especificado. O tamanho desta variável deve ser maior ou igual ao tamanho informado no parâmetro (caso seja informado o tamanho) |
|
X |
|
| 03 |
nQtdBytes |
Numérico |
Indica a quantidade de bytes que serão escritos a partir da posição atual do ponteiro de arquivos. Caso não seja informado, todo o conteúdo do parâmetro é escrito |
|
|
|
Retorno
| Retorno |
Tipo |
Descrição |
| nRet |
Numérico
|
Retorna a quantidade de bytes escritos na forma de um valor numérico inteiro. Caso o valor seja igual ao parâmetro <nQtdBytes>, a operação foi realizada com sucesso; caso contrário, se o valor for menor ou zero, o disco rígido está cheio ou ocorreu erro
|
Exemplo
#INCLUDE "TOTVS.CH"
#INCLUDE 'FILEIO.CH'
User Function fWrite()
Local cString := ''
Local nHandle := fOpen('\TEST.TXT' , FO_READWRITE + FO_SHARED )
If nHandle == -1
MsgStop('Erro de abertura : FERROR ' + Str(fError(), 4), 'UniversoADVPL' )
Else
FSeek(nHandle, 0, FS_END) // Posiciona no fim do arquivo
FWrite(nHandle, "Nova Linha", 10) // Insere texto no arquivo
fclose(nHandle) // Fecha arquivo
Endif
Return( Nil )
Resultado
Informações adicionais
|
A escrita começa a partir da posição atual do ponteiro de arquivos e a função retorna a quantidade real de bytes escritos
|
|
Através das funções FOpen() e FCreate(), pode-se abrir ou criar um arquivo, abrir uma porta de comunicação para gravar ou enviar os dados do buffer informado
|
|
Essa função suporta na string, do parâmetro , todos os caracteres da tabela ASCII, inclusive caracteres de controle (ASC 0, ASC 12, ASC 128, etc.).
|
|
A gravação no arquivo é realizada a partir da posição atual do ponteiro, mas pode ser ajustado através das funções FSeek(), FRead() ou FReadStr()
|
|
Se o retorno da função for menor que o parâmetro ou zero, o disco rígido está cheio ou ocorreu erro. Neste caso, utilize a função FError() para obter mais detalhes
|
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎