Función ExisteArchivo.


El siguiente programa implementa una función que verifica si el archivo físico pasado como parámetro existe y es accesible desde el programa que llama la función.

La definición del registro del archivo es la misma que he implementado al inicio de estos ejemplos.

program exisarch;
uses crt;
const
NombreFisico='agenda.dat';
type
   TStr30=String[30];
   TStr50=String[50];
 TFecha=record
   Ano, Mes, Dia:Byte;
   end; { TFecha }
   TRegistro=record
   Nombre, Apellido: TStr30;
   Edad: byte;
   Direccion: TStr50;
   FechaCumple: TFecha;
   end; { TRegistro }
 TFileOfRegistro= File of TRegistro;
var
  Archivo: TFileOfRegistro;
  Registro: TRegistro;
  UltimoError: Integer; { Para almacenar el último error dado por IOResult    }
{ Verifica que el archivo físico pasado como parámetro exista y sea accesible
Devuelve true si es accesible, false en caso contrario }
function ExisteArchivo(NF:String): boolean;
begin
   Assign(Archivo, NF);       { Asigna el nombre físico al lógico }
   {$i-}                      { Deshabilita el control autom tico de errores de entrada/salida    }
   Reset(Archivo);            { Trata de abrir el archivo }
   {$i+}                      { Habilita el control de errores de E/S }
   UltimoError:=IOResult;     { Se almaceda el último error de E/S }
   If UltimoError = 0 then    { Si es igual a cero, el archivo existe y es accesible    }
     begin
       Close(Archivo);        { Cierro el archivo para no interferir en próximas utilizaciones}
                              { del archivo}
       ExisteArchivo:=true;   { Devuelvo true a la función }
     end
   else ExisteArchivo:=false; { Devuelvo false a la función }
end; { ExisteArchivo }
begin
  if ExisteArchivo(NombreFisico) then
    begin
      WriteLn('El archivo ',NombreFisico,' está presente en el directorio actual.');
    end
 else
    begin
      Write('No se pudo abrir el archivo ',NombreFisico,'.'); 
      Writeln('El número de error    es ', UltimoError);
    end;
ReadKey; { Espera a que se presione una tecla }
end.

Esta función la trasladaré a nuestra unidad DEFIN.PAS para poder usarla más adelante.


Regresar


inicio
Si llegaste a esta pagina desde un buscador
haz click aqui para ir a la pagina principal
Hosted by www.Geocities.ws

1