[ Foro de Pascal ]
Tengo el siguiente procedimiento:
procedure fichero_guardar_pedidos(var mi_cesta: cesta; var Nfichero: string);
var
fichero: text;
begin
assign(fichero, 'indice.txt');
rewrite(fichero);
if (mi_cesta[0].en_cesta=true) then
writeln(fichero, Nfichero);
close(fichero);
end;
Lo que este procedimiento tiene que hacer es lo siguiente: si "mi_cesta[0].en_cesta=true" tiene que escribir en un fichero de texto llamado "indice.txt" el nombre de la cesta (su nombre es Nfichero). La primera ves que se cumpla esto "mi_cesta[0].en_cesta=true" se supone que se crear un fichero de texto llamado "indice.txt" y se escribe en él el nombre de la cesta (Nfichero).
El problema esta cuando es la 2º vez, o la 3º vez, etc. que hago esto. Porque cuando es la 2º vez, o la 3º vez, etc. lo que pasa es que el nombre que esta alla guardado se sustituye por el nuevo nombre, pero esto no es lo que quiero.
Lo que quiero es que el nombre antiguo se quede y el nuevo nombre se escribe debajo.
Alguien sabe que tengo que cambiar o que tengo que añadir a este procedimiento para que no se sustituya el nombre antiguo por el nuevo, sino que solo se añada el nuevo nombre manteniendo los 2. ??
Eso se hace utilizando un archivo auxiliar, el cual abres para la escritura y copias la información del archivo indice.txt, luego añades, en ese mismo archivo auxiliar, el nombre de la nueva cesta a agregar; una vez hecho esto, borras el archivo indice.txt y renombras el archivo auxiliar con el nombre "indice.txt". Eso es todo. Busca los comandos para hacer todo esto en internet, pero el procedimiento para llevarlo a cabo es como te lo indiqué. Vamos a ver lo que te responda Nacho Cabanes.
Saludos.
Gracias amigo. Voy a buscar los comandos para todo eso y a ver si puedo hacerlo.
Lee el primer párrafo de
http://www.aprendeaprogramar.com/mod/resource/view.php?id=223
" Si queremos abrirlo para escritura, empleamos "rewrite" en vez de "reset", pero esta orden hay que utilizarla con cuidado, porque si el fichero ya existe lo machacaría, dejando el nuevo en su lugar, y perdiendo los datos anteriores."
Y si además llegas al segundo párrafo, que no es muy largo, tendrás todo resuelto... ; - )
"Para abrir el fichero para añadir texto al final, usaríamos "append" en vez de "reset"."
Amigo Nacho ya tengo mi problema resuelto, pero gracias.
Eso que has dicho yo ya lo sabia, el problema es que no sabia como utilizarlo, es decir, no sabia la forma de como ponerlo.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)