with Ada.Text_IO;
with Ada.Directories; use Ada.Directories;
with Ada.Calendar.Formatting;
procedure aDir is
package IO renames Ada.Text_IO;
package D renames Ada.Directories;
package IOI is new IO.Integer_IO (D.File_Size);
package ACF renames Ada.Calendar.Formatting;
A_Search : D.Search_Type;
Search_Item : D.Directory_Entry_Type;
Filter : constant D.Filter_Type := (D.Ordinary_File => True,
D.Special_File => False,
D.Directory => True);
begin
D.Start_Search (Search => A_Search,
Directory => D.Current_Directory,
Pattern => "",
Filter => Filter);
while D.More_Entries (Search => A_Search) loop
D.Get_Next_Entry (Search => A_Search,
Directory_Entry => Search_Item);
IO.Put (Item => D.Simple_Name (Directory_Entry => Search_Item));
IO.Set_Col (To => 25);
if D.Kind (Directory_Entry => Search_Item) = D.Ordinary_File then
IOI.Put (Item => D.Size (Directory_Entry => Search_Item),
Width => 1);
IO.Put (Item => " bytes");
else
IO.Put (Item => "dir");
end if;
IO.Set_Col (To => 45);
IO.Put (Item => ACF.Image
(D.Modification_Time (Directory_Entry => Search_Item)));
IO.Set_Col (To => 70);
IO.Put (Item => D.Full_Name (Directory_Entry => Search_Item));
IO.New_Line;
end loop;
D.End_Search (Search => A_Search);
end Adir;
with Ada.Text_IO;
with Ada.Directories; use Ada.Directories;
with Ada.Calendar.Formatting;
procedure aDir is
package IO renames Ada.Text_IO;
package D renames Ada.Directories;
package IOI is new IO.Integer_IO (D.File_Size);
package ACF renames Ada.Calendar.Formatting;
procedure Write_Search_Item (Search_Item : in D.Directory_Entry_Type) is
begin
IO.Put (Item => D.Simple_Name (Directory_Entry => Search_Item));
IO.Set_Col (To => 25);
if D.Kind (Directory_Entry => Search_Item) = D.Ordinary_File then
IOI.Put (Item => D.Size (Directory_Entry => Search_Item),
Width => 1);
IO.Put (Item => " bytes");
else
IO.Put (Item => "dir");
end if;
IO.Set_Col (To => 45);
IO.Put (Item => ACF.Image
(D.Modification_Time (Directory_Entry => Search_Item)));
IO.Set_Col (To => 70);
IO.Put (Item => D.Full_Name (Directory_Entry => Search_Item));
IO.New_Line;
end Write_Search_Item;
Filter : constant D.Filter_Type := (D.Ordinary_File => True,
D.Special_File => False,
D.Directory => True);
begin
D.Search (Directory => D.Current_Directory,
Pattern => "",
Filter => Filter,
Process => Write_Search_Item'Access);
end aDir;
Go back