daniel_halon Posted September 3, 2014 Report Share Posted September 3, 2014 Olá amigos, to quebrando a cuca para fazer algo que deve ser simples porem não consigo. Em um texto que utilizo em um Get when .F. se apresenta assim: CAL/COR/POR/LOM, cada cojunto de letras separadas pela barra deve aparecer em uma cor diferente para ressaltar o texto, por exemplo: CAL/COR/POR/LOM, Utilizo a Vget do Vagner. Alguem tem uma idea de como fazer oItens[1][m_cont,3]:nClrFore := CLR_VERMELHO Isto troca todo o texto mas como fazer o exemplo anterior? Quote Link to comment Share on other sites More sharing options...
Marca Posted September 4, 2014 Report Share Posted September 4, 2014 Olá Daniel , Acredito que vc terá que desmbrar este seu get ou usando o proprio get ou um say digo Redefine SAY OU Get oItens[1][m_cont,3]:nClrFore := CLR_VERMELHORedefine SAY OU Get oItens[2][m_cont,3]:nClrFore := CLR_BLACKRedefine SAY OU Get oItens[3][m_cont,3]:nClrFore := CLR_AZULRedefine SAY OU Get oItens[4][m_cont,3]:nClrFore := CLR_ROSADireto em um unico get acredito que não exista como. Quote Link to comment Share on other sites More sharing options...
daniel_halon Posted September 4, 2014 Author Report Share Posted September 4, 2014 A ideia até que e boa, só não sei como implantar no sistema, já que o mesmo get pode ser usado para conformar sabores de pizza como no exemplo acima ou codigos como ser borda recheada ou coca cola 2lts, como ficariam os 4 gets separados? Quote Link to comment Share on other sites More sharing options...
SAOliveira Posted September 5, 2014 Report Share Posted September 5, 2014 Se entendi direito: REDEFINE oGet1 VAR get1 PICTURE "@!k" ID 4001 OF oDlg FONT sua_font COLOR sua_cor1,sua_cor2 UPDATE ai você validaria a cor numa função. Static Function ValidarCor() IF(condicao1) oGet1:SetColor(vermelho,branco) ElseIf(condicaoe) oGet1:SetColor(azul,amarelo) ... ENDIF oGet1:refresh() Return(.t.) Quote Link to comment Share on other sites More sharing options...
vagner Posted September 5, 2014 Report Share Posted September 5, 2014 Olá, Talvez somente com o Format Get, vc conseguirá isso. \Samples\TestFGet.Prg Quote Link to comment Share on other sites More sharing options...
daniel_halon Posted September 9, 2014 Author Report Share Posted September 9, 2014 Olá Vagner, este exemplo e difícil de entender para mim e por outro lado perderia a opção de usar a vGet Quote Link to comment Share on other sites More sharing options...
daniel_halon Posted September 9, 2014 Author Report Share Posted September 9, 2014 Obrigado por responder Sergio, mas o exemplo que que postaste troca a cor de toda a linha do get e eu pretendo trocar a cor de determinadas letras do texto, pelo que vejo e complicado demais. Quote Link to comment Share on other sites More sharing options...
marcioe Posted September 9, 2014 Report Share Posted September 9, 2014 Acredito que o amigo quer usar é algo parecido com SCREENMARK("<ENTER>",&TCOR6,.F.,.T.) do antigo clipper-DOS http://www.ousob.com/ng/tools1-3/ng81ee2.php Não Sei dizer se tem algo similar a isso. Quote Link to comment Share on other sites More sharing options...
daniel_halon Posted September 9, 2014 Author Report Share Posted September 9, 2014 Marcelo, tua ideia e boa mas complicada demais, imagina que estou pegando um pedido pelo telefone em uma pizzaria onde digito o codigo do produto e a descrição do mesmo vai automaticamente nesse get do qual estamos falando, por exemplo: digito CO2 e a descrição é 'COCA COLA 2 LITROS', até ai tudo bem , mas quando o cliente que colocar varios sabores na pizza o operador digita ZZG o sistema reconhece este código como pizza e a traves de 4 gets vai digitando os codigos dos sabores da pizza, exemplo: CAL/POR/FRA, na hora de terminar de formar os três sabores, no get em questão aparece a soma de todos os três gets dos sabores com a barra de separação entre eles, é ai onde deve aparecer cada codigo diferente de sabor de pizzas com cores diferentes, assim: CAL/POR/FRA estes dados estão em um Get com a opção When .F. Para o cliente parece simples demais mas eu to queimando varios neuronios e por default tenho poucos... Quote Link to comment Share on other sites More sharing options...
marcioe Posted September 9, 2014 Report Share Posted September 9, 2014 Posta a tela e pinta ela no paint pro pessoal entender melhor o que deseja. Quote Link to comment Share on other sites More sharing options...
daniel_halon Posted September 9, 2014 Author Report Share Posted September 9, 2014 Neste link esta a tela onde capturo os dados https://www.dropbox.com/s/vpp483bqgxz3gxd/Captura%20de%20tela%202014-09-08%2022.20.58.png?dl=0 Quote Link to comment Share on other sites More sharing options...
daniel_halon Posted September 9, 2014 Author Report Share Posted September 9, 2014 Neste link da pra ver melhor a tela https://www.dropbox.com/s/f39yl3bjkp9rkh9/Captura%20de%20tela%202014-09-08%2022.41.19.png?dl=0 Quote Link to comment Share on other sites More sharing options...
SAOliveira Posted September 9, 2014 Report Share Posted September 9, 2014 Experimenta postar no fórum inter, tem um membro lá que é maluco por cores. Quem sabe. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 9, 2014 Report Share Posted September 9, 2014 Deixa eu ver se entendi o que queres, tens a DESCRIÇÃO DO PRODUTO e queres DIVIDIR em 3 GETS diferentes, com cores diferentes, é isto? e when .F. ? Talvez, somente a alterando a VGET.PRG no METHOD Paint() quando o When .F. abs. Quote Link to comment Share on other sites More sharing options...
daniel_halon Posted September 9, 2014 Author Report Share Posted September 9, 2014 Mais o menos Kapi, ao pedir a pizza o cliente, ele escolhe 2, 3, ou 4 sabores na mesma o sistema abre uma tela com 4 gets, pode ser usado no maximo 4 sabores ou codigos, a soma destes 4 gets get1+'/'+get2+'/'+get3+'/'+get4 e colocado juntos em um array que contem codigo, descrição, valor e quantidade, estes dados são inseridos na DESCRIÇÃO como texto. Ao querer vizualizar o campo descrição deve aparecer os códigos(sabores) conformados na pizza com cor diferente, cada vez que aparece um barra '/' o proximo codigo deve mudar de cor. Deu pra entender algo?. na imagem que postei no link podes ver a dialog onde estou inserindo os codigos e no fundo da tela os codigos já inseridos anteriormente referentes a outra pizza. Quote Link to comment Share on other sites More sharing options...
daniel_halon Posted September 9, 2014 Author Report Share Posted September 9, 2014 Vou tentar ser mais explicito: *1 REDEFINE Vget oItens[1][01,1] VAR aItens[1][01,1] ID 2001 OF oDlg when .f. //Readonly REDEFINE Vget oItens[1][01,3] VAR aItens[1][01,3] ID 4001 OF oDlg when .f. //Readonly REDEFINE Vget oItens[1][01,4] VAR aItens[1][01,4] ID 5001 OF oDlg when .f. //Picture '999' Readonly REDEFINE Vget oItens[1][01,6] VAR aItens[1][01,6] ID 7001 OF oDlg Picture '999,999.99' when .f. //Readonly *oItens[1][01,3]:nClrFore := CLR_VERMELHO aItens[1][01,1] tem dentro a descripção dos sabores exemplo: CAL/STR/LOM/POR eu pretendo mostrar no REDEFINE assim: CAL/STR/LOM/POR, segundo o cliente desta forma o funcionario que monta os sabores das pizzas cometeriam menos erros já que fica bem ressaltado cada codigo que neste caso e: CAL = Calabresa, STR = Strogonoff, LOM = Lombo, POR = Portuguesa, o pior e que ele acha que esta pedindo uma coisa muito simples. Quote Link to comment Share on other sites More sharing options...
daniel_halon Posted September 9, 2014 Author Report Share Posted September 9, 2014 Kapi deixa explicar porque When .F. Estou usando a Vget do Vagner com REDEFINE VGET, acontece que ele não disponibilizou o REDEFINE SAY, então a melhor forma de usar e que fique Bonito(como eu) foi colocar um when .f. desta forma parece um Say Quote Link to comment Share on other sites More sharing options...
Theotokos Posted September 9, 2014 Report Share Posted September 9, 2014 porque vc não faz mesmo REDEFINE SAY, ai vc monta cada parte da descrição com as cores que quiser? REDEFINE SAY oSay1 TEXT "texto 1" COLORS CLR_RED REDEFINE SAY oSay2 TEXT "texto 2" COLORS CLR_BLUE REDEFINE SAY oSay3 TEXT "texto 3" COLORS CLR_YELLOW REDEFINE SAY oSay4 TEXT "texto 4" COLORS CLR_CYAN Quote Link to comment Share on other sites More sharing options...
aferra Posted September 10, 2014 Report Share Posted September 10, 2014 Acredito que vc vai ter o controle necessário se der uma olhada na classe TFGet, veja em samples\testfget.prg é o que vc quer.... Quote Link to comment Share on other sites More sharing options...
aferra Posted September 10, 2014 Report Share Posted September 10, 2014 a Testfge2.prg vc vai entender melhor ainda como fazer o que precisa, gostei disso, nunca tinha mexido com essa classe, legal. Quote Link to comment Share on other sites More sharing options...
daniel_halon Posted September 11, 2014 Author Report Share Posted September 11, 2014 Vou dar uma pesquisada nesse exemplo, obrigado Alessandro Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.