ReadVar

Reading time: 3 minutes

Olá, no post de hoje iremos falar da função ReadVar em ADVPL. A finalidade dessa função é fornecer o nome do campo(ex:M->D1_DOC) ou variável(cCPF) de onde estamos digitando algum valor. Ela muito útil para fazermos validações baseada no campo que estamos digitando. Ela também é uma das funções de Interface Visual em ADVPL. 

Podemos usar a função ReadVar em conjunto com o operador macro & para obter o conteúdo do campo ou variável a qual ReadVar referencia. Ex. &(ReadVar).

 

Sintaxe:

ReadVar()

 

Parâmetro(s):

——-

Retorno:

 

 

Exemplo da função ReadVar em ADVPL para obtermos o nome da variável de um objeto do tipo Get:

#include 'protheus.ch'
#include  'totvs.ch'

/*{Protheus.doc} User Function fReadVar
    (Essa função tem por finalidade mostrar a função ReadVar em ADVPL)
    @type  Function
    @author Adilio Costa
    @since 24/04/2024
    @version Protheus 12.1.2210
   @Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@Conheça os Cursos do ProtheusAdvpl:
https://hotmart.com/pt-br/club/protheusadvpl
|Se esse conteúdo foi útil pra você nos ajude divulgando 
ele e nossas redes sociais!!|
*/
User Function fReadVar()

	@ 010,050 MSGET cCPF SIZE 55,11 OF oDlg PIXEL PICTURE "@R 999.999.999-99";
		VALID U_Valida()

	@ 050,050 MSGET cCNPJ SIZE 55,11 OF oDlg PIXEL PICTURE "@R 99.999.999/9999-99";
		VALID U_Valida()

Return

User Function Valida()
	Local cCampo
	Local cConteudo
	Local lValid := .F.

	//Obtendo o nome variável
	cCampo := ReadVar()
	//Otendo o conteúdo da variável
	cConteudo := &(ReadVar())

	If(cCampo == "cCPF")
		MsgInfo("Você digitou o CPF:"+cConteudo,"Função ReadVar")
		lValid := ValCPF(cConteudo)
	ElseIf(cCampo == "cCNPJ")
		MsgInfo("Você digitou o CNPJ:"+cConteudo,"Função ReadVar")
	Else
		MsgInfo("Campo inválido!","Função ReadVar")
		lValid := ValCNPJ(cConteudo)
	EndIf


Return lValid


 

Exemplo da função ReadVar em ADVPL para obtermos o nome do campo na tela do documento de entrada(MATA103):

#include 'protheus.ch'
#include  'totvs.ch'

/*{Protheus.doc} User Function fReadVar
    (Essa função tem por finalidade mostrar a função ReadVar em ADVPL)
    @type  Function
    @author Adilio Costa
    @since 24/04/2024
    @version Protheus 12.1.2210
   @Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@Conheça os Cursos do ProtheusAdvpl:
https://hotmart.com/pt-br/club/protheusadvpl
|Se esse conteúdo foi útil pra você nos ajude divulgando 
ele e nossas redes sociais!!|
*/

User Function VerCampo()

	Local cCampoSD1 := ""
	Local cContSD1  := ""

//Obtém o nome do campo da tabela SD1 a qual está sendo digitado
	cCampoSD1 := ReadVar()

//Obtém o conteúdo do campo da tabela SD1 que foi digitado
	cContSD1 := &(ReadVar())


	If(cCampoSD1 == "M->D1_DOC")
		MsgInfo("Você digitou o documento:"+cContSD1)
	ElseIf(cCampoSD1 == "M->D1_SERIE")
		MsgInfo("Você digitou a série:"+cContSD1)
	ElseIf(cCampoSD1 == "M->D1_TES")
		MsgInfo("Você digitou a TES:"+cContSD1)
	Else
		MsgInfo("Você digitou outro campo de conteúdo:"+cContSD1)
	EndIf

	
Return

 

 

É isso aí, finalizamos aqui mais um post no Blog ProtheusAdvpl. Caso tenha ficado alguma dúvida deixe seu comentário ou nos envie um e-mail para adiliocosta@protheusadvpl.com.br, até um próximo post, grande abraço e fica com Deus.

 
Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.