Estructura de los ficheros
Un fichero es una sucesión de bytes, cuya longitud puede ser de entre O y 8 megabytes.
Cada fichero abierto tiene asociado un puntero de 24
bits.
Este puntero da la dirección
del próximo byte que el sistema va a leer o escribir. El puntero avanza automáticamente
al siguiente byte tras cada operación de lectura o escritura; no obstante, el programa de
usuario puede asignarle cualquier valor requerido para acceder al fichero en modo directo
(aleatorio).
La posición de 'fin de fichero' (EOF) es la primera posición de byte que es posterior a
todas las posiciones en las que se ha escrito algún byte. Los ficheros sin cabecera sólo pue
den grabar su posición de EOF en el primer byte del siguiente registro de 128 bytes. Los
ficheros con cabecera pueden tener su posición de EOF grabada en el sitio exacto.
Al escribir un byte en cualquier posición posterior a la de EOF se agranda el fichero y
se hace avanzar la posición de EOF.
Si se intenta leer un byte en la posición de EOF o en cualquiera posterior se provoca un
error.
Si se lee un byte en una posición anterior a la EOF pero en la que no se ha escrito previa
mente, se obtiene un valor sin significado, o bien se provoca un error. (No se recomienda
leer posiciones en las que no se haya escrito previamente.)
Cambio de disco
En +3DOS se puede cambiar o extraer el disco en cualquier momento en que el sistema
no esté accediendo a la unidad (ya condición de que no haya ningún fichero abierto). No
es necesario, pues, hacer nada explícitamente para que el sistema 'reconozca' el disco.
No se debe cambiar el disco mientras alguno de sus ficheros esté abierto. No obstante,
si se cambia el disco en esa situación, cuando +3DOS detecte este hecho pedirá al usuario
que vuelva a introducir el disco correcto. (+ 3DOS sólo detectará el cambio de disco cuan
do vuelva a leer el directorio.)
Cambiar el disco cuando el sistema está leyendo o escribiendo en él puede ocasionar la
destrucción de sus datos.
Proyección de unidades lógicas a unidades físicas
Si es necesario, se puede 'proyectar' dos unidades lógicas (A y B) hacia una sola unidad
física (la O). Este sistema puede interesar cuando el equipo sólo está dotado de una unidad
física.
Capítulo
8.
Guía de programación en +3 BASIC
234