Pascal/Turbo Pascal - Existencia de Archivo

 
Vista:

Existencia de Archivo

Publicado por Mariano Gomez Ivaldi (7 intervenciones) el 19/11/2003 01:36:16
Hola,
Queria saber si hay alguna forma en Pascal de comprobar la existencia de un archivo, i.e: C:\archivo.dat, y que el programa verifique:
1)si existe ingrese a él y lo modifique(reset, y pongo puntero en EOF),
2)si no existe creo uno nuevo (rewrite),

La dificultad está en que no puedo hacer reset de un archivo q no existe, (tendria que tener siempre un archivo.dat creado) ya que da error, y no se puede hacer siempre rewrite ya que elimina la informacion preexistente.

Se entiende ?
Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Existencia de Archivo

Publicado por Morito (176 intervenciones) el 19/11/2003 02:13:00
Bueno por lo que entiendo quieres, editar el archivo si es que existe.

Eso se puede hacer con un Rewrite

assign ('C:archivos.dat');
reset(archivos);
if IOresult <> 0 then
Rewrite(y la variable , como por ejemplo Archivos);
Close(archivos);
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Existencia de Archivo

Publicado por Mariano Gomez Ivaldi (7 intervenciones) el 19/11/2003 02:32:17
Excelente, muchas gracias! y que es lo que hace exactamente IORESULT ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Existencia de Archivo

Publicado por Morito (176 intervenciones) el 19/11/2003 03:26:32
Bueno realmente, yo no le sé el significado concreto, pero es : "si es que lo que buscas no está te lo crea.

Pero me había faltado algo, antes de CLOSE(archivos);

iba un WRITE(UNA variable record, text o file, y archivos);

SAludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Existencia de Archivo

Publicado por Morito (176 intervenciones) el 19/11/2003 03:47:23
Bueno esa es nuestra labor, ayudarnos pues

Si necesitas más ayuda no te preocupes, pero aquí el que sabe más es Diego Romero, aparentemente. Si no lo crees clickea en el link de expertos, también aparezco yo pero mucho más abajo.

Espero seguir ayudandote si es que lo necesitas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Existencia de Archivo (aclaración sobre IOResul

Publicado por Diego Romero (786 intervenciones) el 19/11/2003 15:54:43
IOResult es una función que devuelve el código de error que el MS-DOS envía al programa cuando se usan archivos (y no solo archivos) si este devuelve cero es que no hubo error.
Quisiera además dejar un ejemplo un poco más elaborado que el que mostró Morito:
function ExisteArchivo(Nombre: string):boolean;
var
Arch: file;
begin
Assign(Arch, Nombre);
{$i-}
Reset(Arch,1);
{$i+}
if IOResult = #0 then
ExisteArchivo:=true
else
ExisteArchivo:=false;
Close(Arch);
end;

Aquí uso una directiva de compilación $I para Turbo Pascal que "apaga" el control de errores en tiempo de ejecución para errores de entrada/salida posibilitando así que IOResult se cargue con el error correcto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar