Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Copiar al portapapeles (https://www.clubdelphi.com/foros/showthread.php?t=37778)

johurgi 22-11-2006 17:57:01

Copiar al portapapeles
 
Hola a tod@s de nuevo.

Tengo un problema a la hora de copiar al portapapeles. Tengo una tabla paradox la cual posee memos formateados, que si intento poner directamente en algun componente de delphi se me muestran mal, y la unica solucion que he encontrado para hacerlo es copiar los datos al portapapeles y luego desde el portapapeles copiarlo al componente dbrichedit,richedit....de esta forma si que me mantiene el formato haciendolo a mano. Como podria automatizar este proceso.

Un saludo y gracias de antemano.

yusnerqui 22-11-2006 19:13:26

Hola, supongo que los memos están formatidos a rtf, si es así el dbrichtedti lo debería entender sin problemas, has probado este componente?

Si lo has hecho y no funciona debes dar más datos al respecto para que podámos ayudarte.

Saludos Yusnerqui

johurgi 22-11-2006 19:24:01

El problema reside en que los datos fueron metidos desde paradox, lo que hace que delphi no los lea bien, en el caso de que se inserten los datos desde delphi, con el dbrichedit y con el richedit se ve perfectamente.

Lo que quiero conseguir es leer de la tabla un campo memo formateado llevarlo directamente al portapapeles para que no me cambie el formato, y en una tabla auxiliar que me he creado escribir los datos ya actualizados. Ya que cuando te los llevas al portapapeles(ctrl-c directo sobre el campo de la tabla en paradox y ctrl-v sobre el componente de delphi)lo mantiene y actualiza.

yusnerqui 22-11-2006 19:29:03

Se me olvidaba, si lo que quieres es que de todas forma pase por el portapapeles, cosa que no creo sea lo más indicado, pues debes recurrir a la clase TClipboard que se encuentra en la unidad Clipbrd

saludos :)

yusnerqui 22-11-2006 19:47:48

También pudieras probar algo como esto aunque en este caso no doy fe de que funcione:

Código Delphi [-]
var
 Tex : TStringStream;
begin
 Tex:= TStringStream.Create(TuTabla.fieldByName('CampoMemo').AsString);
 try
   RichEdit1.Lines.LoadFromStream(Tex);
 finally
   Tex.free;
 end
end;

En fin son varis las pruebas que puedes hacer hasta tanto no aparezca una idea mejor.

Saludos


La franja horaria es GMT +2. Ahora son las 01:39:21.

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