Parametros Include

Discussão em 'Progress 4GL' iniciado por maicon, Julho 15, 2013.

  1. maicon

    maicon Membro Participativo

    Bom Dia

    É possível chamar uma include passando parametros?
    Como? Tem algum exemplo?
  2. lwazevedo

    lwazevedo Membro Ativo

    Exemplo...

    Código:
    Programa xxxx.p
    
    def var parametro as int no-undo initial 9.
    
    { include.i parametro}
    Código:
    include.i
    
    message "Parametro recebido: " {1}.

    espero que te ajude...
  3. maicon

    maicon Membro Participativo

    Boa Tarde
    Ajudou sim.

    Mas com faço uma variável na Include receber o parametro?
    Eu tentei ASSIGN n = {1}.
    Não deu certo.

    Na Messagem
    MESSAGE {1}
    VIEW-AS ALERT-BOX INFO BUTTONS OK. Deu certo. Na variável não.
    como?
  4. lwazevedo

    lwazevedo Membro Ativo

    Bah agora tu me pegou, mas estou verificando se é possível fazer isto. mas me diz por que passar um parâmetro para a include, tu não pode usar uma function dentro da include recebendo parâmetro e te retornando o que desejas ?


    abraço
  5. maicon

    maicon Membro Participativo

    Bom dia

    Acho que a Function pode resolver. Mas não manjo de Function, se vc tiver um exemplo: Te agradeço.
  6. lwazevedo

    lwazevedo Membro Ativo

    Bom maicon, para tal solução existem algumas que descobrir então vou colocar aqui e você vê o que lhe cabe melhor.

    1° - usando função -

    programa .p que usa a função...

    Código:
    execFunction.p
     def var vrecebe-valor-function as int.
    
    {ifunction.i}.
    
    vrecebe-valor-function = funcao(10).
    
    disp vrecebe-valor-function.
    include com a função...

    Código:
    ifunction.i
    
    function funcao returns int(input parametro as int):
        return ( 2 * parametro).
    end function.

    2° Usando variável global

    programa .p

    Código:
    define-global.p
    &GLOB parametro 10.
    
    {i-global-variable.i}
    include i-global-variable.i

    Código:
    DEF VAR res AS INT.
    res = 2 * INT("{&parametro }").
    DISP res. 

    3° usando passagem de parâmetros globais

    programa .p
    Código:
    r-incl.p
    def var teste as int no-undo initial 10.
    
    {r-show.i teste}.
    include .i

    Código:
    r-show.i 
    
    DEF VAR teste1 AS INT.
    DEF VAR teste2 AS INT.
    teste1 = {1}.
    teste2 = teste1 * 2.
    
    DISP teste2.
    4º passando valor direto pela include.

    programa .p
    Código:
    parametro.p
    
    {r-include.i &valor = 20}.
    include .i
    Código:
    DEF VAR teste AS INT NO-UNDO.
    
    teste = int("{&valor}").
    
    DISP teste.

    Bom maicon, acredito que deve ter outras maneira, mas acredito que alguma destas podem te auxiliar. qualquer coisa posta ai novamente que assim que der eu respondo...

    valeu.

Compartilhe esta Página