Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Impresión de una ficha con TRichEdit entre otros (https://www.clubdelphi.com/foros/showthread.php?t=44070)

Pernorak 28-05-2007 12:19:09

Impresión de una ficha con TRichEdit entre otros
 
Hola, soy nuevo aqui espero poder ayudarles y que ustedes lo puedan conmigo. Sin más comienzo con la descripción de mi problema:
-PROBLEMA: Tengo una ficha que contiene varios controles TEdit, TRichEdit, etc.. y algunos gráficos (TImage) y quiero imprimirla

INTENTOS REALIZADOS:
1º) He usado el método
Print() con el que cuenta la ficha, pero al imprimir no se muestra el contenido de los controles TRichEdit.
2º) He probado a usar el método Print() del TRichEdit junto con el anterior, pero lo que hace es imprimir la ficha con los TRichEdit vacios, y a continuación, en una hoja distinta el contenido del TRichEdit.

- Estoy con el Proyecto Fin de Carrera, y despues de hacer todo el programa, este escollo me tiene retenido, les agradecería si me pudiesen echar una mano.
1 Saludo desde Almería

Lepe 28-05-2007 21:34:57

De momento no se me ocurre una forma rápido de implementarlo.

Quizás esto te sirva: Quickreports OnneedData

Sería bueno saber qué versión de Delphi usas, si los datos proceden de una Base de datos, qué tipo de base de datos, etc.

Saludos

Pernorak 29-05-2007 10:56:31

Pues te comento los detalles:
- Estoy trabajando con Builder C++ 5.0.
- No estoy usando base de datos alguna.
- La interfaz que uso consiste en una Form, que contiene varios controles: Edit, Label, RichEdit e Image..
- En tiempo de ejecución es el usuario de la aplicación el que debe rellenar el contenido de los controles.
- Una de las opciones que tiene el usuario es imprimir esa Form: Expediente. Si no la Form, sí sus datos (el contenido de los controles), entre ellos dos gráficos. Y el problema es lo que comentaba en mi anterior escrito: Que usando el método Print() que posee la Form, lo imprime todo menos el contenido de los controles RichEdit (el texto), y por desgracia, no se puede compaginar (o yo no sé) dicho método con el método Print() que poseen los controles RichEdit, el cual permite imprimir su contenido adecuadamente.

- Llegados a este punto, lo que trato de buscar es algún camino alternativo para conseguir imprimir el Expediente. Agradecería cualquier tipo de información, idea, bibliografía, lo que sea. Tengo el Proyecto Fin de Carrera prácticamente acabado, y lo que me detiene (ya llevo 7 dias), es la dichosa impresión del documento.

1 Saludo y gracias por tu intervención Lepe. ;)

Pernorak 30-05-2007 12:59:21

:) Despues de mucho currar y pensar en caminos alternativos, he logrado la impresión de una Form con controles RichEdit (entre otros..) de la siguiente manera:

1ª) Crear una imagen de la ficha que pretendes imprimir. Lo que he hecho es copiar mi ficha de la Aplicación en otra, cambiar su color de fondo a Blanco, quitar efectos de 3d de algunos controles, etc.. vamos en definitiva lo que he considerado necesario para que la copia de esta form sea lo que yo quiero que se imprima.

2º) Impresión de la ficha que he preparado: Como la función Print() fallaba me ingenié el siguiente camino alternativo:
2.1.- Crear una imagen de la ficha (Bitmap)-> Ver un hilo que abrí a tal efecto.
2.2.- Crear una tercera ficha en la que se incluya un control Image que ocupe todo el area cliente de la nueva ficha
2.3.- Cargar en dicho control el Bitmap
2.4.- Imprimir esta tercera ficha usando la función Print():
Form3->Print();

Os puedo asegurar que funciona. :cool:

Nota: Yo en vez de usar el Bitmap directamente, lo que hago es guardarlo en un fichero.bmp, luego para cargar el fichero en el control image uso:
Form3->Image->Picture->LoadFromFile("C:\ImagenForm2.bmp");
Pero es mejor cargar directamente el Bitmap en el control Image, ahorrándote el proceso de guarda/carga en fichero.bmp. Estoy estudiando como hacerlo.

Pd-> Agradecimientos a todos aquellos que han hecho posible que siga avanzando con el proyecto.
1 Saludo.

Pernorak 30-05-2007 13:54:59

Hola de nuevo, ya se como se introduce un bitmap en un control Image:
Form3->Image->Picture->Bitmap->Assign(Bitmap);

1 Saludo.;)


La franja horaria es GMT +2. Ahora son las 22:01:31.

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