Alterar LABEL das colunas de um BROWSE em tempo de execução

Discussão em 'Progress 4GL' iniciado por atila.cm, Abril 28, 2010.

  1. atila.cm

    atila.cm Membro Participativo

    Prezado(a)s Senhore(a)s:

    Estou criando processos para tradução de idiomas em um sistema que estou criando.
    Necessito saber como acesso e modifico a informação COLUMN-LABEL dentro de um BROWSE.
    Verifiquem que no exemplo abaixo algumas soluções já foram encontradas.

    tt traz o WIDGET dentro da FRAME.

    Espero ter sido claro na exposição da dúvida.

    Agradeço qualquer ajuda.

    Atila
    atila.cm@hotmail.com

    Código:
        DO  WHILE tt <> ?:
            /*--------------------------------------------------------------------*/
            /* Rotina de tradução                                                 */
            /*--------------------------------------------------------------------*/
            IF  l-idioma <> 0 THEN DO:
                /*----------------------------------------------------------------*/
                /* Trata Botões e Fill-in's                                       */
                /*----------------------------------------------------------------*/
                IF  tt:TYPE = "BUTTON" 
                OR  tt:TYPE = "FILL-IN" THEN DO:
                    FIND traducao
                        WHERE Traducao.txt-original = tt:LABEL
                        AND   traducao.cod-idioma   = l-idioma
                        NO-LOCK NO-ERROR.
                    IF  AVAIL traducao THEN DO:
                        IF  Traducao.txt-traduzido <> "" THEN DO:
                            ASSIGN tt:LABEL = Traducao.txt-traduzido.
                        END.
                    END.
                END.
                /*----------------------------------------------------------------*/
                /* Trata browse                                                   */
                /*----------------------------------------------------------------*/
                IF  tt:TYPE = "BROWSE" THEN DO:
                    
                    
                    MESSAGE tt:COLUMN
                        VIEW-AS ALERT-BOX INFO BUTTONS OK.
    
                END.
                /*----------------------------------------------------------------*/
                /* Trata RADIO-SET                                                */
                /*----------------------------------------------------------------*/
                IF  tt:TYPE = "RADIO-SET" THEN DO:
                    /*------------------------------------------------------------*/
                    /* verifica quantos entry's do literal devem ser traduzidos   */
                    /*------------------------------------------------------------*/
                    ASSIGN l-cont-entry = 0.
                    DO  l-cont-string = 1 TO LENGTH (tt:RADIO-BUTTONS):
                        IF  STRING (SUBSTRING (tt:RADIO-BUTTONS,l-cont-string,1)) = "," THEN DO:
                            ASSIGN l-cont-entry = l-cont-entry + 1.
                        END.
                    END.
                    ASSIGN l-cont-entry = l-cont-entry + 1.
                    /*------------------------------------------------------------*/
                    /* traduz os ENTRY"s impares do literal tt:RADIO-BUTTONS e    */
                    /* guarda em l-txt-aux que será o literal traduzido do RADIO  */
                    /*------------------------------------------------------------*/
                    ASSIGN l-txt-aux = "".
                    DO  l-cont-aux = 1 TO l-cont-entry:
                        FIND traducao
                            WHERE Traducao.txt-original = ENTRY (l-cont-aux, tt:RADIO-BUTTONS, ",")
                            AND   Traducao.cod-idioma   = l-idioma
                            NO-LOCK NO-ERROR.
                        IF  AVAIL midia.traducao THEN DO:
                            ASSIGN l-txt-aux = l-txt-aux 
                                             + Traducao.txt-traduzido 
                                             + ", "
                                             + STRING (l-cont-aux).
                        END.
                        ELSE DO:
                            ASSIGN l-txt-aux = l-txt-aux 
                                             + ENTRY (l-cont-aux, tt:RADIO-BUTTONS, ",") 
                                             + ", "
                                             + STRING (l-cont-aux).
                        END.
                        ASSIGN l-cont-aux = l-cont-aux + 1.
                        IF  l-cont-aux = l-cont-entry THEN DO:
                            LEAVE.
                        END.
                        ASSIGN l-txt-aux = l-txt-aux + ", ".
                    END.
                    ASSIGN tt:RADIO-BUTTONS = l-txt-aux.
                END.
            END.
            /*--------------------------------------------------------------------*/
            /*  fin da rotina de tradução                                         */
            /*--------------------------------------------------------------------*/
    
    
  2. atila.cm

    atila.cm Membro Participativo

    Senhore(a)s:

    Podem desconsiderar pois já encontrei a solução utilizando o FIRST-COLUMN e NEXT-COLUMN.

    Grato

    Atila
    atila.cm@hotmail.com

Compartilhe esta Página