Page 1 of 1

Cambiar el color de letras en texto

Posted: Thu Sep 04, 2014 1:10 am
by daniel_halon
Hola amigos, preciso de ayuda para resolver esto.
Tengo el siguiente texto en un Get When .F. CAL/LOM/STR/POR, son codigos separados por una barra y para que quede mas facil de visulizar el cliente me pidio que cada conjunto de letras separadas por la barra sean de un color diferente, por ejemplo CAL en rojo, LOM en azul etc.
Alguien tiene alguna idea de como hacerlo?

Re: Cambiar el color de letras en texto

Posted: Thu Sep 04, 2014 1:41 am
by cuatecatl82
daniel_halon:

Se me ocurre algo muy simple para lo que solicitas siempre y cuando el texto a mostrar se componga como lo indicas:

Puedes usar 4 gets independientes uno para cada variable y 3 say para separar con "/", armalo lo más junto posible en tu editor de forma que quedecomo si fuera un solo control:

Image

Solo una idea..

saludos..

Re: Cambiar el color de letras en texto

Posted: Thu Sep 04, 2014 7:52 am
by Baxajaun
Daniel,

mira si puedes adaptar el código que colocó aquí Paco García:

http://forums.fivetechsupport.com/viewt ... =6&t=29031

Saludos

Re: Cambiar el color de letras en texto

Posted: Thu Sep 04, 2014 8:56 pm
by daniel_halon
Voy a ver como puedo adaptar el programa de Paco o tal vez me incline por poner el texto en un array, desde ya gracias a todos.

Re: Cambiar el color de letras en texto

Posted: Tue Sep 09, 2014 2:58 pm
by daniel_halon
Amigos, no he conseguido todavia hacer lo que me pide el cliente
Imaginen que estoy tomando un pedido por telefono en una pizzaria donde digito el codigo del produto y la descripcion del mismo va automaticamente en el get del qual estamos hablando, por ejemplo: digito CO2 y la descripcion es 'COCA COLA 2 LITROS', hasta ahi todo bien , pero cuando el cliente quiere colocar varios sabores en la pizza el operador digita ZZG asi el sistema reconoce este código como pizza y a traves de 4 gets va digitando los codigos de los sabores de la pizza, ejemplo: CAL/POR/FRA, en la momento de terminar de formatar los tres sabores, en el get en question aparece la suma de todos los tres o cuatro gets con los sabores con la barra de separação entre ellos, es ahi donde deve aparecer cada codigo diferente del sabor de las pizzas en colores diferentes, asi: CAL/POR/FRA estes datos estan en un Get con la opcion When .F. Para el cliente parece simples demas pero no consigo hacerlo.

Vean abajo la pantalla para dar una idea
[img]https://www.dropbox.....41.19.png?dl=0[/img]
https://www.dropbox.....41.19.png?dl=0

Re: Cambiar el color de letras en texto

Posted: Tue Sep 09, 2014 6:31 pm
by antolin
Daniel, me parece que la única solución va a ser crear una nueva clase TGET. Copia la antigua, cámbiale el nombre y después modifícala.

Supongo que tendrás que cambiar el método PAINT para que te escriba en diferentes colores. Tendrás que añadir un array bidimensional con los posibles códigos y colores asociados, y en el PAINT comprobar con ASCAN si se ha escrito alguno de los códigos del array. Para pintarlos te aconsejo DRAWTEXT y medir lo que ocupa cada código con GETTEXTWIDTH.

Otra solución sería modificar el método KEYCHAR para identificar los códigos durante la construcción del CAPTION, y podrías añadir un código oculto entre cada código. Por ejemplo #1CAL/#5LOM/#2POR, y en el PAINT pintar CAL con el color 1 del array, LOM con el color 5 y POR con el 2.

De todas formas te vas a tener que calentar la cabeza.

Suerte

Re: Cambiar el color de letras en texto

Posted: Tue Sep 09, 2014 7:20 pm
by daniel_halon

Re: Cambiar el color de letras en texto

Posted: Tue Sep 09, 2014 7:24 pm
by daniel_halon
Es verdad Antolin, es mas, no se si vale la pena todo ese trabajo para agradar un cliente con algo que me parece que no es tan indispensable, de todas maneras muchas gracias. Abrazos