FileWriteEx (FileWrite)

FileWriteEx (FileWrite)

Overview

Neste post, mergulhamos no universo do PowerBuilder, explorando como a função FileWriteEx pode se tornar sua grande aliada na manipulação de arquivos. Com uma abordagem leve e direta, detalhamos desde a sintaxe até dicas práticas de uso. Seja você um desenvolvedor experiente ou alguém buscando aprimorar suas habilidades, prepare-se para adicionar mais uma ferramenta ao seu arsenal de programação!

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:

ArgumentoObrigatórioDescrição
file#SimO número do arquivo que será utilizado.
Blob ou StringSimNome da variável com o conteúdo que será escrito
lengthNãoNos 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.