110
numerror=32
IF
120
CURSOR 1:PRINT
130
a$=INKEY$:ON
140
PRINT a$:PRINT
150
PRINT a$:CURSOR
160
OPENOUT
170
WRITE
#9,fichero$,1:
180
FOR
i=0
190
WRITE
#9,color(i):
200
NEXT i
210
CLOSEOUT
220
CLS
230
gp=1:GRAPHICS PEN
240
x=-65:a=240:y=400:b=-150:GOSUB
250
y=0:b=150:GOSUB
260
x=575:a=-240:y=400:b=-150:GOSUB
270
y=0:b=150:GOSUB
280
gp=2:GRAPHICS PEN
290
a=240:x=-40:y=400:b=-150:GOSUB
300
x=0:y=0:b=150:GOSUB
310
a=-240:x=640:y=0:b=150:GOSUB
320
x=600:y=400:b=-150:GOSUB
330
ORIGIN 0,0,256,380,0,400:CLG
340
ORIGIN 0,0,0,640,150,250:CLG
350
ORIGIN 0,0,280,352,0,400:CLG
360
ORIGIN 0,0,0,640,168,230:CLG
370
SAVE
fichero$,b,&C000,&4000
380
2,26,6
DATA
390
END
400
MOVE x,y:DRAWR a,b:DRAWR w,0:DRAWR a,-b
410
MOVE x+a/2+w/2,y+b/2:FILL gp
420
RETURN
430
numerror=ERR:RESUME NEXT
run
Fíjese en los distintivos de tipo .DAT y .SRN. No tienen más significado intrínseco que
recordarnos cual es su contenido. El fichero PARAM.DAT será un fichero ASCII sin registro de
cabecera, mientras que VOLCPANT.SRN es un fichero binario AMSDOS con cabecera.
Observe que el programa trata de leer el fichero PARAM.DAT, para averiguar si existe, antes de
escribir en él. Si no existe, BASIC genera un error, el cual es gestionado por el programa para
que la ejecución continúe sin interrupción. Si ya existe el fichero, no se genera error y el
programa pregunta al usuario si desea escribir encima de él.
En este fichero se graba información sobre el modo de pantalla, los colores y el nombre del
fichero que contiene el volcado de pantalla. La línea 170 ilustra cómo se puede utilizar un fichero
de datos para escribir en él valores de variables (fichero$) y constantes (1) que luego hayan de
ser utilizados por otro programa.
Carga de pantallas
El siguiente ejemplo es un lector de volcados de pantalla que utiliza un fichero de parámetros
para controlar su acción. Observe cómo se leen los datos del fichero con INPUT y cómo se
utiliza EOF para adaptar la lectura automáticamente al tamaño del fichero. Para que este
DERR=146
AND
"Quiere escribir sobre el
INSTR("
SN",UPPER$(a$))
"Fin del
programa":END
0
"param.dat"
REM graba nombre de fichero y modo
TO
2
REM graba colores
gp:w=125
400
400
gp:w=40
400
400
Manual de Amstrad CPC 6128 (revisión 2008) - Página 201
THEN CLS
fichero":PRINT
GOTO 130,150,140:GOTO
400
400
400
400
1
1
2
2
"anterior?
S/N";
130