Tempo de leitura: 3 minutos
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: @Inscreva-se no Canal ProtheusAdvpl: @Siga-nos no Instagram: @Conheça os Cursos do 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: @Inscreva-se no Canal ProtheusAdvpl: @Siga-nos no Instagram: @Conheça os Cursos do 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.
Link(s) de referência(s):