1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Decompiler Progress

Discussão em 'Progress 4GL' iniciado por licker, Janeiro 6, 2011.

  1. licker

    licker Sem Pontuação

    Olha no site só não fala da 10... senão me engano.

    Eu já estou refazendo...
  2. tcoutinho

    tcoutinho Moderador Moderador Equipe de Suporte

    Pessoal, estou com um fontes especificos que não tem mais fontes.

    Alguem poderia me enviar o link para fazer download do Progress Decompiler ou do Progress Xcode.
    Ou algum tipo de informação a respeito.

    Poderia postar aqui ou me enviar por email..
    tg7@live.com
  3. licker

    licker Sem Pontuação

    Thiago..

    Quando precisei era apenas um programa e consegui com um cara fora do Brasil uma "amostra grátis"... ai encaminhei o DF do meu banco + o .r a decompilar e ele me passou o .p.
    Mas é complicado... perde muita coisa ainda assim e requer conhecer o fonte para recuperar posteirormente, pois as referencias de texto do compilado ele não consegue refazer. Da um monte de problemas... pra um sistema ou mais arquivos só fazendo de novo cara.
    Ele não consegue tratar bem os includes... tive sorte que precisava apenas do .p e pude ignorar a parte dos includes. Olha um exemplo de código, isso nem de perto é similar ao original:

    /************************************************************************/
    PROCEDURE: pro-calcula-pacela-mes
    INPUT par-age-ni AS INTEGER
    INPUT par-nitiage AS INTEGER
    INPUT par-mes AS INTEGER
    INPUT par-ano AS INTEGER
    INPUT par-dec-vlr AS DECIMAL
    OUTPUT par-dec-fator AS DECIMAL
    OUTPUT par-dec-vlrparc AS DECIMAL
    ASSIGN
    dat-aux-atual = DATE((((("15" + "/") + STRING(par-mes,"99")) + "/") + STRING(par-ano,"9999")))
    dat-aux-atual-fim = (DATE((("01" + STRING(((MONTH(dat-aux-atual) MODULO 12) + 1),"99")) + STRING((YEAR(dat-aux-atual) + TRUNCATE((MONTH(dat-aux-atual) / 12),0)),"9999"))) - 1)
    dat-aux-atual-ini = DATE((("01" + STRING(MONTH(dat-aux-atual),"99")) + STRING(YEAR(dat-aux-atual),"9999")))
    FIND FIRST ADMWEB.IMSCIAP
    WHERE ((True AND (ADMWEB.IMSCIAP.ISC-Ano = par-ano)) AND (ADMWEB.IMSCIAP.ISC-mes = par-mes))
    WHERE2 par-age-ni,|par-age-ni,
    USE-INDEX i-ImSCIAP-02
    NO-LOCK NO-ERROR
    IF
    NOT(AVAILABLE ADMWEB.IMSCIAP)
    THEN
    DO: /* BLOCK_1 */
    FIND FIRST TT-FATORCIAP
    WHERE (True AND True)
    WHERE2 par-ano,par-mes,|par-ano,par-mes,
    USE-INDEX idx_anomes
    EXCLUSIVE-LOCK NO-ERROR
    IF
    NOT(AVAILABLE TT-FATORCIAP)
    THEN
    DO: /* BLOCK_2 */
    CREATE TT-FATORCIAP
    ASSIGN
    TT-FATORCIAP.ano = par-ano
    TT-FATORCIAP.mes = par-mes
    TT-FATORCIAP.dec-vlrtotal-ctb = 0
    TT-FATORCIAP.dec-totctb-trib = 0
    TT-FATORCIAP.dec-val-exterior = 0
    /* RECORD STUFF */
    SAVE CACHE COMPLETE ADMWEB.STDOCFIS
    WHERE ADMWEB.STDOCFIS.SDF-indintegro
    USE-INDEX StDocFis
    NO-LOCK NO-ERROR
    FIND NEXT ADMWEB.STDOCFIS
    WHERE ADMWEB.STDOCFIS.SDF-indintegro
    USE-INDEX StDocFis
    NO-LOCK
    FOR: /* BLOCK_3 */
    /* RECORD STUFF */
    SAVE CACHE COMPLETE ADMWEB.DOCTOFIS
    WHERE ((((((True AND True) AND True) AND True) AND True) AND True) AND (ADMWEB.DOCTOFIS.SDF-ni = ADMWEB.STDOCFIS.SDF-ni))
    WHERE2 vags-ni,"S",par-nitiage,par-age-ni,dat-aux-atual-ini,|vags-ni,"S",par-nitiage,par-age-ni,dat-aux-atual-fim,
    USE-INDEX DoctoFis04
    NO-LOCK NO-ERROR
    FIND NEXT ADMWEB.DOCTOFIS
    WHERE ((((((True AND True) AND True) AND True) AND True) AND True) AND (ADMWEB.DOCTOFIS.SDF-ni = ADMWEB.STDOCFIS.SDF-ni))
    USE-INDEX DoctoFis04
    NO-LOCK
    FOR: /* BLOCK_4 */
    RUN
    "pro-cria-tt"
    INPUT
    ADMWEB.DOCTOFIS.DFi-ni
    OUTPUT
    dec-vlrtotal-ctb
    OUTPUT
    dec-totctb-trib
    OUTPUT
    dec-val-exterior
    ASSIGN
    TT-FATORCIAP.dec-vlrtotal-ctb = (TT-FATORCIAP.dec-vlrtotal-ctb + dec-vlrtotal-ctb)
    TT-FATORCIAP.dec-totctb-trib = (TT-FATORCIAP.dec-totctb-trib + dec-totctb-trib)
    TT-FATORCIAP.dec-val-exterior = (TT-FATORCIAP.dec-val-exterior + dec-val-exterior)
    END.
    END.
    IF
    (TT-FATORCIAP.dec-totctb-trib = 0)
    THEN
    TT-FATORCIAP.dec-fator = 0
    ELSE
    TT-FATORCIAP.dec-fator = ((TT-FATORCIAP.dec-totctb-trib + TT-FATORCIAP.dec-val-exterior) / TT-FATORCIAP.dec-vlrtotal-ctb)
    END.
    par-dec-fator = TT-FATORCIAP.dec-fator
    END.
    ELSE
    DO: /* BLOCK_5 */
    par-dec-fator = ADMWEB.IMSCIAP.ISC-Fator
    END.
    par-dec-vlrparc = ((par-dec-fator * (1 / 48)) * par-dec-vlr)

    DEF VAR dat-aux-atual AS DATE.
    DEF VAR dat-aux-atual-ini AS DATE.
    DEF VAR dat-aux-atual-fim AS DATE.
    DEF VAR dec-totctb-trib AS DECIMAL.
    DEF VAR dec-vlrtotal-ctb AS DECIMAL.
    DEF VAR dec-val-exterior AS DECIMAL. ai:

    Se quiser tentar assim mesmo, o contato do cara e´este abaixo.

    Progress Tools - <progress-tools@inmail.sk>

    Abraço e boa sorte.

Compartilhe esta Página