Inputbox no Protheus
Já se perguntou como fazer um inputbox no Protheus?
Inputbox é aquela famosa janelinha com um campo texto e os botões Ok e Cancelar.
No Protheus tem uma função bem parecida e por sinal melhorada, isso porque ela cria este inputbox com outros tipos de campos e novos botões além dos dois tradicionais, podendo combiná-los na mesma tela.
Campos permitidos:
MsGet
Combo
Radio
CheckBox
Arquivo (tipo upload)
Montagem de expressão de filtro
Campo senha
Campo Memo
Filtro
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
Parametros ExpA1 : Array contendo os parametros [1] Tipo do parametro - 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 ? 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 ? 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 ? [8] : String contendo a validacao When 4 - CheckBox ( Com Say ) [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 ? 5 - CheckBox ( linha inteira ) [2] : Descricao [3] : Indicador Logico contendo o inicial do Check [4] : Tamanho do Radio [5] : Validacao [6] : Flag .T./.F. Parametro Obrigatorio ? 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 Ex.: "Arquivos .CSV |*.CSV" [10]: Diretorio inicial do cGetFile [11]: PARAMETROS do cGETFILE [12]: Se .T. apresenta árvore do servidor 7 - Montagem de expressao de filtro [2] : Descricao [3] : Alias da tabela [4] : Filtro inicial [5] : Opcional - Clausula When Botao Editar Filtro 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 ? 9 - MsGet Say [2] : String Contendo o Texto a ser apresentado [3] : Tamanho da String [4] : Altura da String [5] : Negrito (logico) 10- Range (experimental) [2] : Descricao [3] : Range Inicial [4] : ConsultaF3 [5] : Largo em pixels do Get [6] : Tipo [7] : Tamanho do campo (em chars) [8] : String contendo a validacao When 11-MultiGet (MEMO) [2] : Descrição [3] : Inicializador padrão [4] : String contendo o VALID [5] : String contendo o WHEN [6] : Flag .T./.F. Parametro Obrigatorio ? 12-Filtro de usuario por rotina [2] : Titulo do filtro [3] : Alias da tabela onde vai aplicar o filtro [4] : Expressao de filtro de inicio [5] : String contendo o WHEN ExpC2 : Titulo da Janela ExpA3 : Array passado por referencia que contem o retorno dos parametros. |
A função Parambox serve para criar a tela de parâmetros dinâmica como alternativa à função padrão Pergunte, porem não utiliza a tabela SX1 do dicionário de dados. O retorno da função é verdadeiro se pressionado o botão “OK” ou falso se pressionado botão “Cancel”, no array aRet será carregado com as respostas das perguntas.
Exemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#Include 'Protheus.ch' User Function ExParam() Local aPergs := {} Local cCodRec := space(08) Local cRecDest := space(08) Local cArquivo := padr("",150) Local aRet := {} aAdd( aPergs ,{1,"Campo bloqueado",cCodRec,"@",".F.",,".F.",40,.F.}) aAdd( aPergs ,{1,"Campo texto",cRecDest,"@!","!Empty(mv_par02)",,".T.",40,.T.}) aAdd( aPergs ,{6,"Arquivo",cArquivo,"",,"", 90 ,.T.,"Arquivos .CSV |*.CSV","C:\",GETF_LOCALHARD+GETF_LOCALFLOPPY+GETF_NETWORKDRIVE}) aAdd( aPergs ,{2,"Combobox","Não",{"Sim", "Não" },60,"",.T.}) If ParamBox(aPergs ,"Exemplo",aRet) Aviso("Recurso original:"+aRet[1]+ " substituido pelo recurso:" + aRet[2]) Else Aviso("Processo cancelado") EndIf Return .T. |
arquivo Campo Memo Campo senha CheckBox Combo Filtro MsGet ParamBox Radio
Você precisa fazer log in para comentar.