Abrindo arquivos via AdvPL

Olá pessoal…

Hoje será a primeira postagem abordando a linguagem AdvPL (Advanced Protheus Language), e irei mostrar como abrir arquivos de qualquer extensão via código fonte no Protheus.


Primeiramente, deve se ter o diretório e o nome do arquivo (ex.: C:teste.txt), depois, basta executar o comando ShellExecute via código fonte, passando a instrução open, e o arquivo referenciado, com isso, o Protheus irá pedir ao sistema operacional que abra o arquivo com o programa padrão.

#Include "Protheus.ch"

/*/{Protheus.doc} zAbreArq
Função para abrir arquivos conforme preferências do Sistema Operacional
@author Atilio
@since 06/08/2014
@version 1.0
	@param cDirP, Caracter, Diretório do arquivo
	@param cNomeArqP, Caracter, Nome do arquivo
	@example
	//...
	u_zAbreArq("C:\","teste.txt")
	u_zAbreArq("E:\Documentos\","novo.pdf")
	//...
	@see https://terminaldeinformacao.com/advpl/
/*/

User Function zAbreArq(cDirP, cNomeArqP)
	Local aArea:= GetArea()
	
	//Tentando abrir o objeto
	nRet := ShellExecute("open", cNomeArqP, "", cDirP, 1)
	
	//Se houver algum erro
	If nRet <= 32
		MsgStop("Não foi possível abrir o arquivo " +cDirP+cNomeArqP+ "!", "Atenção")
	EndIf 
	
	RestArea(aArea)
Return

Esses e outros códigos, estão disponíveis gratuitamente no nosso GitHub, acesse em github.com/dan-atilio/AdvPL.

Referências: tdn.totvs.com/display/tec/ShellExecute

Bom pessoal, por hoje é só.
Abraços e até a próxima.

About Dan_Atilio

Analista e desenvolvedor de sistemas na TOTVS Oeste Paulista Bauru. Técnico em Informática pelo CTI da Unesp. Graduado em Banco de Dados pela Fatec Bauru. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor do projeto Terminal de Informação, onde são postados tutoriais e notícias envolvendo o mundo da tecnologia.

2 respostas em “Abrindo arquivos via AdvPL

  1. Muito bom o post. Encontrei também um blog com dicas de Protheus, ADVPL e até alguns scritps SQL com recursos para acessar o dadosadv do Protheus

    Parabéns.

    • Boa noite Arthur.
      Muito Obrigado pelo contato.
      Não costumo postar links de sites que não são meus parceiros, caso faça parte dessa equipe e quiser fazer uma parceria, pode entrar em contato.
      Um grande abraço.

Deixe uma resposta