![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola Dexter182.
Creo que el problema radica en que llamas al TPrintDialog después de haber asignado valores de la impresora asignada. Ejemplo:
Te pongo este código (el tuyo con algunos cambios) para que lo pruebes:
Llamada de prueba:
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#2
|
||||
|
||||
|
¡Muchas gracias por contestar!
![]() Cita:
![]() Te comparto unas pruebas de impresión para que veas lo que me hace: https://www.dropbox.com/sh/b6kga2ki9ys5uey/3E3aklMxCQ Siempre me sigue tomando la impresora predeterminada para calcular el tamaño de hoja. Igual lo que más me está preocupando ahora es que la primera impresión hace una cosa y todas las siguientes son idénticas, pero diferentes a la primera. ![]() Sinceramente ya no se que hacer. Por si sirve de algo, estoy usando Delphi 7 en Windows XP. Agradezco enormemente tu tiempo. Saludos y gracias! ![]()
__________________
https://www.youtube.com/DexterBass |
|
#3
|
||||
|
||||
|
Hola Dexter182.
No sé que puede estar sucediendo... En mis pruebas luego de seleccionar el tamaño de hoja en el PrintDialog, queda determinado el alto y ancho correspondiente. Las pruebas las hice sobre Delphi 7, Windows 8 y PDFCreator. ¿ Has probado de visualizar los valores de alto y ancho luego de haber seleccionado el tipo de página ?, algo como: de ese modo podrías comprobar si el cambio del tamaño del papel que haces en opciones avanzadas queda asentado, en mi caso sí lo hace. Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#4
|
||||
|
||||
|
¡Gracias nuevamente ecfisa por responder!
![]() Cita:
Es decir, si elijo la otra impresora y luego defino el tamaño de hoja desde las propiedades, si me toma los cambios (me armé un "ShowMessage" para ir viendo los valores de PageHeight y PageWidth). Ahora, si solo elijo la impresora desde el PrintDialog pero no voy a Propiedades a definir la hoja, sigue tomando los valores de hoja definidos en la impresora predeterminada. Y lo que más me está haciendo renegar es que la primera impresión es diferente a todas las posteriores (en la primera impresión calcula mal la cantidad de renglones por hoja, no se por qué. Eso se aprecia en los archivos que subí a DropBox). Mis pruebas las hago sobre una HP LaserJet M1132 y una impresora de PDF llamada doPDF. Te agradezco enormemente la ayuda que me estás brindando. Saludos! ![]()
__________________
https://www.youtube.com/DexterBass |
|
#5
|
||||
|
||||
|
Cita:
![]() Cambié esto:
Por esto:
AltText es una constante que la definí en 48. Saludos! ![]()
__________________
https://www.youtube.com/DexterBass |
|
#6
|
||||
|
||||
|
Estaba pensando que pareciera que la única manera de hacer lo que quiero es armándome un diálogo (o un Form) de impresión propio, porque con un PrintDialog solo puedo definir variables antes de mostrarlo o después de darle clic al botón de Imprimir.
Yo necesito cambiar variables mientras se está ejecutando y de momento no se me ocurre como. ![]() Saludos! ![]()
__________________
https://www.youtube.com/DexterBass |
|
#7
|
||||
|
||||
|
Después de mucho, mucho tiempo, y porque quería hacerle varios cambios, volví a ponerme las pilas con solucionar de una manera más elegante varios de los problemas que tenía mi código de impresión.
Luego de leer bastante a través de este foro y varias páginas en Internet, pero por sobre todo luego de muchísimas pruebas, logré que funcione como yo quería. Finalmente decidí dejar de usar el PrintDialog y creé mi propio formulario de impresión, que consiste en un simple ComboBox para elegir la impresora y un pequeño GroupBox dónde están embebidos los componentes que me permiten decidir las opciones del intervalo de impresión. Por si le sirve a alguien, les dejo el código... Primero les paso el código de la parte que más dolores de cabeza me llevó hacer que funcione bien y tenga consistencia entre diferentes impresoras: el cálculo de cantidad de páginas. Este procedimiento lo llamo ni bien se abre el formulario de impresión y cada vez que el usuario cambia de impresora en el ComboBox:
Y finalmente el procedimiento Impresion, que es muy similar al código anterior, pero con unos pequeños cambios:
"AltRenglon", "CantRenglon" y "Paginas" son variables privadas del formulario del tipo Integer. Ahora solo me resta solucionar un "AccessViolation" que sucede solamente con una impresora HP compartida por red al mandar la orden de impresión y la PC se encuentra apagada. Espero no demorar tres años en solucionarlo. ![]() Saludos!
__________________
https://www.youtube.com/DexterBass |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Imprimiendo labels y facturas | principiante22 | Varios | 6 | 12-11-2008 21:27:31 |
| Problemas imprimiendo informes.. | Paradiso | Varios | 7 | 07-03-2008 18:56:57 |
| Mensaje Imprimiendo En Crystal | JULIOCTORRESG | Internet | 0 | 06-03-2007 20:49:43 |
| Problema imprimiendo con QuickReport 3.0 | gamez2809 | Impresión | 2 | 22-02-2007 11:21:05 |
| Imprimiendo un listbox....... | Rafe | Impresión | 1 | 09-08-2005 02:42:04 |
|