Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-02-2013
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Añadir el contenido de un TRichEdit a otro.

Buena tarde, jóvenes Delphineros.

Resulta que tengo VARIOS TRichEdit (bueno, en realidad, son componentes comprados que se comportan como un TRichEdit) y deseo AÑADIR el contenido de ellos y resumirlos en un componente que se encargará de imprimir y demás.

Tengo éste código, que COPIA y SUSTITUYE el contenido del RichEdit destino, pero ELIMINA el contenido anterior, el cual NECESITO conservar.

Código Delphi [-]
procedure Tform.CopiaRTF(RTFFuente,RTFDestino: TwwDBRichEdit);
var
   msVector: TMemoryStream;
begin
   msVector := TMemoryStream.Create;
   try
      RTFFuente.Lines.SaveToStream(msVector);
      msVector.Seek(0,soFromBeginning);
      RTFDestino.Lines.LoadFromStream(msVector);
   finally
      if Assigned(msVector) then
         msVector.Free;
   end;
end;

¿Alguna idea que me ayude? Tengo casi todo listo, pero el tema de "añadir" me tiene vuelto loco...
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #2  
Antiguo 22-02-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y no te vale algo simple como esto?:

Código Delphi [-]
reFinal.text := reFinal.Text + reUno.Text + reDos.Text + reTres.Text;
Responder Con Cita
  #3  
Antiguo 22-02-2013
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Y no te vale algo simple como esto?:

Código Delphi [-]
reFinal.text := reFinal.Text + reUno.Text + reDos.Text + reTres.Text;
No, Casi (¡¡BUEN AMIGO, NO ME TOCÓ "RECORDATORIO"!!), por que los demás TRichEdit o similares contienen formato y la idea es CONSERVAR el formato (negrillas, itálicas, subrayado), que si copio el texto "crudo" se perderían...
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #4  
Antiguo 22-02-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Precisamente, si copias el "texto crudo" se copia todo, ¿no?.
Que conste que no lo he probado, pero es por lógica.
Responder Con Cita
  #5  
Antiguo 22-02-2013
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 16
TOPX Va camino a la fama
Cita:
Empezado por tiammat Ver Mensaje
la idea es CONSERVAR el formato (negrillas, itálicas, subrayado)
Buenas tardes,

De pronto algo del código de las siguientes publicaciones le dé una idea:-
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #6  
Antiguo 22-02-2013
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Precisamente, si copias el "texto crudo" se copia todo, ¿no?.
Que conste que no lo he probado, pero es por lógica.
No, Casimiro..., sólo se copia el texto, no los caracteres de control...
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #7  
Antiguo 22-02-2013
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Cita:
Empezado por TOPX Ver Mensaje
Buenas tardes,

De pronto algo del código de las siguientes publicaciones le dé una idea:-
Concatenar los streams no me sirve (al menos, para éste caso) por que se añaden datos en diferentes momentos de la aplicación...

... y el otro ejemplo, es como un avión caza ruso (¡así de complicado! ) pero con un poco de tiempo creo poder hacer algo que sea útil..., gracias.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #8  
Antiguo 22-02-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por tiammat Ver Mensaje
No, Casimiro..., sólo se copia el texto, no los caracteres de control...
¿Y esos caracteres de control no están en el .Text?, ¿dónde están?
Es por curiosidad.
Responder Con Cita
  #9  
Antiguo 23-02-2013
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Y esos caracteres de control no están en el .Text?, ¿dónde están?
Es por curiosidad.
Son parte del texto, pero son los que "embellecen" el RichEdit. Por ejemplo, yo tengo éste procedimiento...

Código Delphi [-]
procedure Tform.FormateaTextoRTF(sTexto1,sTexto2: string;iTipo: Integer;Destino:TwwDBRichEdit);
begin
   with Destino do
   begin
      SelStart := GetTextLen;
      case iTipo of
         0 : begin
                SelAttributes.Size := 12;
                SelAttributes.Style := [fsBold];
                SelAttributes.Color := clNavy;
             end;
         1 : begin
                SelAttributes.Size := 10;
                SelAttributes.Style := [fsBold];
                SelAttributes.Color := clNavy;
             end;
         2 : begin
                SelAttributes.Size := 9;
                SelAttributes.Style := [fsBold];
                SelAttributes.Color := clWindowText;
             end;
         3 : begin
                SelAttributes.Size := 8;
                SelAttributes.Style := [fsBold];
                SelAttributes.Color := clWindowText;
             end;
      end;
      SelText := sTexto1;
      SelAttributes.Size := 8;
      SelAttributes.Style := [];
      SelAttributes.Color := clWindowText;
      if Trim(sTexto2) > '' then
         SelText := sTexto2;
      SelText := CRLF;
   end;
end;

Si te das cuenta, primero le da formato al texto Y DESPUÉS lo escribe. Éstos caracteres de control son los que no alcanza a copiar el .Text de un RichEdit a otro...
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #10  
Antiguo 23-02-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No me había dado cuenta que no estás usando "plaintext" sino "rtf".

Echa un vistazo a este hilo y a este otro.
Responder Con Cita
  #11  
Antiguo 23-02-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola tiammat.

Revisa también este código de Zarko Gajic Append or Insert RTF from one RichEdit to Another, y aunque esta mas complicado que ponerle pantalón a un pulpo, con TRichEdit funciona.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Vaciar contenido dataset a otro TaaDow SQL 12 22-09-2010 21:40:10
Leer pdf y cargar contenido en TRichEdit nena_yei OOP 4 15-07-2010 17:28:23
Copiar el texto de un TRichEdit a otro dec Trucos 0 02-07-2006 00:34:27
graficar el contenido de un TRichEdit ber Gráficos 2 22-11-2005 21:39:51
Como añadir el contenido de una tabla a otra maravert Tablas planas 2 16-10-2005 04:04:40


La franja horaria es GMT +2. Ahora son las 02:14:53.


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