Escrevendo string em um arquivo de texto

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: 

string ls_path, ls_file
long ll_fileNum, ll_ret

ls_path = "c:\arquivos\"
ls_file = "log.txt"


//1. [Opcional] Verificar se o diretório existe
if not DirectoryExists(ls_path) then 
    MessageBox("Raccoon.Ninja", "Diretório informado não existe!", StopSign!)
    halt close
end if


//2. Abrir o arquivo
ll_fileNum = FileOpen(ls_path + ls_file, LineMode!, Write!, LockReadWrite!, Replace!)


//3. [Opcional] Verificar se o arquivo foi aberto com sucesso
if ll_fileNum = -1 then
    MessageBox("Raccoon.Ninja", "Não foi possível abrir/criar o arquivo!", StopSign!)
    halt close
end if


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


//5. [Opcional] Verificar o retorno da escrita
if ll_ret < 0 then
    MessageBox("Raccoon.Ninja", "Não foi possível escrever no arquivo!", StopSign!)
    halt close
end if


//6. Fechar o arquivo
ll_ret = FileClose(ll_FileNum)


//7. [Opcional] Verificar se o arquivo foi fechado com sucesso
if ll_ret < 0 then
    MessageBox("Raccoon.Ninja", "Não foi possível fechar no arquivo!", StopSign!)
end if

//final.
halt close

 

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 , , , , , , .