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 18-10-2011
Lizeth Lizeth is offline
Miembro
 
Registrado: ago 2005
Ubicación: Mexico D.F
Posts: 50
Poder: 19
Lizeth Va por buen camino
insertar texto en richedit con formato

Hola pues me declaro incompetente para esto, es algo tan sencillo pero no entiendo.

Tengo un richedit y una lista, cuando el usuario hace doble click en la lista se copia el texto del renglón de la lista al richedit, eso lo manejo así y funciona bien.

Código Delphi [-]
procedure MiForma.miRichEditExit(Sender: TObject);
begin
inherited;
    iPosMemo := miRichEdit.SelStart;
end;
procedure MiForma.ListaDblClick(Sender: TObject);
var sAntes, sDespues : string;
     iTope:integer;
     sValor : string;
begin
inherited;
  
    iTope := length(miRichEdit.Text) - iPosMemo;
   sAntes := copy(miRichEdit.Text,1,iPosMemo);
   sDespues := copy(miRichEdit.Text,iPosMemo+1,iTope);
   sValor := Lista.Selected.SubItems.Strings[0];
   miRichEdit.Text:= sAntes +' '+ sValor + ' ' +sDespues;
end;




El problema es que mi richedit tiene formato(negritas, cursiva etc) y al introducir el nuevo texto zas le quita el formato, lo entiendo porque pasa como texto plano, intente trabajar con TMemoryStream ja pero no entiendo. Si paso el texto de mirichedit a otro RichEdit1y se que se hace con:

Código Delphi [-]
var  Corriente: TMemoryStream; 
 try
   miRichEdit.Lines.SaveToStream(Corriente);
   Corriente.Seek(0,soFromBeginning);
   RichEdit1.Lines.LoadFromStream(Corriente);
 finally
   if Assigned(Corriente) then Corriente.Free;
 end;

Pero necesito copiar partes del richedit el antes y el despúes para poder introducir el texto de la lista pero al hacer un copyfrom aa me manda un erro de Stream read error
Empece copiando el antes, pero no funciona nadita.

Código Delphi [-]
var
   rich1, rich2:TMemoryStream;
begin
   rich1 := TMemoryStream.Create;
   rich2 := TMemoryStream.Create;
   rchePlant.Lines.SaveToStream(rich1);
   rich2.CopyFrom(rich1,rich1.Size - iPosMemo); //iPosMemo lo lleno al salir del richedit
   RichEdit1.Lines.LoadFromStream(rich2);
end;

Se que tengo que usar el seek pero ni siquiera entiendo como funciona ni sus parámetros, ya busque en la ayuda y me deja igual.

Alguien me podría ayudar, se que es algo simple pero no entiendo, o tal vez mi idea de como hacerlo es erronea.

Gracias
Responder Con Cita
  #2  
Antiguo 18-10-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Hola Lizeth!

Estás mesclando muchas ideas en tu mensaje, por lo que lo que realemente deseas queda confuso. Pero según entendí leyendo bien tu mensaje es agregar al cursor el texto que está en un ListBox manteniendo el formato del párrafo dónde valla a quedar insertado el nuevo texto.

Veo que tu código estás complicándote las cosa un poco. Hasta dónde recuerdo en mis trabajos con este componente, lo que deseas hacer es algo relativamente sencillo. Creo que bastaría con un código así:

Código Delphi [-]
procedure MiForma.ListaDblClick(Sender: TObject);
var 
    sValor: string;
begin
inherited;
    sValor := Lista.Selected.SubItems.Strings[0];
    with MiRichEdit do
    begin
        SelLength := 0; // si quieres reemplazar todo el texto
                        // seleccionado, quita esta línea del código.
        SelText :=  sValor;
    end;
end;

Como verás, las demás variables no son necesarias y mucho menos recordar la posición del cursor cuando el control pierde el foco. La propiedad SelText se encarga de todo lo que estabas intentando hacer y respetará el formato del párrafo. Vale mencionar que estabas perdiendo el formato porque lo que realmente hacías es eliminar todo el texto del RichEdit y reemplazándolo por un texto plano.

Saludos,
Chris.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 19-10-2011
Lizeth Lizeth is offline
Miembro
 
Registrado: ago 2005
Ubicación: Mexico D.F
Posts: 50
Poder: 19
Lizeth Va por buen camino
Chris como diría mi jefe, casi se me caen los chones jijiji.

Funciona perfecto, no lo puedo creer, algo tan simple. Yo lo estaba complicando.

Muchisimas gracias en donde quiera que estes y te mando un beso en agradecimiento.

Graaaaaaaaaaaaaaaaaaaaaaaaaacias.
Responder Con Cita
  #4  
Antiguo 19-10-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
y que cosa son chones???
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 19-10-2011
Avatar de cubanbaker
cubanbaker cubanbaker is offline
Miembro
NULL
 
Registrado: ago 2011
Ubicación: La Habana, Cuba
Posts: 65
Poder: 0
cubanbaker cantidad desconocida en este momento
Oscar, tendremos que ir a Mexico para averiguarlo...
Responder Con Cita
  #6  
Antiguo 19-10-2011
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
Cita:
y que cosa son chones???
Cita:
Oscar, tendremos que ir a Mexico para averiguarlo...
Según google chones es esto.

De ser así, yo creo que Chris no es conciente del potencial efecto de sus respuestas, vamos a tener que pedirle que se modere con ellas...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 19-10-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
De ser así, yo creo que Chris no es conciente del potencial efecto de sus respuestas, vamos a tener que pedirle que se modere con ellas...
No entendí

Y todavía no sé que son "chontes"
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #8  
Antiguo 19-10-2011
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
Cita:
Empezado por Chris Ver Mensaje
No entendí

Y todavía no sé que son "chontes"
Es que no son "chontes", son "chones" !!!

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 19-10-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Es que no son "chontes", son "chones" !!!
JAJAJAJAJA oook!
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
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
Códigos de formato RichEdit. Tonio Varios 3 10-06-2011 14:25:25
texto con formato en richedit voldemmor Varios 4 27-01-2011 19:38:46
Grabar richedit con formato en firebird chelard SQL 3 13-11-2009 15:43:01
Grabar un RichEdit con formato en SQL Server josejm SQL 3 25-03-2008 15:11:48
Insertar en el RichEdit!!! acertij022 Varios 2 12-10-2004 03:08:19


La franja horaria es GMT +2. Ahora son las 06:47:29.


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