---------------------------------------------------------------------- -- Author : David Wallace Croft, CompuServe [76600,102] -- Compiler : Meridian OpenAda for DOS -- Description : Disk file and directory access. ---------------------------------------------------------------------- with ErroAKD; use ErroAKD; with File_IO; Package DiskAKD is ---------------------------------------------------------------------- ---------------------------------------------------------------------- Copyright : constant string := "DiskAKD v1.10 (C) 1994 David Wallace Croft. All rights reserved."; ---------------------------------------------------------------------- subtype Dir_Name_Type is string; subtype File_Attributes is File_IO.File_Attributes; subtype File_Data_Type is File_IO.File_Data; subtype File_Handle_Type is File_IO.File_Handle; subtype File_Name_Type is string ( 1..12 ); subtype Transfer_Data is File_IO.Transfer_Data; ---------------------------------------------------------------------- Procedure Append_File( Append_File: in string; In_Str: in string; Error: out Error_DOS_Type); Procedure Append_File( Handle: in File_Handle_Type; In_Str: in string; Error: out Error_DOS_Type); Procedure Close_File( Handle: in File_Handle_Type; Error: out Error_DOS_Type); procedure Delete ( File_Name : in out File_Name_Type; Error : out Error_DOS_Type; Path_Name : in string := "" ); procedure Delete ( Path_File_Name : in string; Error : out Error_DOS_Type ); procedure DelSub ( Error : out Error_DOS_Type; Dead_File : in File_Name_Type; Dir_Name : in Dir_Name_Type := "" ); procedure Demo; Procedure Dir(Template: in string; Count: out natural); function Dir_Delete ( Dir_Name: in Dir_Name_Type ) return Error_DOS_Type; function File_Exists ( File_Name : in string ) return boolean; Function File_Picked(Template: in string) return string; procedure Find_First ( Template : in string; Transfer_Area : in out Transfer_Data; File_Data : out File_Data_Type; Error : out Error_DOS_Type; Search_Attributes : in File_Attributes := ( others => false ) ); procedure Find_Next ( Transfer_Area : in out Transfer_Data; File_Data : out File_Data_Type; Error : out Error_DOS_Type ); Procedure Find_Nth ( Template: in string; Nth: in positive; File_Data: out File_Data_Type; Error: out Error_DOS_Type; Search_Attributes: in File_IO.File_Attributes := ( others => false ) ); function Move ( From : in string; To : in string ) return Error_DOS_Type; Procedure Open_File ( File_Name : in string; Handle : out File_Handle_Type; Error : out Error_DOS_Type; Warn : in boolean := true ); Procedure Open_New_File( File_Name: in string; Handle: out File_Handle_Type; Error: out Error_DOS_Type); function Prune ( Dir_Name: in Dir_Name_Type ) return Error_DOS_Type; Procedure ReadLn ( Handle: in File_Handle_Type; OutStr: out string; Is_End_of_File: out boolean; Error: out Error_DOS_Type); function Rename ( From : in string; To : in string ) return Error_DOS_Type; Procedure Show_File ( File_Name : in string; Error : out Error_DOS_Type; Warn : in boolean := true; Clear_Screen : in boolean := true; End_Pause : in boolean := true ); Procedure Split_File_Name ( Original_Name : in string; First_8 : out string; Extension : out string); Procedure Write( Handle: in File_Handle_Type; InStr: in string; Error: out Error_DOS_Type); Procedure WriteLn( Handle: in File_Handle_Type; InStr: in string; Error: out Error_DOS_Type); Procedure Write_Both( Handle: in File_Handle_Type; InStr: in string; Error: out Error_DOS_Type); Procedure WriteLn_Both( Handle: in File_Handle_Type; Error: out Error_DOS_Type); Procedure WriteLn_Both( Handle: in File_Handle_Type; InStr: in string; Error: out Error_DOS_Type); ---------------------------------------------------------------------- ---------------------------------------------------------------------- end DiskAKD;