Exibindo mensagens com a função Aviso – Maratona AdvPL e TL++ 057

Nesse vídeo demonstraremos os diferentes tipos de mensagens que podemos exibir através da função Aviso.

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

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe057
Exemplo de função que mostra uma mensagem de aviso na tela
@type Function
@author Atilio
@since 05/12/2022
@see https://tdn.totvs.com/display/public/framework/Aviso
@obs 
    Função Aviso
    Parâmetros
        + cTitulo         , Caracter   , Mensagem no Título
        + cMsg            , Caracter   , Mensagem que será exibida na tela
        + aBotoes         , Array      , Array com as opções dos botões
        + nSize           , Numérico   , Tamanho da janela (podendo ser 1, 2 ou 3)
        + cText           , Caracter   , Título da Descrição (dentro da janela)
        + nRotAutDefault  , Numérico   , Opção padrão em caso de rotina automática
        + cBitmap         , Caracter   , Nome da imagem BITMAP dentro do Repositório (descontinuado a partir do Protheus 12)
        + lEdit           , Lógico     , Se .T. permitir editar a mensagem senão se for .F. não permite
        + nTimer          , Numérico   , Tempo para exibir a mensagem em milissegundos
        + nOpcPadrao      , Numérico   , Número da opção padrão do array
    Retorno
        + nOpcAviso       , Numérico   , Retorna a opção clicada pelo usuário

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

User Function zExe057()
    Local aArea   := FWGetArea()
    Local cMsg    := "Terminal de Informação"
    Local nOpc    := 0
    Local cMsgRet := cMsg

    //Mensagem pequena normal
    Aviso("Título Exemplo 1", cMsg, {"OK"}, 1, "Sub Título")

    //Mensagem média com botões
    nOpc := Aviso("Título Exemplo 2 (Botões)", cMsg, {"Sim", "Não", "Talvez"}, 2, "Sub Título")
    If nOpc == 1
        FWAlertInfo("Clicou no Sim", "Atenção")
    EndIf

    //Mensagem grande sendo possível editar
    Aviso("Título Exemplo 3 (Editável)", @cMsgRet, {"OK"}, 3, "Sub Título", , , .T.)
    FWAlertInfo(cMsgRet, "Conteúdo digitado")

    //Mensagem que fecha sozinha depois de 5 segundos
    cMsg += " (tela será fechada em 5 segundos)"
    Aviso("Título Exemplo 4 (Timer)", cMsg, {"OK"}, 2, "Sub Título", , , , 5000)

    FWRestArea(aArea)
Return

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