PARECE QUE NADIEN TRABAJA CON TPRINTER

Post Reply
jbrita
Posts: 425
Joined: Mon Jan 16, 2006 3:42 pm

PARECE QUE NADIEN TRABAJA CON TPRINTER

Post 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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Que versión y build de FWH usas ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Lautaro
Posts: 322
Joined: Fri Oct 07, 2005 2:44 pm
Location: Osorno, Chile
Contact:

Post 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
manuramos
Posts: 219
Joined: Mon Dec 26, 2005 7:25 pm
Location: Jerez de la Frontera (Spain)

Post 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.
Nos Gusta Programar
User avatar
Armando Picon
Posts: 448
Joined: Mon Dec 26, 2005 9:11 pm
Location: Lima, Peru

Post 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
User avatar
Armando Picon
Posts: 448
Joined: Mon Dec 26, 2005 9:11 pm
Location: Lima, Peru

Post 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
Post Reply