El texto debe haber desaparecido como consecuencia de la última orden (screenswap significa
"intercambio de pantalla"). Lo que ahora hay en la pantalla es la información que antes estaba
almacenada como 'pantalla 2' (en el bloque 2). Si la máquina estaba recién encendida, será
seguramente una imagen aleatoria. Para borrarla escriba:
MODE
1
y a continuación:
PRINT
"ESTA ES LA PANTALLA 2"
|SCREENSWAP, 1,
Ha vuelto a aparecer el texto original. Al repetir la orden |SCREENSWAP,1,2 hemos vuelto a
intercambiar las dos pantallas. Con la orden |SCREENSWAP se puede intercambiar cualquier
pantalla de las cinco disponibles con cualquier otra; pero el efecto sólo será visible si una de las
pantallas implicadas es la número 1.
La otra orden es SCREENCOPY ("copia de pantallas"). Con ella se copia una pantalla sobre otra
y se borra la que originalmente había en el bloque destino.
Escriba:
MODE
1
PRINT
"VAMOS A COPIAR ESTA PANTALLA"
|SCREENCOPY,2,1
La pantalla fuente, la 1, se ha copiado en la pantalla destino, la 2. Si ahora invertimos el orden de
los parámetros,
MODE
1
|SCREENCOPY,1,2
el contenido de la pantalla actualmente visible (es decir, la 1) es sustituido por el de la pantalla 2.
Así pues, el primer parámetro representa la pantalla destino; el segundo, la pantalla fuente.
Al copiar pantallas se producen imágenes distorsionadas si los modos de pantalla son diferentes
o si la pantalla visible ha sido desplazada hacia arriba después de la última ejecución de una orden
MODE. Las órdenes de control de pantallas del gestor de bancos están pensadas para su
utilización en pantallas gráficas más bien que en pantallas de texto, y en aquéllas el
desplazamiento de la pantalla es más improbable.
Utilización del gestor de bancos en el almacenamiento de cadenas literales
El programa gestor de bancos proporciona otras cuatro órdenes externas mediante las cuales se
puede convertir el segundo banco de memoria (64K) en un archivo de cadenas literales.
Casi todos los programas se pueden dividir en dos partes: las instrucciones del programa y los
datos con los que opera. Un buen ejemplo sería un programa de base de datos, tal como una
lista de nombres y direcciones. Un programa así utilizaría vectores literales para almacenar los
nombres y las señas.
Las cadenas literales se pueden almacenar en el segundo banco de 64K de memoria, una tras
otra. El espacio dedicado a almacenar las cadenas se puede dividir en una serie de
compartimentos que denominaremos registros. Los registros son de longitud fija, entre 2 y 255
caracteres cada uno, mientras que la longitud de las cadenas literales de BASIC no es fija, sino
2
Manual de Amstrad CPC 6128 (revisión 2008) - Página 92