FileWriteEx (FileWrite)

Grava dados para o arquivo associado com o número de arquivo especificado. O número de arquivo foi atribuído para o arquivo com a função FileOpen.

Atenção! A função FileWrite está obsoleta. Utilize esta função em seu lugar.

Sintaxe:

FileWriteEx(file#, blob {, length})
FileWriteEx(file#, string)

 

Retorno:

  • Long positivo diferente de zero indicando a quantidade de bytes que foram escritos;
  • -1 se um erro ocorrer ou se você tentar escrever uma string com o arquivo em StreamMode! ou escrever um blob com o arquivo em LineMode!
  • Null se o arquivo informado no argumento filename for nulo.

 

Destalhes sobre a função!

Appeon: Função suportada. No PowerBuilder, o caminho relativo aponta para o diretório da aplicação, mas no Appeon o caminho relativo aponta para o diretório do Desktop do Usuário.

  1. Quando o arquivo for aberto utilizando o LineMode!, a função escreve uma quebra de linha (CR e LF) e posiciona o cursor após a quebra;
  2. Se os dados da string e o arquivo associado utilizam codificação ANSI ou UTF-8, FileWriteEx converte a string para ANSI ou UTF-8 antes de salvá-lo no arquivo. Se o arquivo for aberto com StreamMode!, nenhuma conversão é feita;
  3. Se o arquivo não tem um Byte-order Mark (BOM), ela é criada automaticamente;
  4. FileWriteEx pode escrever em arquivos com as seguintes codificações: ANSI, UTF-8, UTF-16LE e UTF18BE

 

Como utilizar:

Exemplo 01:

long ll_fileNum, ll_ret

//Abrindo um arquivo...
ll_fileNum = FileOpen("lista.txt", TextMode!, Write!, LockWrite!, Append!)

//Escrevendo no arquivo...
ll_ret = FileWriteEx(li_FileNum, "Nova linha que será escrita no arquivo...")

Argumentos:

Argumento Obrigatório Descrição
file# Sim O número do arquivo que será utilizado.
Blob ou String Sim Nome da variável com o conteúdo que será escrito
length Não Nos modos TextMode! ou StreamMode!, este número representa a quantidade de bytes que serão escritos no arquivo. O valor padrão é o tamanho do arquivo.

 

Referência:

 

Dúvidas sobre  o artigo? Sugestões? Precisa de ajuda com outra funcionalidade do PowerBuilder? Deixe um comentário.

The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Posted in Dev, PowerBuilder and tagged , , , , .