Cita:
|
Iniciado por luisda
Tengo q hacer una practica acerca de la administracion de una biblioteca.
Mi problema se centra en la forma de guardar la base de datos de los libros.
1º .- Al iniciar el programa me gustaria pasar del fichero con tipo a una lista con sus dos punteros (cabeza y cola);
2º .- Modificamos la lista , para aki para alla, vale eso me sale,
3º .- Cerramos el programa, como guardo las modificaciones de la lista en mi fichero con tipo.
4º .- Problema añadido , el catalogo de libros. Se me pide realizar un catalogo de libros en funcion de tema. Yo he optado por realizar un fichero de texto , como puedo pasar de la lista a un fichero con texto.
Espero vuestros cables o referencias, estoy abierto a cualquier sugerencia y os doy las gracias de antemano, programabrothers!!
|
A ver si todavia me acuerdo.
Guardar la lista en el archivo
procedure guardarlista(var archivo:Tarchivo, lista:Tlista);
begin
rewrite(archivo);
while lista <> nil do begin
write(archivo,lista^)
lista:=lista^.sig;
end;
end;
Cargar los registros del archivo en la lista.
procedure cargarlista(var archivo:Tarchivo, var lista:Tlista);
var
aux:Tlista;
begin
lista:=nil;
seek(archivo,0);
while not eof(archivo) do begin
new(aux);
read(archivo,aux^);
aux^.sig:=nil {Importantisimo}
insertar(lista,aux) {Este ya lo debes haber implementado}
end;
end;
Esos procedimientos valen para el 1° y el 3°
Si usas una lista doble la inicializacion del aux seria
aux^.ant :=nil y aux^.sig:=nil esos no pueden faltar, me dieron mucho dolor de cabeza, tanto que aun me acuerdo : )
El 4° no entiendo que es exactamente lo que quieres hacer y porque quieres usar un archivo de texto.