Control de la impresora
Una vez preparada la conexión, ya podemos empezar a usar las tres órdenes de BAsrc
que controlan la impresora. Las dos primeras,
LPRINT
y
LLlST,
son análogas a
PRINT
y
L1ST,
salvo que dirigen la salida a la impresora en lugar de a la pantalla. La opción
Imprimir
del menú de edición de +3 BASrC produce el mismo efecto que
LLlST,
pero
la hemos incluido para proporcionar una forma más directa y fácil de obtener un listado.
Pruebe este programa:
10 LPRINT "Este programa ".
20 LLlST 40
30 LPRINT '''imprime el juego de caracteres: ".
40 FOR n=32 TO 255
50 LPRINT CHR$
n;
60 NEXT n
70 LPRINT
Es importante observar que
LPRINT
y
LLlST
tienen buen cuidado de filtrar todos los có
digos de color (y sus parámetros) que encuentran antes de imprimir o listar cualquier cosa.
Tales códigos de color son una «reliquia» del Spectrum de 48K; cuando se los incluía en
una cadena ajustaban
INK
(tinta),
PAPER
(papel), etc. En general las impresoras utilizan
esos códigos para cosas completamente diferentes, como activar o desactivar cursiva, su
brayado, etc., así que sería muy peligroso enviarles estos códigos de color y esperar que
no ocurriese ningún incidente. Como efecto secundario de esto, el +3 normalmente no
puede enviar
secuencias de escape
a la impresora. Por ejemplo, supongamos que la impre
sora necesita el código de escape (carácter 27) seguido de
"x";CHR$(1)
para activar el mo
do de alta calidad (NLQ). Con otro ordenador usaríamos una orden del siguiente estilo:
LPRINT CHR$(27);"x";CHR$(1);
"Esto es alta calidad"
Sin embargo, en el +3 necesitamos dar antes la orden:
FORMAT LPRINT "U"
para pedir a +3 BASrC que no interprete los caracteres como 'códigos de Spectrum', sino
como caracteres normales. Sin esta orden, todos los códigos del 165 en adelante (v. Sec
ción 28) serán tratados como 'códigos de Spectrum' y traducidos a palabras clave; ade
más, casi todos los códigos inferiores al 32 serán filtrados.
Si hemos dado la orden anterior, antes de usar
LLlST
tenemos que restablecer la situación
normal con:
FORMAT LPRINT "E"
Sección 21. Operaciones con la impresora
181