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

 
 
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
 



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 03:50:13.


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