Função que retorna o título da rotina atual em AdvPL

Olá pessoal…

Hoje vou mostrar uma função desenvolvida que retorna o título da rotina atual (aberta pelo menu) utilizando o AdvPL.

Essa rotina testa o atributo oApp:oMainWnd:cTitle, caso ele exista, é adicionado à uma variável, e retirado textos a mais (como os textos entre colchetes que representam o módulo).

Abaixo um exemplo de um print executado dentro do fórmulas.

Exemplo do Título de Rotina

Exemplo do Título de Rotina

Abaixo o código fonte completo.

//Bibliotecas
#Include "Protheus.ch"

/*/{Protheus.doc} zFunTit
Função que retorna o título da rotina em Execução
@type function
@author Atilio
@since 26/11/2016
@version 1.0
@return cTitle, Título da Rotina atual
	@example
	MsgInfo("Estou na rotina <b>'"+u_zFunTit()+"'</b>", "Atenção")
/*/

User Function zFunTit()
	Local aArea := GetArea()
	Local cTitle := ""
	
	//Se estiver instanciado no Objeto
	If Type("oApp:oMainWnd:cTitle") == "C"
		cTitle := oApp:oMainWnd:cTitle
		
		//Se tiver um colchetes, pega o texto até a posição inicial do colchete
		If '[' $ cTitle
			cTitle := SubStr(cTitle, 1, At('[', cTitle)-1)
		EndIf
		
		cTitle := Alltrim(cTitle)
	EndIf
	
	RestArea(aArea)
Return cTitle

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

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação