SoloCodigo

Programación General => Pascal => Mensaje iniciado por: darmigmar en Domingo 21 de Noviembre de 2004, 06:58

Título: Crear Un Archivo
Publicado por: darmigmar en Domingo 21 de Noviembre de 2004, 06:58
Hola, qué tal? Yo de nuevo, molestando. El punto es que quería saber como crear un archivo nuevo sin que se sobreescriba cada vez que ejecuto o corro el programa. A los que lo sepan (seguramente todos) les agradecería que me dieran una mano. Gracias.
Título: Re: Crear Un Archivo
Publicado por: Amilius en Domingo 21 de Noviembre de 2004, 14:40
Si no quieres sobreescribir un archivo ya existente con FileExists verifica si existe primero y si es así agrega los nuevos datos al final del archivo usando reset y seek (archivos binarios) o Append (archivos de texto) en lugar de usar el rewrite.
Título: Re: Crear Un Archivo
Publicado por: darmigmar en Domingo 21 de Noviembre de 2004, 21:54
Muchísimas gracias.
Título: Re: Crear Un Archivo
Publicado por: Enko en Martes 30 de Noviembre de 2004, 00:22
Tambien puedes desactivar temporalmente la verificacion de la entrada/salida y comprobar tu mismo los errores con IOResult.

Para desactivar la verificacion de I/O: {$I-}
Para activar la verificacion de I/O: {$I+}
Nota que {$Letra,+/-} son directivas de compilacion y no comentarios
y luego tenes a la funcion IOResult que es distinto de 0 si algo paso mal

Lo que hace este codigo es resetear  un Archivo de  NOmbre Archivo, si este no existe crea uno nuevo.

Código: Text
  1.  
  2.  Assign(Archivo, 'Archivo.dat');
  3.   {$I-}
  4.     Reset(Archivo);
  5.     if IOResult <> 0 then {archivo no existe}
  6.     begin
  7.       WriteLn('No se encuentra el archivo');
  8.       WriteLn('Desea crear uno nuevo');
  9.       res := ReadKey;
  10.       if (res = 's') or (res = 'S') then ReWrite(Archivo);
  11.     end;
  12.   {$I+}
  13. end;
  14.  
  15.  

La funcion IOResult devuelve varios valores además de cero con distintos mensajes de error, lo que si, es que no tengo ahora la tabla de los errores. <_<