encontrado. La sintaxis de |BANKFIND es:
|BANKFIND,@r%,a$
o bien
|BANKFIND,@r%,a$,n
o bien
|BANKFIND,@r%,a$,n,m
donde r% es una variable entera que contiene, al terminar la orden, o bien el número de
registro en el que se ha encontrado la cadena, o bien un código que indica que la cadena no ha
sido encontrada. a$ es la cadena que se busca. El parámetro opcional n especifica el número de
registro a partir del cual se debe empezar a buscar. Si no se especifica n, la búsqueda comienza a
partir del registro actual. El segundo parámetro opcional, m, especifica el número de registro en
el que se debe abandonar la búsqueda. Si se omite m, la búsqueda continúa hasta el final de los
64K de memoria, con lo que se puede sobrepasar el final de los datos escritos por el programa.
Pruebe ahora los siguientes ejemplos. Si ya ha ejecutado el programa para estudiar las órdenes
de manipulación de pantallas y no ha reinicializado la máquina desde entonces, las órdenes de
RAMdisc seguirán en la memoria. De lo contrario, inserte la unidad de discos la cara 1 del juego
de discos del sistema y escriba lo siguiente:
RUN
"BANKMAN"
Ahora escriba:
|BANKOPEN,
20
Esta orden especifica que los registros van a ser de 20 caracteres cada uno y selecciona como
registro actual el número 0.
Escriba:
a$="PRIMER REGISTRO"
con lo que se forma la cadena a$ con longitud de 20 caracteres.
Escriba ahora:
r%=0
para inicializar r%. Escriba:
|BANKWRITE,@r%,a$
Esta orden escribe a$ en el primer registro (el número 0). A continuación escriba:
d$=SPACE$(20)
|BANKREAD,@r%,d$,0
PRINT
d$
La primera orden iguala d$ a una cadena de 20 espacios, longitud suficiente para poder asignarle
el contenido del registro en la operación de lectura. La segunda orden lee el registro número 0 y
asigna su contenido a la variable literal d$. Antes de la lectura el registro actual era el número 1
(actualizado por la anterior |BANKWRITE); por eso hemos tenido que especificar que la lectura
+SPACE$ (5)
Manual de Amstrad CPC 6128 (revisión 2008) - Página 94