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

Dica Gerando cores RGB

Discussão em 'Outros/Diversos' iniciado por denis.berteli, Agosto 18, 2015.

  1. denis.berteli

    denis.berteli Sem Pontuação

    Olá pessoal, estava precisando usar os códigos RGB para um trabalho e resolvi montar um script para gerar, o problema é que o arquivo gerado é grande e precisa ser aberto com um editor como o TextPad:

    /**************************************************************
    programa...:
    Autor......: Denis Berteli
    Data.......: 14/8/2015
    objetivo...: Gerar as cores RGB
    **************************************************************/
    /* exemplo
    00 00 00
    00 00 01
    00 00 02
    ...
    FF FF FE
    FF FF FF
    */

    DEFINE VARIABLE c-lista AS CHARACTER NO-UNDO INITIAL "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F".

    DEFINE VARIABLE p1 AS CHARACTER NO-UNDO EXTENT 16.
    DEFINE VARIABLE p2 AS CHARACTER NO-UNDO EXTENT 16.
    DEFINE VARIABLE i1 AS INT64 NO-UNDO.
    DEFINE VARIABLE i2 AS INT64 NO-UNDO.
    DEFINE VARIABLE c-aux AS CHARACTER NO-UNDO.
    DEFINE VARIABLE i-cont AS INT64 NO-UNDO.

    DEFINE TEMP-TABLE tt-r NO-UNDO
    FIELD cor AS CHAR.

    DEFINE TEMP-TABLE tt-g NO-UNDO
    FIELD cor AS CHAR.

    DEFINE TEMP-TABLE tt-b NO-UNDO
    FIELD cor AS CHAR.

    OUTPUT TO "c:\temp\cores.html" NO-CONVERT.

    DO i1 = 1 TO 16:

    ASSIGN p1[i1] = ENTRY(i1,c-lista)
    p2[i1] = ENTRY(i1,c-lista).
    END.

    DO i1 = 1 TO 16:

    ASSIGN c-aux = p1[i1].

    DO i2 = 1 TO 16:
    ASSIGN c-aux = p1[i1] + p2[i2].

    CREATE tt-r.
    ASSIGN tt-r.cor = c-aux.

    CREATE tt-g.
    ASSIGN tt-g.cor = c-aux.

    CREATE tt-b.
    ASSIGN tt-b.cor = c-aux.
    END.
    END.

    ASSIGN i-cont = 0.

    PUT UNFORMATTED
    "<table border='1'>" SKIP
    "<tr>" SKIP.

    FOR EACH tt-r,
    EACH tt-g,
    EACH tt-b:

    ASSIGN i-cont = i-cont + 1.

    PUT UNFORMATTED
    "<td bgcolor='#" tt-r.cor + tt-g.cor + tt-b.cor "'>" tt-r.cor + tt-g.cor + tt-b.cor "</td>" SKIP.

    IF i-cont MOD 16 = 0 THEN
    PUT UNFORMATTED
    "</tr><tr>" SKIP.

    END.

    PUT UNFORMATTED
    SKIP "</tr></table>" SKIP.

    OUTPUT CLOSE.
  2. newton_car

    newton_car Sem Pontuação

    Pode converter a tabela de cores Progress em RGB


    FUNCTION fRGB RETURN CHARACTER (INPUT pColor AS INTEGER):

    IF pColor = ? THEN RETURN "":U.

    IF pColor > COLOR-TABLE:NUM-ENTRIES THEN RETURN "":U.

    RETURN SUBSTITUTE("rgb(&1,&2,&3)",
    COLOR-TABLE:GET-RED-VALUE(pColor),
    COLOR-TABLE:GET-GREEN-VALUE(pColor),
    COLOR-TABLE:GET-BLUE-VALUE(pColor)).

    END FUNCTION.

    MESSAGE fRGB(pHandle:BGCOLOR)
    VIEW-AS ALERT-BOX INFO BUTTONS OK.

Compartilhe esta Página