Archivos básicos en Pascal
Un archivo es el módulo básico de información manejado por el Sistema Operativo. El Sistema Operativo es un conjunto de programas cuya función es administrar los recursos del Sistema de Cómputo. Por ejemplo, un programa fuente es almacenado como un archivo. Primero es introducido en la memoria RAM por medio de un programa editor, y después es almacenado como un archivo de texto en un medio de almacenamiento permanente (cinta, disco flexible, disco duro). Una vez que el programa fuente ha sido compilado, el programa resultante de la compilación viene a ser un archivo binario.
En Pascal, un archivo es una secuencia de elementos que pertenecen al mismo tipo o estructura, esto es que un archivo puede ser una secuencia de caracteres, números o registros, por lo que su representación lógica puede hacerse como una secuencia de módulos del mismo tamaño.
En el vocabulario de manejo de archivos, a cada elemento de un archivo se le llama registro. En Pascal, la numeración de los registros empieza con el número CERO , por lo que al elemento_1 se le llamará registro 0, al elemento_2 registro 1, y así sucesivamente hasta llegar a la marca de fin de archivo EOF.
Turbo Pascal difiere significativamente de Pascal estándar por la forma en que maneja los archivos.
En Pascal estándar, los archivos son formalmente definidos independientemente del medio en que residan. Este método de definición fue inspirado por los archivos de tarjetas perforadas y cintas magnéticas, las cuales eran los medios de almacenamiento comúnmente usados cuando Pascal fue definido por primera vez. Como resultado, todo acceso a cualquier archivo en Pascal estándar es secuencial( registro por registro ) tal como se realiza en las tarjetas perforadas y cintas magnéticas.
En Turbo Pascal los archivos son definidos como archivos de disco. Los discos son actualmente los dispositivos de almacenamiento más utilizados en las microcomputadoras. Los mecanismos de acceso secuencial proporcionados por Pascal estándar son algunas veces inconvenientes e insuficientes para los archivos basados en discos de acceso aleatorio, por lo que Turbo Pascal provee nuevas estructuras y mecanismos de acceso a los archivos.
La primera gran diferencia entre Turbo Pascal y Pascal estándar, es la forma en que enlazan los archivos a un programa. En Pascal estándar, se abren los archivos referenciando su nombre de archivo en el encabezado del programa, y se cierran cuando el programa termina. En Turbo Pascal, los archivos de disco deben enlazarse a una variable de archivo particular con el procedimiento:
Assign(variable_archivo,nombre_archivo);
y deben ser preparados para procesarse ( abiertos ) con: reset(variable_archivo) o rewrite(variable_archivo) antes de ser utilizados.
Además, los archivos deben ser explícitamente cerrados por medio de close(variable_archivo), después de que han sido utilizados, o se perderán los datos que estén en la memoria auxiliar (variable_archivo) .
variable_archivo es el nombre de la memoria auxiliar (buffer), por medio de la cual el programa manejará los datos hacia o desde el archivo en disco.
nombre_archivo es el nombre que identifica al archivo en el disco.
resetabre un archivo existente para procesamiento y coloca el apuntador de registro en el primer registro (0).
rewrite crea un nuevo archivo (o sobre-escribe en uno existente) y lo abre para procesamiento con el apuntador de registro colocado en el registro 0.
En el caso de un archivo de tipo text, reset hará que el archivo sólo pueda ser usado para operaciones de lectura , mientras que rewrite sólo permitirá operaciones de escritura.
Los nombres de archivo válidos son cadenas de 1 a 8 caracteres seguidos por una extensión opcional consistente de un punto y hasta tres caracteres. A estos nombres también se les llama «nombres de archivo externo«, puesto que son los nombres con que se graban en el disco.