Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-10-2006
antonio peña antonio peña is offline
Miembro
 
Registrado: sep 2006
Posts: 14
Poder: 0
antonio peña Va por buen camino
Thumbs down demasiado bruto o mucho cansancio

aqui voy de nuevo, he buscado en todos los lugares posibles darle solucion a una duda y si bien e encontrado muchas soluciones ninguna me ha ayudado.

tengo dos rich edit en uno tengo en cada linea un numero (0,1,2,...,n) estos numeros me los da el usuario, al presionar un boton quiero que en mi segundo richedit (donde tengo un texto predefinido)se pongan en color rojo todas la lineas que el usuario me puso en el richedit 1, mu duda es hacer eso

como decirle a x linea que se pinte de un color???

en verdad en probado de todo, gracias por su teimpo y respuestas
Responder Con Cita
  #2  
Antiguo 16-10-2006
mierda mierda is offline
Miembro
 
Registrado: may 2006
Posts: 129
Poder: 19
mierda Va por buen camino
prueba esto

hola que tal ... prueba esto

richeconversacion.selatributes.color := clred;
Responder Con Cita
  #3  
Antiguo 16-10-2006
antonio peña antonio peña is offline
Miembro
 
Registrado: sep 2006
Posts: 14
Poder: 0
antonio peña Va por buen camino
pero como indico la linea?

e visto como se cambia de color un texto que yo selecciono con el mouse, pero como le indico que la lina 2 se ponga en color rojo, es todo lo que pido, saber como decirle a rich 1 que la linea x se pointe de color rojo, de lo demas yo me encargo.

gracias de todos modos
Responder Con Cita
  #4  
Antiguo 16-10-2006
antonio peña antonio peña is offline
Miembro
 
Registrado: sep 2006
Posts: 14
Poder: 0
antonio peña Va por buen camino
no funciona RichEdit.SelStart( RichEdit.GetLineIndex(x) );

he encontrado este codigo

RichEdit.SelStar( RichEdit.GetLineIndex(x) );

lo modifique de esta forma por los errores que me marcaba
RichEdit.SelStart:= RichEdit.GetLineIndex(x) ;

pero me dice que getlineindex no esta definido como lo defino?
Responder Con Cita
  #5  
Antiguo 16-10-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola,

pues debes recorrer el richedit con un bucle, y para cada linea que debas colorear haces uso de las funciones SelStart y SelLenght y después cambias el color con el SelAttributes

Un ejemplo

Código Delphi [-]
var r : Integer;
     Linea : String;
begin
   for r := 0 to richedit2.Lines.count - 1 do begin
      Linea := richedit2.lines.strings[r];
      if  {condicion para que la linea se tenga que pintar} then begin
         richedit2.SelStart := Pos(Linea, RichEdit2.Text); //inicio de donde esta el texto a resalta, en este caso la linea entera
         richedit2.SelLength:=Length(Linea); //longitud del texto
         richedit2.SelAttributes.Color:=clred; //color
      end;
   end
end;

Espero te sirva.


Saludos
Responder Con Cita
  #6  
Antiguo 16-10-2006
antonio peña antonio peña is offline
Miembro
 
Registrado: sep 2006
Posts: 14
Poder: 0
antonio peña Va por buen camino
haber bicho!!!

parece que funciona mejor que muchos el problema es que siempre me colorea la linea 1, cual seria el problema?
Responder Con Cita
  #7  
Antiguo 16-10-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
¿Puedes poner una cacho de ése codigo que te da ese problema?, quizá podamos encotrar donde falla más fácilmente.

Saludos
Responder Con Cita
  #8  
Antiguo 16-10-2006
antonio peña antonio peña is offline
Miembro
 
Registrado: sep 2006
Posts: 14
Poder: 0
antonio peña Va por buen camino
Thumbs down

richedit1.SelStart := Pos(lin2, RichEdit1.Text); //lin2 es string y tiene el valor de la linea a resaltar

richedit1.SelLength:=Length(lin2); //longitud del texto

richedit1.SelAttributes.Color:=clred; //color

el problema es que siempre me colorea en rojo la primera linea y solo el primer caracter
Responder Con Cita
  #9  
Antiguo 16-10-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Pues a mí me funciona, lo único es que hay que poner lo siguiente en la primera linea

Código Delphi [-]
richedit1.SelStart := Pos(lin2, RichEdit1.Text) - 1;

Para que te coja todos los carácteres.
Y eso de que te coja siempre la misma linea, ¿haces un bucle y el valor de lin2, es siempre la linea actual del bucle?

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Borland nos quiere mucho Casimiro Notevi Noticias 33 05-09-2006 21:17:31
Tu coche dice mucho de tí Lepe La Taberna 8 26-05-2006 17:33:04
14 Mb de EXE ... mucho no ? ingel Varios 4 10-01-2005 23:38:01
Por que tarda mucho en abrir un EXE IcebergDelphi Varios 5 16-06-2004 11:05:28
Prueba de Cansancio obiwuan Humor 8 20-07-2003 16:20:04


La franja horaria es GMT +2. Ahora son las 13:53:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi