fWrite [AS]

fWrite [AS]
Author: Eurai
Inclusão: 01/01/2016
Alteração: 22/07/2021

Descrição

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
fwrite_-_resultado_01                                       

 

 

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! 😎  

 

 

 

 

 

 

 

Esse conteúdo te ajudou? Ajude o canal com doação
Compartilhar
Comentários