![]() |
![]() |
| 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
|
|||
|
|||
|
Para cada papel, Qreport debe terner definido su nombre y sus dimensiones. Por ejemplo: A4 tiene por dimensiones 210 por 297 mm.
Además a cada papel, le asigna un numero o código que es el que le pasa a la impresora, para que esta lo utilice. En todo este proceso, estamos asumiendo que la impresora reconoce el tamaño de papel que queremos usar. Por eso, al principio, construimos un driver de impresora genérico y comprobamos, por medio de Word u otro procesador de texto, que funcionaba, esto es, que nuestra impresora reconocía ese tamaño. El problema esta en que no conocemos de antemano que codigo tiene ese tamaño de papel. En la pagina web de qsoft www.qusoft.com, puedes ver a la izquierda una columna con el titulo DIY Fixes. Pulsando te aparecen una serie de respuestas a problemas. Localiza "Adding new paper formats". Prácticamente te explica todo el proceso. Debes comenzar por bajarte el programa printercheck. Una vez descomprimido, te aparecerá PRDrive.exe. Esta utilidad, mediante llamadas al API de Windows te indica el codigo del papel que queremos usar. De paso, puedes leerte los fuentes y aprenderás mucho sobre el manejo de impresoras, etc. Lo recomiendo. Para el papel que hemos definido, llamado cheque, en mi impresora matricial y con el driver genérico/solo texto, obtuve el código 123. Naturalmente, este código variará en función de la impresora, driver y tipo de papel. Con este dato, ya podemos retocar los fuentes. Saludos. |
|
#2
|
|||
|
|||
|
No hace falta decir, que antes de retocar ningún fuente, debemos hacer unas buenas copias de seguridad por aquello de la Ley de Murphy.
Abrimos Delphi y cargamos el paquete qrpt70.bpl. Me estoy refiriendo a la versión de Delphi 7.0 y a Qreport Pro 3.6.2. Debo suponer, que será igual o muy parecido con otras versiones, pero yo no lo he hecho. Desde el cuadro package, cargamos qr3const.pas Al principio de la unidad podemos encontrar: Código PHP:
|
|
#3
|
|||
|
|||
|
Mas complejos son los cambios a realizar en la unidad QRPrntr.pas, pero también secillos.
Código PHP:
Posteriormente definimos esta constante: Código PHP:
Código PHP:
Código PHP:
Código PHP:
Recompilamos la libreria y la instalamos como de costumbre. |
|
#4
|
|||
|
|||
|
Si todo el trabajo se ha hecho bién, al diseñar un informe, usando la clase TQuickRep, en el inspector de objetos, en el apartado Page, podremos seleccionar el tamaño de papel definido por nosotros ( cheque en nuestro ejemplo).
Deberá tener las dimensiones definidas a nuestro gusto y además, un código que será entendido por nuestra impresora matricial. Con ello, ya podremos usar tamaños de papel definidos por el usuario. Saludos. |
|
#5
|
||||
|
||||
|
mi más sincera felicitación...!!!
una de las explicaciones mas simples y entendibles de las que he ledido aqui y en otros foros y sitios de programacion... siempre he lidiado con escribir directamente al puerto por que no le hallaba por donde atacar el problema... he llegado apenas a la definición del papel (excepcional por lo sencillo), y espero, el fin de semana completar los pasos y tener asi, la opcion de mejorar mis viejos y proximos proyectos... gracias por la ayuda.... |
|
#6
|
|||
|
|||
|
Hola que tal, soy Jorge y soy nuevo en este foro, mas bien nunca he estado en uno, soy mexicano y tengo un problema bastante serio.
Tengo un sistema que diario imprime hasta 1000 folios a 1/3 de carta y lo hacia bastante bien con QR y con la impresora en tamaño del papel CUSTOM, hasta que por necesidades de la empresa actualizan equipos y estos traen instalados XP, ahí mi problema, no puedo personalizar el tamaño del papel, me encontre con tu articulo y me parecio bastante logico y muy bueno, pero hice todo hasta que llegue a probarlo con word y no me funciono, configuro la pagina con un formato llamado ABONO que mide 1/2 carta y si me muestra ese tamaño en la pantalla, pero al momoemtnode mandar imprimir se salta hacia la otra hoja, no se detiene al finalizar el documento. saludos espero y puedas ayudarme. |
|
#7
|
|||
|
|||
|
Yo también me he encontrado a veces con el problema de que con el método que propones no lo he podido solucionar. Entonces la solución a pasado por retocar la configuración del tamaño del papel en la propia impresora a traves de los menús extraños que traen ellas mismas. Si tienes el tamaño predefinido en la impresora bien, si no, no hay solución...
__________________
Ánimos. |
|
#8
|
|||
|
|||
|
Cita:
Antes de seguir, deseo animarte porque lo que se expuse en este topic es cierto. Se puede con QReport y windows XP imprimir en el formato que desees. Por ello, debes estar haciendo algo mal y hay que descubrirlo. Si Word no para y sigue imprimiendo debes tener mal configurada la impresora. Pulsa Inicio, panel de control, Impresoras y otro hardware. Remarca la impresora genérica y con el boton derecho del mouse, vete a propiedades. Preferencias de impresión y en la pestaña papel/calidad, en origen del papel puedes seleccionar el comportamiento de la impresora: Alimentación continua:sin pausa o bien Alimentación continua:con pausa. Prueba con ello hasta conseguir lo que desees. Si no se soluciona el problema, repasa el metodo. Tiene que salir bién. Si es otro el problema, comunicalo de nuevo. Pero insisto, no es una teoría mas o menos linda. Tenemos varias aplicaciones y todas funcionan correctamente con diversos tamaños de papel. saludos |
|
#9
|
|||
|
|||
|
Como modificar los fuentes de Qreport
Eres la persona que mas domina este tema y mira que he luchado mucho con este problema hasta el punto que me siente desesperado.
Yo pude crear la impresora y el formulario con las medida que necesito, tambien lo probé en Word y todo funiciono perfecto. lo que no he podido hacer es retocar los fuentes de QReport. Si no es mucha molestia me podria explicar mejor como cargo el paquete qrpt70.bpl Nota: Uso delphi 7.0 y la version de Qreport que viene con este. Cita:
|
|
#10
|
|||
|
|||
|
Hola JODELSA:
Perdona el retraso en contestar, pero es que como ya dije tengo muy poco tiempo y mis entradas al foro suceden de tarde en tarde. Antes de seguir, recuerda que es necesario que tengas la versión profesional que es la que trae los fuentes. Normalmente los tendras en un subdirectorio de Delphi7. El nombre por defecto es quickrpt. Cargas Delphi, y ante de nada, borras todo lo que tengas. ( Menu File y luego Close All). Así se queda "limpio" el Ide de Delphi. Luego, otra vez con el mismo menu : File, Open y te dirijes al directorio quickrpt. Veras que los paquetes ( Packages) aparecen con iconos distintos. Para la version de Qreport 4 son QR4RunD7 y QR4DesignD7. Para la version 3 son qrpt70.bpl y dclqr70.bpl. Si remarcas el package qrpt70 ( y tienes los fuentes ) te aparecerá en una ventana Package qrpt70, las unidades y las que requiere. El aspecto es el clásico de un TreeView o arbol como el del explorador de windows. Otra vez doble click sobre el fuente que quieras retocar y despues de escribir el nuevo código, terminas dandole al menú install. Tu nuevo paquete retocado, habrá sustituido al antiguo. Acuerdate de sacar unas buenas copias de seguridad antes de empezar. Cualquier duda que tengas, me la comunicas y prometo contestarla antes de fin de año.Saludos. |
|
#11
|
|||
|
|||
|
Tengo con un cliente una impresora Epson LX-870 (el 70 no estoy muy seguro, pero no creo que se modifique mucho de una version de impresora a otra) , para las facturar uso un formato personalizado , en Windows 95-98 no tengo ninguna clase de problema, todo jala bien, en la maquina con XP defino el papel personalizado, lo pongo a que lo use en todas partes donde sale otro papel y no jala, el reporte sigue saliendo como tamaño carta (manda a imprimir un espacio en blanco despues de la impresion, y con esto ya no queda cerca del corte de la hoja) , yo uso en el quickreport el tamaño de papel CUSTOM , el tamaño del papel que voy a usar lo leo de un archivo INI , tengo Delphi 4 y la version 3.0.5 Standar de Quickreport (si vivo en el pasado lo se
) por lo que no tengo las fuentes para hacer los cambios que mencionan mas arriba, asi que mi pregunta es ¿existe alguna forma de hacerlo que funcione sin modificar las fuentes de quickreport? |
|
#12
|
|||
|
|||
|
nesesito ayuda para imprimir
oye nesesito una pequeña ayuda mira es que no se como imprimir en delphi tan solo serian unos campos en donde podria desplazarme facilmente para ingresar datos y luego imprimirlos no se si pasarlos a un dbgrid primeramente y despues imprimirlo pues ya que como me di cuenta desde el qreport se puede imprimir me darias una idea o me ayudarias por favor ya que vi que tu si te la sabes y pues seria chido que me ayudaras.. gracias
estare en contacto |
|
#13
|
||||
|
||||
|
Hola, Bienvenido a ClubDelphi, como a todos, te recomiendo leas la guia de estilo, te ayudará a redactar tus preguntas.
-En delphi, File New -> Other -> QReport -Necesitas un TQuery (TIBQuery, TMdoQuery, etc) para extraer los datos. -En el quickreport, tienes su propiedad Bands, pon a true en el inspector de objetos el HasDetail. - Enlaza el QuickReport con la query. -Añade varios qrDBText, configura el dataset y el FieldName - boton derecho y pulsa sobre Preview. Podrás ver los resultados. Si tienes dudas, abre un hilo nuevo, ya que aquí no va muy bien este tema. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#14
|
|||
|
|||
|
otra duda
oye no me funciono ese procedimiento porque no tengo tquery o los otros objetos que me señalaste tal vezs porque tengo deplhi 5.0 o nada que ver
espero respuesta |
|
#15
|
||||
|
||||
|
Como ya dije, tu duda no tiene nada que ver con impresoras matriciales, así que continuamos aquí. Por favor, responde en ese hilo.
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|