Page 1 of 1

PARECE QUE NADIEN TRABAJA CON TPRINTER

Posted: Tue Apr 18, 2006 1:17 pm
by jbrita
CREO Q NADIEN EN ESTE FORO TRABAJA CON TPRINTER COMO NO HAY RESPUESTA PARA TRABAJAR CON PAPEL,CONTINUO EN IMPRESORA MATRICIALES. EL PROBLEMA ES EL SALTO DE PAPEL COMO LO COMENTA OTRO COLEGA EN EL FORO.
ESTO LO COMECTO OTRO COLEGA TAMBIEN:

Impresion en forma continua, impresor de matrices

- Uso de la clase TPrinter (....si, ya se, deberia utilizar la tDosPrn, pero es necesario en este caso, pues hay impresion de unos aspectos gráficos).

El lío ocurre con el salto de papel, pues el formulario de impresion no es tamaño carta (es más pequeño), y al hacer un ENDPAGE se sale una pagina tamaño carta.

En otra pregunta ya realizada a este respecto, Antonio sugiere utilizar la funcion PrnSetSize() antes de declarar el objeto TPrinter..... pero no me funciona!!!

SALUDOS

Posted: Tue Apr 18, 2006 5:15 pm
by Antonio Linares
Que versión y build de FWH usas ?

Posted: Tue Apr 18, 2006 7:52 pm
by Lautaro
Hola,

Lo que pasa es que es el windows el que controla el salto de pagina segun el tamaño de hoja que tengas informado en la configuracion de la impresora, a menos que le digas que tiene otro tamaño del pagina y eso lo haces con el PrnSetSize() que si no me equivoco es un metodo de tprinter.


Atte,
Lautaro

Posted: Wed Apr 19, 2006 8:31 am
by manuramos
Quizá tengas que averiguar cuales son las secuencias de escape de tu impresora y mandarselas, vía PrinterEsc(), nada más definir el TPRINTER.

Intenta mandar, primero, la secuencia de inicialización. Muchas veces es CHR(27)+"@" o algo así. Después, la de tamaño de pagina. Algo similar a CHR(27)+CHR(67)+CHR('cantidad de líneas'). En la documentacion de tu impresora debería venir.

Antes de terminar la impresión, deberás recuperar el tamaño de página: CHR(27)+CHR(67)+CHR('cantidad original de líneas').

Por intentarlo no pierdes nada.

Posted: Wed May 03, 2006 6:26 pm
by Armando Picon
En la clase printer tipo DOS, no hay problema de utilizar el COMMAND para setear el tamaño del papel en lineas, etc.

En tPrinter tambien se puede definir el papel con SetPage(). Yo lo utilizo constantemente y no he tenido problemas (excepto uno que acabo de consultar en el foro con el titulo de "Bug en la calse Printer?".

Saludos

Armando

Posted: Wed May 03, 2006 6:27 pm
by Armando Picon
En la clase printer tipo DOS, no hay problema de utilizar el COMMAND para setear el tamaño del papel en lineas, etc.

En tPrinter tambien se puede definir el papel con SetPage(). Yo lo utilizo constantemente y no he tenido problemas (excepto uno que acabo de consultar en el foro con el titulo de "Bug en la clase Printer?".

Saludos

Armando