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 */ /*--------------------------------------------------------------------*/
Senhore(a)s: Podem desconsiderar pois já encontrei a solução utilizando o FIRST-COLUMN e NEXT-COLUMN. Grato Atila atila.cm@hotmail.com