Executar o que esta na variavel como uma include???

Discussão em 'Progress 4GL' iniciado por Raviel, Julho 14, 2009.

  1. Raviel

    Raviel Sem Pontuação

    E ai pessoal minha duvida é a seguinte.
    Eu consegui uma vez e até salvei o codigo o problema é encontrala na minha manquina.

    Eu quero atribuir a uma variavel um codigo e depois incorporar esse codigo usando a veriavel. Eu me lembro de ter feito assim e ele executava a message o proble é que eu não lembro tambem como eu incorporei a variavel, tentei só value(mes), mas não da e {mes} tambem não, alguem sabe como fazer isso:

    Código:
    DEF VAR mes AS CHAR FORMAT "x(200)" NO-UNDO.
    DEF VAR num AS INT INITIAL 1.
    
    ASSIGN mes = "MESSAGE num VIEW-AS ALERT-BOX INFO BUTTONS OK.".
  2. fdantas

    fdantas Administrator Moderador

    1) Voce pode gerar um output do conteudo para um .p e rodar ele.

    2) Voce pode passar ele como parametro para uma include e dentro da include colocar apenas {1}.


    Provavelmente uma das alternativas ajude... Abraço
  3. Raviel

    Raviel Sem Pontuação

    Cara, obrigado, mas essas formas eu já conheço, mas um exemplo da forma que eu consegui fazer dava até para compilar um programa com um for each em uma tabela que não estava conectada ou que nem foi criada ainda, mas das forma que você falou vai gerar erro, e do .p é muita enrolação para um coisa simples. eu já fiz, deve ter uma forma mais fácil.
  4. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    será que é assim:

    Código:
    /*** rotina_i.p ***/
    
    DEF VAR mes AS CHAR FORMAT "x(200)" NO-UNDO.
    DEF VAR num AS INT INITIAL 1.
    
    ASSIGN mes = "MESSAGE 'Número: '" + string(num) + " VIEW-AS ALERT-BOX INFO BUTTONS OK.".
    
    RUN c:\temp\rotina_ii.p mes.
    
    Código:
    /*** rotina_ii.p ***/
    
    {1}
    
  5. Agnaldo

    Agnaldo Membro Ativo

    Báh Eduardo.

    Essa sintaxe em não conhecia.

    Mas ela não aceita .R né.
    Precisa ter o fonte para dar RUN nele.
  6. lisandro.severino

    lisandro.severino Sem Pontuação

    Ola Raviel;

    bom pelo que pude entender o que voce precisa não seria de um preprocessor, um (&SCOPED-DEFINE) ?

    DEF VAR num AS INT INITIAL 1 .
    /* &SCOPED-DEFINE preprocessor directive */
    &SCOPED-DEFINE mensage MESSAGE num VIEW-AS ALERT-BOX INFO BUTTONS OK.
    &SCOPED-DEFINE tabela ITEM
    &SCOPED-DEFINE campo item.it-codigo

    /* preprocessor, como o nome ja diz, adquire um preprocesso(comandos e funções)
    em tempo de execução...pode-se fazer muitas coisas com isso....*/
    /*Exemplo: */
    {&mensage}


    /*Outro Exemplo: */
    FOR EACH {&tabela} NO-LOCK
    BREAK BY {&campo}
    :
    DISP {&campo} .

    END.

    não sei se seria isso mas segue os exemplos...

    Um Abraço

    Lisandro.

Compartilhe esta Página