PDA

Ver la Versión Completa : Copiar el texto de un RichEdit


soul6301
30-08-2004, 02:41:06
Hola:

¿Cómo puedo copiar el texto de un RichEdit a otro RichEdit manteniendo las características de formato del texto del primer RichEdit? Es decir, que el formato asignado a ciertos caracteres no pierda cundo haga la transferencia.

Gracias.

soul6301
04-09-2004, 19:09:16
¿Existe alguna forma?

Gracias.

roman
04-09-2004, 22:23:30
Hay varias formas.

Una muy sencilla es usando el método CopyToClipboard del primer RichEdit y PasteFromClipboard del segundo.

Si quieres copiar todo el contenido del primer RichEdit y/o reemplazar todo el texto del segundo usas el método SelectAll de uno u otro control.

Este método usando el portapapeles puede no ser muy conveniente ya que visualmente se selecciona el texto.

Otra manera de hacerlo es a través de un Stream:


var
Stream: TStringStream;

begin
Stream := TStringStream.Create('');

try
RichEdit1.Lines.SaveToStream(Stream);

Stream.Seek(0, soFromBeginning);
RichEdit2.Lines.LoadFromStream(Stream);
finally
Stream.Free;
end;
end;


// Saludos

soul6301
04-09-2004, 23:05:07
Muchas gracias. En realidad quería evitar lo del portapapeles, usaré la última alternativa que me das... jamás había escuchado de los "stream".

roman
04-09-2004, 23:11:13
jamás había escuchado de los "stream".

Y por cierto, si deseas guardar el contenido de un RichEdit en un archivo deberás también usar streams pero en este caso TFileStream.

// Saludos

darkerbyte
11-11-2005, 03:31:24
Hola, yo tambien tenia esa duda, pero yo necesito solo copiar una linea, la n-esima linea. Intente hacerlo con el copy y el paste, pero no conozco la posicion inicial y final, solo el numero de linea que quiero copiar ¿alguna idea? ¿podrìas ayudarme?