Tempo de leitura: 3 minutos
A função ReadVar em ADVPL obtém 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 1.0
@?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 e Formações do ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/
@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG
|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.
Link(s) de referência(s):