lunes, 29 de agosto de 2011

Ada- Accediendo a archivos secuenciales

  -- Primitivas para la manipulacion de Archivos secuenciales

   procedure Leer_TipoDeDato (
         Cad_TipoDeDato : in out Ptr_TipoDeDato )IS
 
      File : TipoDeDato_Seq.File_Type; 
      Tmp : Ptr_TipoDeDato          := null; 
   begin

      begin
         Open(
            File => File,           
            Mode => In_File,        
            Name => "LasAxilasSonDeliciosas.sec"
            );

      exception
         when Ada.Io_Exceptions.Name_Error =>
            Put_Line("FELICIDADES QUERIDO USUARIO ! ACABA DE INICIALIZAR EL PROGRAMA");
            return;
      end;

      loop
         exit when End_Of_File(File => File);
         Tmp:=new T_TipoDeDato;
         Read(File, Tmp.All);
         Tmp.All.Siguiente:=null;
         Insertar_Final(Cad_TipoDeDato,Tmp);
      end loop;
      Close(File => File);
   END Leer_TipoDeDato ;


   procedure Guardar_TipoDeDato (
         Cad_TipoDeDato : in     Ptr_TipoDeDato )IS
    File : TipoDeDato_Seq.File_Type; 
    Tmp  : Ptr_TipoDeDato; 
   begin
      Tmp:=Cad_TipoDeDato; --cabeza
      Create(File, Out_File,"LasAxilasSonDeliciosas.sec");
      loop
         exit when Tmp=null;
         Write (File,Tmp.All);
         Tmp:=Tmp.All.Siguiente;
      end loop;
      Close(File => File);
  
   END Guardar_TipoDeDato ;
 

No hay comentarios:

Publicar un comentario