|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 1523 (0x5f3)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦a7d6dfecb⟧
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
└─⟦d65440be7⟧ »DATA«
└─⟦a7d6dfecb⟧
└─⟦this⟧
with Directory_Tools;
with Text_Io;
procedure Catenate_Files (Source : String;
Target : String;
Separator : String := String'(1 .. 1 => Ascii.Ff)) is
package Dtn renames Directory_Tools.Naming;
package Dto renames Directory_Tools.Object;
Iter : Dto.Iterator;
The_In_File, The_Out_File : Text_Io.File_Type;
The_Char : Character;
One_File_Passed : Boolean := False;
begin
Text_Io.Create (The_Out_File, Text_Io.Out_File, Target);
Iter := Dtn.Resolution (Name => Source,
Context => Dtn.Default_Context,
Objects_Only => True);
while not Dto.Done (Iter) loop
if One_File_Passed then
Text_Io.Put_Line (The_Out_File, Separator);
end if;
Text_Io.Open (The_In_File, Text_Io.In_File,
Name => Dtn.Unique_Full_Name (Dto.Value (Iter)));
while not Text_Io.End_Of_File (The_In_File) loop
while not Text_Io.End_Of_Line (The_In_File) loop
Text_Io.Get (The_In_File, The_Char);
Text_Io.Put (The_Out_File, The_Char);
end loop;
Text_Io.Skip_Line (The_In_File);
Text_Io.New_Line (The_Out_File);
end loop;
Text_Io.Close (The_In_File);
Dto.Next (Iter);
One_File_Passed := True;
end loop;
Text_Io.Close (The_Out_File);
end Catenate_Files;