\layout Chapter
Introducción
+\layout Standard
+
+Esta es la documentación correspondiente a las API`s para el manejo de tres
+ organizaciones de archivo diferentes.
+ A continuación se describe cada una de ellas y su modo de funcionamiento
+ y sus características principales.
+ De la correcta elección de la organización, dependerá la eficiencia de
+ la aplicación que la utilice.
+
\layout Chapter
Estructura común
articulos.dat
\series default
, con la organización física tipo 3 con registros de longitud fija de 50
- bytes y bloques de 200 bytes (si el archivo ya existiaera, puede ser abierto
- con la función
-\family typewriter
-emufs_abrir()
-\family default
-, pasando como parámetro sólo el nombre de archivo, la función autodetecta
- el tipo de archivo y sus datos adicionales).
+ bytes y bloques de 200 bytes.
Al mismo tiempo, los se asginarán valores a los punteros a funciones que
posee dicha estructura, la cual de ahora en más estará en condiciones de
manejar un archivo del tipo 3.
\begin_inset Float figure
placement H
wide false
-collapsed false
+collapsed true
\layout Caption
sucedera lo siguiente:
\layout LyX-Code
-efs->leer_registro(params) -- llama a --> emufs_tipo3_leer_registro(params)
+efs->leer_registro(params) -- calls --> emufs_tipo3_leer_registro(params)
\layout Standard
Como se puede observar, la estructura
permitirá el manejo de cualquier tipo de archivo, a través del mismo código,
dandole gran flexibilidad a nuestro sistema, que podrá expandirse a más
tipos de archivos de ser necesario.
-\layout Standard
-
-Finalmente hay otra función estática que sirve para destruir la estructura,
- liberando su memoria:
-\family typewriter
-emufs_destruir()
\layout Chapter
Archivos Auxiliares
Ver:
\family typewriter
emufs_tipo1_compactar()
+\layout Section
+
+Detalles de implementación (funciones internas, ver si lo ponemos o no)
\layout Chapter
\begin_inset Float figure
placement H
wide false
-collapsed true
+collapsed false
\layout Caption
para mantener la coherencia.
\layout Standard
+Cuando nos encontramos con registros multibloque, se calcula cuantos bloques
+ ocupará el registro de la siguiente manera: Cantidad de Bloques = 1 + Tamaño
+ del Registro/(Tamaño del Bloque-Sizeof(EMUFS_REG_ID)
+\layout Standard
+
+y con esta información se realiza un ciclo
+\family typewriter
+for
+\family default
+ que grabará tantas veces como sea necesario.
+\layout Standard
+
Ver:
\family typewriter
emufs_tipo3_grabar_registro()
ser así, si no se realizara el mismo.
\layout Standard
+En el caso de los registros multibloque, se eliminará la porción del registro
+ contenida en el primer bloque y se actualizarán de manera conveniente los
+ archivos índice, para restaurarlos a un valor verdadero.
+\layout Standard
+
Ver:
\family typewriter
emufs_tipo3_borrar_registro()