Validando o tipo de variáveis com Type e ValType – Maratona AdvPL e TL++ 518

Nesse vídeo demonstraremos a utilização das funções Type e ValType, que servem para validar o tipo do conteúdo de uma variável ou atributo.

Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:

//Bibliotecas
#Include "TOTVS.ch"

Static cVarStatic := "Ti"

/*/{Protheus.doc} User Function zExe518
Valida se uma variável ou expressão existe na memória
@type Function
@author Atilio
@since 05/04/2023
@see https://tdn.totvs.com/display/tec/Type e https://tdn.totvs.com/display/tec/ValType
@obs 

    Type
    Parâmetros
        + cExpr       , Caractere      , Indica a expressão em caractere para ser verificada
    Retorno
        + cType       , Caractere      , Retorna o tipo da expressão

    ValType
    Parâmetros
        + xParam      , Caractere      , Indica a informação que será verificada
    Retorno
        + cRet        , Caractere      , Retorna o tipo da informação

    **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/

User Function zExe518()
    Local cVarLocal    := "Ti"
    Private cVarPriv   := "Ti"
    Private oFontTst   := TFont():New("Tahoma")
    Public __cVarPubl  := "Ti"
     
    FWAlertInfo(Type("cVarStatic"),     "Type - Static")                  //Retorna "U" - Indefinido
    FWAlertInfo(Type("cVarLocal"),      "Type - Local")                   //Retorna "U" - Indefinido
    FWAlertInfo(Type("cVarPriv"),       "Type - Private")                 //Retorna "C" - Caracter
    FWAlertInfo(Type("__cVarPubl"),     "Type - Public")                  //Retorna "C" - Caracter
    FWAlertInfo(Type("oFontTst:Bold"),  "Type - Atributo Ok")             //Retorna "L" - Lógico
    FWAlertInfo(Type("oFontTst:XXX"),   "Type - Atributo Inválido")       //Retorna "U" - Indefinido
     
    FWAlertInfo(ValType(cVarStatic),    "ValType - Static")               //Retorna "C" - Caracter
    FWAlertInfo(ValType(cVarLocal),     "ValType - Local")                //Retorna "C" - Caracter
    FWAlertInfo(ValType(cVarPriv),      "ValType - Private")              //Retorna "C" - Caracter
    FWAlertInfo(ValType(__cVarPubl),    "ValType - Public")               //Retorna "C" - Caracter
    FWAlertInfo(ValType(oFontTst:Bold), "ValType - Atributo Ok")          //Retorna "L" - Lógico
    FWAlertInfo(ValType(oFontTst:XXX),  "ValType - Atributo Inválido")    //Dá erro de Invalid Property e encerra o programa

    FWRestArea(aArea)
Return

Bom pessoal, por hoje é só.

Abraços e até 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