Manual de Basic Spectrum 48k.

Capítulo 21

La Impresora ZX

Resumen

  • LPRINT, LLIST, COPY

Nota. Ninguna de estas sentencias es de BASIC estándar, aunque LPRINT se utiliza por otros ordenadores.

Si dispone de una impresora ZX, tendrá algunas instrucciones de su manejo. En este capítulo se estudian las sentencias BASIC necesarias para hacerla trabajar.

Las dos primeras, LPRINT y LLIST, son lo mismo que PRINT y LIST, con la salvedad de que utilizan la impresora en vez de la televisión. (La L inicial es un "accidente histórico" pues cuando se inventó el lenguaje BASIC se acostumbraba a emplear una máquina de escribir eléctrica en lugar de una televisión, por lo que PRINT significaba realmente impresión. Si deseara gran cantidad de datos a la salida, tendría que utilizar una impresora de línea muy rápida unida al ordenador y una sentencia LPRINT con el significado de "impresora de línea PRINT").

Pruebe el siguiente programa a título de ejemplo:

10 LPRINT "Este programa".'
20 LLIST
30 LPRINT ' "imprime el juego de caracteres" '
40 FOR n = 32 TO 255
50 LPRINT CHR$ n;
60 NEXT n

La tercera sentencia, COPY, imprime una reproducción de la pantalla de televisión. Por ejemplo, teclee LIST para conseguir un listado en la pantalla del programa anterior y teclee:

COPY

Observe que COPY no actúa con uno de los istados que el ordenador realiza automáticamente, porque se suprime siempre que se obedezca una orden o comando. Debe utilizar primero LIST o bien emplear LLIST y prescindir de COPY.

Siempre puede parar la impresora, cuando esté funcionando, al pulsar la tecla BREAK (CAPS SHIFT y SPACE).

Si ejecuta estas sentencias sin la impresora conectada, se perderá toda la salida y se proseguirá con la siguiente sentencia.

Pruebe el programa siguiente:

10 FOR n = 31 TO 0 STEP -1
20 PRINT AT 31 - n, n; CHR$ (CODE "0" + n);
30 NEXT n

Verá una configuración de caracteres que bajan diagonalmente desde la esquina superior derecha hasta que alcanza la parte inferior de la pantalla, entonces el programa pregunta si desea un desplazamiento hacia arriba en forma de rodillo ("scrolling").

Ahora cambie AT 31 - n, n en la línea 20 por TAB n. El programa tendrá exactamente el mismo efecto que antes.

Ahora cambie PRINT en la línea 20 por LPRINT. Esta vez no habrá ninguna pregunta de scroll?, que no debe producirse con la impresora y la configuración se mantendrá directamente con las letras F a O.

Ahora cambie TAB n por AT 31 - n, n, utilizando todavía LPRINT. Esta vez obtendrá una sola línea de símbolos. La razón para la diferencia es que la salida por LPRINT no se imprime de forma directa, sino que se dispone en una memoria intermedia una imagen de una sola línea que el ordenador transmitirá a la impresora cuando llegue a ella. La impresión tiene lugar:

  1. cuando la memoria intermedia está llena

  2. después de una sentencia LPRINT que no finalice en una coma o punto y coma

  3. cuando una coma, apóstrofe o elemento TAB requiere una nueva línea o

  4. al final de un programa, si se ha dejado algo sin imprimir.

El apartado (iii) explica la razón por la que nuestro programa con TAB actúa en la forma en que lo hace. Como para AT, se ignora el número de línea y la posición de LPRINT (como la posición PRINT, pero para la impresora en lugar de la televisión) se cambia al número de columna. Un elemento AT nunca puede hacer que una línea se envíe a la impresora.

Ejercicio

  1. Hacer una representación gráfica impresa de SIN ejecutando el programa del capítulo 19 y utilizando, luego, COPY.

Manual de Basic Spectrum 48k.