Escrevendo string em um arquivo de texto

Escrevendo string em um arquivo de texto

Overview

Já precisou salvar informações importantes em um arquivo texto de maneira simples e rápida? No maravilhoso mundo do PowerBuilder, isso é mais fácil do que preparar um café! Esse post vai te guiar, passo a passo, desde a verificação da existência de um diretório até o fechamento seguro do seu arquivo, incluindo todas as boas práticas para evitar dores de cabeça no futuro. E lembre-se: um pouco de esforço na hora de programar pode poupar muitos problemas depois. Vamos lá?

Não é incomum precisarmos salvar dados em um arquivo texto. Essa é uma tarefa bem simples no PowerBuilder.

O que você precisa fazer?

  1. [Opcional] Verificar se o diretório existe (DirectoryExists)
  2. Abrir o arquivo (FileOpen)
  3. [Opcional] Verificar se o arquivo foi aberto com sucesso
  4. Escrever no arquivo (FileWriteEx)
  5. [Opcional] Verificar o retorno da escrita
  6. Fechar o arquivo (FileClose)
  7. [Opcional] Verificar se o arquivo foi fechado com sucesso

Os passos opcionais fazem parte das boas práticas de programação e vão te ajudar a fazer um debug, caso ocorra algum problema, mas não são obrigatórios.

Dica: não seja preguiçoso. Faça o código direito… não é tanta coisa assim.

Exemplo:

 1string ls_path, ls_file
 2long ll_fileNum, ll_ret
 3
 4ls_path = "c:\arquivos\"
 5ls_file = "log.txt"
 6
 7
 8//1. [Opcional] Verificar se o diretório existe
 9if not DirectoryExists(ls_path) then 
10    MessageBox("Raccoon.Ninja", "Diretório informado não existe!", StopSign!)
11    halt close
12end if
13
14
15//2. Abrir o arquivo
16ll_fileNum = FileOpen(ls_path + ls_file, LineMode!, Write!, LockReadWrite!, Replace!)
17
18
19//3. [Opcional] Verificar se o arquivo foi aberto com sucesso
20if ll_fileNum = -1 then
21    MessageBox("Raccoon.Ninja", "Não foi possível abrir/criar o arquivo!", StopSign!)
22    halt close
23end if
24
25
26//4. Escrever no arquivo
27ll_ret = FileWriteEx(li_FileNum, "Nova linha que será escrita no arquivo...")
28
29
30//5. [Opcional] Verificar o retorno da escrita
31if ll_ret < 0 then
32    MessageBox("Raccoon.Ninja", "Não foi possível escrever no arquivo!", StopSign!)
33    halt close
34end if
35
36
37//6. Fechar o arquivo
38ll_ret = FileClose(ll_FileNum)
39
40
41//7. [Opcional] Verificar se o arquivo foi fechado com sucesso
42if ll_ret < 0 then
43    MessageBox("Raccoon.Ninja", "Não foi possível fechar no arquivo!", StopSign!)
44end if
45
46//final.
47halt close

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