Nosso Blog

ADVPL: Tipos e Parâmetros da Função ParamBox em ADVPL

A função ParamBox cria uma tela de interação com usuário com os parâmetros passado pra ela como array.

Essa informação não está mais disponível no TDN, a totvs não recomenda o uso da ParamBox por ser uma função interna. O conteúdo publicado aqui é de origem do ano de 2012 e pode ter sofrido alterações. Fica de responsabilidade do desenvolvedor querer usá-lo ou não.

Segue alguns tipos de ParamBox: 

aAdd(aParamBox,{1,”Data”  ,Ctod(Space(8)),””,””,””,””,50,.F.}) // Tipo data
// Tipo 1 -> MsGet()
//           [2]-Descricao
//           [3]-String contendo o inicializador do campo
//           [4]-String contendo a Picture do campo
//           [5]-String contendo a validacao
//           [6]-Consulta F3
//           [7]-String contendo a validacao When
//           [8]-Tamanho do MsGet
//           [9]-Flag .T./.F. Parametro Obrigatorio ?

aAdd(aParamBox,{2,”Informe o mês”,1,aCombo,50,””,.F.})
// Tipo 2 -> Combo
//           [2]-Descricao
//           [3]-Numerico contendo a opcao inicial do combo
//           [4]-Array contendo as opcoes do Combo
//           [5]-Tamanho do Combo
//           [6]-Validacao
//           [7]-Flag .T./.F. Parametro Obrigatorio ?
// Cuidado, há um problema nesta opção quando selecionado a 1ª opção.

aAdd(aParamBox,{3,”Mostra deletados”,1,{“Sim”,”Não”},50,””,.F.})
// Tipo 3 -> Radio
//           [2]-Descricao
//           [3]-Numerico contendo a opcao inicial do Radio
//           [4]-Array contendo as opcoes do Radio
//           [5]-Tamanho do Radio
//           [6]-Validacao
//           [7]-Flag .T./.F. Parametro Obrigatorio ?

aAdd(aParamBox,{4,”Marca todos ?”,.F.,”Marque todos se necessário for.”,90,””,.F.})
// Tipo 4 -> Say + CheckBox
//           [2]-Descricao
//           [3]-Indicador Logico contendo o inicial do Check
//           [4]-Texto do CheckBox
//           [5]-Tamanho do Radio
//           [6]-Validacao
//           [7]-Flag .T./.F. Parametro Obrigatorio ?

aAdd(aParamBox,{5,”Marca todos ?”,.F.,50,””,.F.})
// Tipo 5 -> Somente CheckBox
//           [2]-Descricao
//           [3]-Indicador Logico contendo o inicial do Check
//           [4]-Tamanho do Radio
//           [5]-Validacao
//           [6]-Flag .T./.F. Parametro Obrigatorio ?

aAdd(aParamBox,{6,”Buscar arquivo”,Space(50),””,””,””,50,.F.,”Todos os arquivos (*.*) |*.*”})
// Tipo 6 -> File
//           [2]-Descricao
//           [3]-String contendo o inicializador do campo
//           [4]-String contendo a Picture do campo
//           [5]-String contendo a validacao
//           [6]-String contendo a validacao When
//           [7]-Tamanho do MsGet
//           [8]-Flag .T./.F. Parametro Obrigatorio ?
//           [9]-Texto contendo os tipos de arquivo, exemplo: “Arquivos .CSV |*.CSV”
//           [10]-Diretorio inicial do cGetFile
//           [11]-Número relativo a visualização, podendo ser por diretório ou por arquivo (0,1,2,4,8,16,32,64,128)

aAdd(aParamBox,{7,”Monte o filtro”,”SX5″,”X5_FILIAL==xFilial(‘SX5’)”})
// Tipo 7 -> Montagem de expressao de filtro
//           [2]-Descricao
//           [3]-Alias da tabela
//           [4]-Filtro inicial

aAdd(aParamBox,{8,”Digite a senha”,Space(15),””,””,””,””,80,.F.})
// Tipo 8 -> MsGet Password
//           [2]-Descricao
//           [3]-String contendo o inicializador do campo
//           [4]-String contendo a Picture do campo
//           [5]-String contendo a validacao
//           [6]-Consulta F3
//           [7]-String contendo a validacao When
//           [8]-Tamanho do MsGet
//           [9]-Flag .T./.F. Parametro Obrigatorio ?

aAdd(aParamBox,{9,”Texto aleatório, apenas demonstrativo.”,150,7,.T.})
// Tipo 9 -> Somente uma mensagem, formato de um título
//           [2]-Texto descritivo
//           [3]-Largura do texto
//           [4]-Altura do texto
//           [5]-Valor lógico sendo: .T. => fonte tipo VERDANA e .F. => fonte tipo ARIAL

aAdd(aParamBox,{10,”Cliente”,Space(6),”SA1″,40,”C”,6,”.T.”})
// Tipo 10 -> Range de busca
//            [2] = Título
//            [3] = Inicializador padrão
//            [4] = Consulta F3
//            [5] = Tamanho do GET
//            [6] = Tipo do dado, somente (C=caractere e D=data)
//            [7] = Tamanho do espaço
//            [8] = Condição When

aAdd(aParamBox,{11,”Informe o motivo”,””,”.T.”,”.T.”,.T.})
// Tipo 11 -> MultiGet (Memo)
//            [2] = Descrição
//            [3] = Inicializador padrão
//            [4] = Validação
//            [5] = When
//            [6] = Campo com preenchimento obrigatório .T.=Sim .F.=Não (incluir a validação na função ParamOk)

// Parametros da função Parambox()
// ——————————-
// 1 – < aParametros > – Vetor com as configurações
// 2 – < cTitle >      – Título da janela
// 3 – < aRet >        – Vetor passador por referencia que contém o retorno dos parâmetros
// 4 – < bOk >         – Code block para validar o botão Ok
// 5 – < aButtons >    – Vetor com mais botões além dos botões de Ok e Cancel
// 6 – < lCentered >   – Centralizar a janela
// 7 – < nPosX >       – Se não centralizar janela coordenada X para início
// 8 – < nPosY >       – Se não centralizar janela coordenada Y para início
// 9 – < oDlgWizard >  – Utiliza o objeto da janela ativa
//10 – < cLoad >       – Nome do perfil se caso for carregar
//11 – < lCanSave >    – Salvar os dados informados nos parâmetros por perfil
//12 – < lUserSave >   – Configuração por usuário

// Caso alguns parâmetros para a função não seja passada será considerado DEFAULT as seguintes abaixo:
// DEFAULT bOk   := {|| (.T.)}
// DEFAULT aButtons := {}
// DEFAULT lCentered := .T.
// DEFAULT nPosX  := 0
// DEFAULT nPosY  := 0
// DEFAULT cLoad     := ProcName(1)
// DEFAULT lCanSave := .T.
// DEFAULT lUserSave := .F.

Visite também (ADVPL: Como chamar uma função de usuário no Protheus?)

ADVPL: Como chamar uma função de usuário no Protheus?

Está gostando do conteúdo? Compartilhe!

Como você quer falar com a gente?

Queremos te ouvir e apresentar uma Consultoria Especializada TOTVS® diferente do que existe no mercado.

Atendemos todo o brasil

Ligue

0800 800 0515

E-mail

contato@logostechnology.com.br

São Paulo

R. Dr. César, 1161 – Conjunto 1004 – Santana, São Paulo – SP, 02013-004

Campinas

R. Maria Conceição F. de Andrade, 621, Nova Campinas, SP, 13092-190

Logos Technology © 2023 – Todos os direitos reservados