UNIDAD 6: PASCAL REGISTROS Y ARCHIVOS DIRECTOS
TEMA 5: BAJAS O ELIMINACIONES ARCHIVOS PASCAL
Eliminacion o bajas es el proceso por medio del cual algunos registros del archivo son purgados del archivo, existen dos maneras por las cuales se puede realizar ese proceso.
En la primera manera se usan dos archivos, el archivo original y un archivo temporal, el procedimiento o algoritmo es muy sencillo, se lee el registro del archivo original y si no es el registro a eliminar entonces se almacena en el archivo temporal, cuando se termina de procesar todo el archivo original, el archivo temporal solo contendra todos los registros que no se quisieron eliminar, ya con estos dos archivo se procede a eliminar o borrar usando la instruccion remove el archivo original y se procede a renombrar usando la instruccion rename de el archivo temporal como nuevo archivo original.
Sin embargo en archivos directos no se puede ni se debe eliminar fisicamente registros de los archivos porque recordar que la clave del registro esta enlazada directamente a la posicion que dicho registro tiene en disco y no seria muy conveniente estarle cambiando la matricula al alumno cada rato o el numero de serie al auto, etc.
Aparte de que con esta manera de eliminar incluso fisicamente los registros del archivo es que no hay manera de recuperar esa informacion posteriormente.
Es por eso que otra tecnica comun de eliminacion es incluir un campo de estado, status o bandera o semaforo en el registro y conforme se va cargando el registro y antes de mandarlo a disco se le agrega a dicho campo el caracter 'A' –>alta, asi que cuando se quiera una baja solo se pondria dicho campo en 'B' y todos los programas de lectura, busqueda y filtros deberan revisar esta campo de estado antes de hacer algo con el registro. Armario escobero
Como ya se incluyo el campo de status en el registro el programa es muy sencillo;
Prog29.pas
program prog29;uses crt;typealumnos = RECORDclave:integer;nombre:string[30];edad:integer;status:char;end;varalumno:alumnos;archivo: file of alumnos;clave:integer;BEGINclrscr;(* creando y abriendo el archivo *)assign(archivo,'c:progalumnos.dat');reset(archivo);(* clave a buscar *)write('clave a eliminar');readln(clave);(* moviendo apuntador a registro buscado *)SEEK(archivo,clave-1);(* leyendo registro *)READ(archivo,alumno);(* cambiando status registro *)alumno.status := 'B';(* moviendonos otra vez a posicion inicial *)(* o sobreescribimos el registro que sigue *)SEEK(archivo,clave-1);(* grabando el registro actualizado *)WRITE(archivo,alumno);(* avisando *)writeln('Registro Eliminado ');write(' para continuar ');readln;;(* cerrando archivo *)close(archivo);END.
Corrida:
Como se observa es mas facil eliminar registros que incluyan banderas de estado y que ademas estan en archivos random o directos.
PROGRAMACION PASCAL :
Construir procedimientos de eliminacion para los archivos construidos.
ELIMINACION ARCHIVOS DISCO PASCAL
Eliminacion o bajas es el proceso por medio del cual algunos registros del archivo son purgados del archivo, existen dos maneras por las cuales se puede realiz
adsl
es
https://adsltodo.es/static/images/adsl-eliminacion-archivos-disco-pascal-1815-0.jpg
2024-11-21
El contenido original se encuentra en https://programacionfacil.com/pascal/eliminacion_archivos_disco/
Todos los derechos reservados para el autor del contenido original (en el enlace de la linea superior)
Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente