QL Programación Avanzada
Anterior Siguiente

Apéndice X - Notas aclaratorias para la versión española

Las diferencias entre las versiones inglesa y española del QL se limitan al juego de caracteres y a la forma de acceder a ellos desde el teclado. Todos los caracteres usados en español vienen ya incluidos en el QL estándar, por lo que solamente se ha tenido que cambiar la forma de acceso desde el teclado. Así, las letras acentuadas se forman pulsando primero el acento y después la letra correspondiente. También se ha incluido como tecla directa la correspondiente a la letra Ñ. Así como ciertos signos propios de nuestro idioma.

Debido a estos cambios, el esquema del teclado que se da en la figura 5.3 del capítulo 5, queda modificado así:


Figura X.1 - Esquema del teclado de la versión española

Modificaciones a las rutinas de impresión

Existen también algunas modificaciones en las rutinas de manejo de la impresora. En éstas se ha incluido un nuevo comando SuperBASIC:

TRA 0 Los caracteres se envían a la impresora tal y como están almacenados en la memoria.
TRA 1 Antes de mandarlos a la impresora, los caracteres se modifican de acuerdo con la siguiente tabla:

Carácter
en el QL
Secuencia de
impresión
á´ BS a
é´ BS e
í´ BS i
ó´ BS o
ú´ BS u
à` BS a
è` BS e
ì` BS i
ò` BS o
ù` BS u
¿]nota 1
¡[nota 1
Ñ\nota 1
ñ|nota 1
ç, BS c
ü{ BS unota 1, { escribe ¨
[(nota 2
])nota 2
{(nota 2
})nota 2

NOTA 1 - Estos caracteres se han modificado, en la ROM de la impresora que comercializa Investrónica para el QL, para producir los caracteres correspondientes.

NOTA 2 - Las llaves y los corchetes se imprimen como paréntesis, ya que sus códigos se han usado para los caracteres de la nota 1. Se han elegido los paréntesis por ser los más parecidos y porque en la mayoría de los lenguajes para ordenadores pueden ser fácilmente sustituidos.

BS - es la abreviatura de 'back space' y es un código que hace volver un espacio hacia atrás a la impresora para escribir sobre el carácter anterior.

La ROM que incluye el actual QL en español contiene la versión MGE (MG es la versión estándar y la E es la de Español). Está en preparación una nueva versión que modifica la sintaxis del comando TRA para poder suministrar una dirección como argumento, que corresponderá a una tabla de conversión de caracteres, con lo que se podrá elegir entre la propia de la ROM o una definida por el usuario y que se ajuste a sus propias necesidades.

Nuevas variables de BASIC

En esta versión se incluyen también una serie de variables BASIC que se crean automáticamente a tiempo de encendido del QL, y que se usan para la detección y posible recuperación de errores. Éstas son:

ERROR=0 -> la última instrucción se ejecutó correctamente
1 -> la última instrucción se ejecutó con un error
 
ERNUM=número del último error producido (ver apéndice G)
ERLIN=número de la línea en que se produjo el error
 
ERR_NC=nota 3
ERR_NJ=nota 3
ERR_OM=nota 3
ERR_OR=nota 3
ERR_BO=nota 3
ERR_NO=nota 3
ERR_NF=nota 3
ERR_EX=nota 3
ERR_IU=nota 3
ERR_EF=nota 3
ERR_DF=nota 3
ERR_BN=nota 3
ERR_TE=nota 3
ERR_FF=nota 3
ERR_BP=nota 3
ERR_FE=nota 3
ERR_XP=nota 3
ERR_OV=nota 3
ERR_NI=nota 3
ERR_RO=nota 3
ERR_BL=nota 3

NOTA 3 - Todas estas variables pueden tener un valor 0 ó 1 y corresponden a los errores listados en el Apéndice G. El 1 significa que el último error producido ha sido el descrito por el nombre, sustituyendo el '_' por un '.'. El valor 0 significa que no se ha producido este tipo de error.

Por ejemplo, si después de un error ejecutamos:

PRINT ERR_EF
y nos da como resultado un 1, debemos ir al apéndice G y localizar el error ERR.EF que significa 'Fin de fichero'.

Nuevas instrucciones SuperBASIC

Para sacar mayor partido a estas variables, se incluyen también en esta versión dos nuevas instrucciones SuperBASIC:

WHEN <expresión booleana>
    <cuerpo de la instrucción>
END WHEN

<expresión booleana>
corresponde a una de las variables antes descritas.

<cuerpo de la instrucción>
son sentencias BASIC que se ejecutarán en el caso de que sea 1 la expresión booleana.

Se debe terminar siempre con END WHEN.

Esta sentencia se debe poner al principio del programa y se ejecutará cada vez que el SuperBASIC encuentre un error en la ejecución. De esta forma podemos establecer un sistema de análisis y recuperación, si procede, de los errores que se produzcan durante la ejecución de nuestros programas.

La otra instrucción nueva es:

REPORT [#canal]

Envía el mensaje de error, asociado con el error producido, por el canal indicado. Si no se le especifica canal, lo mandará a la pantalla principal.

Se puede usar para lanzar los mensajes de error a ventanas distintas de la que se está usando o a otros dispositivos conectados a nuestro QL.

Todos los datos suministrados en este apéndice, no aparecen en el manual que se suministra con el QL comercializado en España, y se incluyen por cortesía, y con permiso, de Investrónica.


Anterior Tabla de contenidos Siguiente
Juego de caracteres ASCII (Versión Española)   Bibliografía