Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
32
Task/Unix-ls/Ada/unix-ls.ada
Normal file
32
Task/Unix-ls/Ada/unix-ls.ada
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
with Ada.Text_IO, Ada.Directories, Ada.Containers.Indefinite_Vectors;
|
||||
|
||||
procedure Directory_List is
|
||||
|
||||
use Ada.Directories, Ada.Text_IO;
|
||||
Search: Search_Type; Found: Directory_Entry_Type;
|
||||
package SV is new Ada.Containers.Indefinite_Vectors(Natural, String);
|
||||
Result: SV.Vector;
|
||||
package Sorting is new SV.Generic_Sorting; use Sorting;
|
||||
function SName return String is (Simple_Name(Found));
|
||||
|
||||
begin
|
||||
-- search directory and store it in Result, a vector of strings
|
||||
Start_Search(Search, Directory => ".", Pattern =>"");
|
||||
while More_Entries(Search) loop
|
||||
Get_Next_Entry(Search, Found);
|
||||
declare
|
||||
Name: String := Simple_Name(Found);
|
||||
begin
|
||||
if Name(Name'First) /= '.' then
|
||||
Result.Append(Name);
|
||||
end if; -- ingnore filenames beginning with "."
|
||||
end;
|
||||
end loop; -- Result holds the entire directory in arbitrary order
|
||||
|
||||
Sort(Result); -- Result holds the directory in proper order
|
||||
|
||||
-- print Result
|
||||
for I in Result.First_Index .. Result.Last_Index loop
|
||||
Put_Line(Result.Element(I));
|
||||
end loop;
|
||||
end Directory_List;
|
||||
Loading…
Add table
Add a link
Reference in a new issue