Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   COBOL - General (https://www.cobolforo.es/forumdisplay.php?f=44)
-   -   [Sintaxis] Salto de página (https://www.cobolforo.es/showthread.php?t=975)

GabrielACE 10 de abril de 2019 22:49

Salto de página
 
gente me dan una mano con el tema del salto de pagina??

tengo que imprimir cheques que en impresora matriz de punto con hoja continua

la idea mia es que al terminar de cargar la info del primer cheque salte a la siguiente hoja (la impresora detecta el troquelado como nueva hoja)

crei entender que tenia que poner AFTER PAGE o BEFORE PAGE en la ultima linea de impresion
del cheque, pero no siempre salta correctamente

estoy entendiendo bien el formato de AFTER PAGE ???

una pregunta adicional

AFTER 0 o after 1 , ETC

es para saltar 0 renglones a N° renglones?


Saludos!

JCantero 11 de abril de 2019 00:10

El salto de pagina por defecto será el definido en el setup de la impresora, no en el troquelado. Las impresoras matriciales no detectan el troquelado.

Lo primero que tienes que ver son las pulgadas que tiene cada cheque. ( o lineas)
Y A cuantas lineas por pulgada quieres imprimir.

Suponiendo que sea una impresora compatible EPSON o IBM aqui te dejo informacion de los codigos de escape que debes utilizar:
http://lleidasoft.blogspot.com/2016/...ora-epson.html
Lo normal es imprimir 6 lineas por pulgada (ESC 0) (que es el defecto del setup) si fuera 8 lineas por pulgada tendrias que utilizar la secuencia de escape: ESC 2

Despues debes determinar las lineas del cheque y configurar con ESC C n (siendo n el numero de lineas por cheque)

Lo del cobol;
WRITE LINEA AFTER PAGE , escribe linea despues de saltar pagina.
WRITE LINEA before PAGE , escribe linea antes de saltar pagina.
WRITE LINEA AFTER 2 , escribe linea despues de saltar 2 lineas.
WRITE LINEA beforre 2 , escribe linea antes de saltar 2 lineas.


Hay impresoras matriciales que despues de configurar la pagina cuando haces un salto de pagina, si no imprimes nada, la impresora salta automaticamente para que cortes el papel por el troquelado. Si despues imprimes, ella solita retrocede para imprimir el siguiente cheque. Esto es fundamental para imprimir cheques, recibos, albaranes, facturas individuales sin tocar los mandos o botones de la impresora.

Kuk 11 de abril de 2019 00:13

Sólo añadir que la sintaxis completa es:

Código COBOL:
  1.      AFTER ADVANCING PAGE
  2.      AFTER ADVANCING 2 LINES

Etc.

Josber 11 de abril de 2019 11:39

Cita:

Citación del post de Kuk (Mensaje 4874)
Sólo añadir que la sintaxis completa es:

Código COBOL:
  1.      AFTER ADVANCING PAGE
  2.      AFTER ADVANCING 2 LINES

Etc.

Yo lo he utilizado como indica JCantero y también me ha funcionado perfectamente. Aparte de <Esc 0> ó <Esc 2>, debes de controlar el número de lineas que tiene la página con la cláusula

Código COBOL:
  1. LINAGE IS ...

Un saludo.-

GabrielACE 11 de abril de 2019 14:16

Se Agadece la informacion

Saludos!

Gusaiello 15 de abril de 2019 19:20

GabrielACE, Si, estas interpretando correctamente, pero probablemente el problema por el cual a veces no respeta el salto de página correcto sea que no esta correctamente definido el tamaño de la página.

Supongo que si se define el tamaño de la hoja igual al tamaño del cheque, y que luego se carga el papel correctamente (usando la botonera de la impresora en lugar de la ruedita lateral), entonces, cada vez que se termine de imprimir un cheque al ejecutar un AFTER PAGE o BEFORE PAGE dicho salto de hoja posicionará el papel al inicio del siguiente cheque.

Ahora bien, si en la hoja entra mas de un cheque (supongo que seran por lo menos 4) y el tamaño de la página esta definido de acuerdo al tamaño total de la hoja, tendras que pasar de un cheque al siguiente avanzando de a lineas.

Si se tratara, por ejemplo, de una impresora EPSON pudieras definir el tamaño de la hoja por programa : ESC C n (1B 43 n en hexadecimal) donde n es el número de líneas, permite definir el tamaño de la hoja en líneas, y ESC C 0 n (1B 43 00 n en hexadecimal) permite definirlo en pulgadas.

Una sugerencia , yo usaría siempre BEFORE en lugar de AFTER, tanto para imprimir las líneas como para el salto de página.


La franja horaria es GMT +2. Ahora son las 06:29.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.