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 - downloadIndex: ┃ B D R T V ┃
Length: 9515 (0x252b) Types: R1K_ARCHIVE_DATA, TextFile Names: »DATA«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─ ⟦d65440be7⟧ »DATA« └─⟦this⟧
procedure Catenate_Files (Source : String; Target : String; Separator : String := String'(1 .. 1 => Ascii.Ff));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; procedure Count_Lines (Name : String := "<IMAGE>"; Detail : Boolean := True);with Directory_Tools; with Text_Io; procedure Count_Lines (Name : String := "<IMAGE>"; Detail : Boolean := True) is package Dtn renames Directory_Tools.Naming; package Dto renames Directory_Tools.Object; Iter : Dto.Iterator; The_File : Text_Io.File_Type; The_Length : Natural; The_Count : Natural := 0; The_Total : Natural := 0; begin Iter := Dtn.Resolution (Name => Name, Context => Dtn.Default_Context, Objects_Only => True); while not Dto.Done (Iter) loop Text_Io.Open (The_File, Text_Io.In_File, Name => Dtn.Unique_Full_Name (Dto.Value (Iter))); The_Count := 0; while not Text_Io.End_Of_File (The_File) loop Text_Io.Skip_Line (The_File); The_Count := The_Count + 1; end loop; Text_Io.Close (The_File); if Detail then Text_Io.Put_Line (Integer'Image (The_Count) & Ascii.Ht & Dtn.Unique_Full_Name (Dto.Value (Iter))); end if; The_Total := The_Total + The_Count; Dto.Next (Iter); end loop; Text_Io.Put_Line ("total => " & Integer'Image (The_Total) & " lines"); end Count_Lines; procedure Print (File : String := "<IMAGE>");with Catenate_Files; with Library; with Rs6000_Remote_Exec; with System_Utilities; with Time_Utilities; procedure Print (File : String := "<IMAGE>") is Temp_Name : constant String := "!local.tmp." & System_Utilities.User_Name & Time_Utilities.Image (Date => Time_Utilities.Get_Time, Date_Style => Time_Utilities.Expanded, Time_Style => Time_Utilities.Ada, Contents => Time_Utilities.Time_Only); begin Catenate_Files (File, Temp_Name); Rs6000_Remote_Exec.Spool (File => Temp_Name); Library.Delete (Temp_Name); end Print;procedure Demo (Display : String := "aconit:0"); \f with Xlbt_Arithmetic; use Xlbt_Arithmetic; package Easy_X is type Events is (Update, Button_Up, Button_Down); type Fonts is (Small_Font, Medium_Font, Large_Font); subtype Coordinate is S_Short; subtype Dimension is U_Short_Positive; procedure Open (Display : String; Title : String := "Easy_X"; Left, Right : Coordinate := 100; Width, Height : Dimension := 800); procedure Move_To (X, Y : Coordinate); procedure Line_To (X, Y : Coordinate); procedure Set_Pen (Size : Dimension); procedure Set_Font (To : Fonts); procedure Draw_String (The_String : String); function Next_Event return Events; procedure Close; package Arithmetic is function "+" (C : Coordinate; D : Dimension) return Coordinate; function "-" (C : Coordinate; D : Dimension) return Coordinate; function "/" (D : Dimension; Scale : Positive) return Dimension; function "*" (D : Dimension; Scale : Positive) return Dimension; function "+" (D1, D2 : Dimension) return Dimension renames Xlbt_Arithmetic."+"; function "-" (D1, D2 : Dimension) return Dimension renames Xlbt_Arithmetic."-"; end Arithmetic; Fatal_Error, Value_Error : exception; end Easy_X; \f with Easy_X; use Easy_X; package Graphic_Objects is procedure Draw_Line (X1, Y1, X2, Y2 : Coordinate); procedure Draw_Rectangle (X, Y : Coordinate; W, H : Dimension); procedure Draw_Wind_Mill (X, Y : Coordinate; Size : Dimension); procedure Draw_The_Netherlands (Left, Bottom : Coordinate; Width : Dimension); end Graphic_Objects;package Rs6000_Remote_Exec is procedure Initialize; procedure Execute (Command : String := ""); procedure Put (File : String := ""); procedure Spool (File : String := ""); procedure Finalize; end Rs6000_Remote_Exec;with Ftp; with Ftp_Defs; with Ftp_Profile; with Io; with Profile; with Remote_Operations; with System_Utilities; with Time_Utilities; package body Rs6000_Remote_Exec is package Ro renames Remote_Operations; package Su renames System_Utilities; package Tu renames Time_Utilities; Printer_User : constant String := "r1000"; Printer_User_Password : constant String := "Rational"; Rs6000 : constant String := "aconit"; The_Context : Ro.Context; The_Status : Ro.Error_Status; procedure Initialize is begin Ro.Acquire (A_Context => The_Context, Status => The_Status, Machine => Rs6000, User => Printer_User, Password => Printer_User_Password, Session => "", Instance => ""); end Initialize; procedure Execute (Command : String := "") is begin Ro.Execute (Command => Command, In_Context => The_Context, Status => The_Status, Timeout => Remote_Operations.Wait_Forever); end Execute; procedure Put (File : String := "") is begin [statement] end Put; procedure Finalize is begin Ro.Release (A_Context => The_Context, Status => The_Status, Idle_Timeout => Remote_Operations.Default); end Finalize; procedure Spool (File : String := "") is The_Context : Ro.Context; The_Status : Ro.Error_Status; Temp_Name : constant String := "/tmp/" & Su.User_Name & Tu.Image (Date => Tu.Get_Time, Date_Style => Time_Utilities.Expanded, Time_Style => Time_Utilities.Ada, Contents => Time_Utilities.Time_Only); begin Io.Echo_Line (File & " spooled to Aconit"); Ro.Acquire (A_Context => The_Context, Status => The_Status, Machine => Rs6000, User => Printer_User, Password => Printer_User_Password, Session => "", Instance => ""); -- Ro.Put (From_File => File, -- To_File => Temp_Name, -- In_Context => The_Context, -- Status => The_Status, -- Append => False, -- Options => ""); Profile.Set (Profile => "<QUIET>", Status => The_Status); Ftp.Put (From_Local_File => File, To_Remote_File => Temp_Name, Remote_Machine => Rs6000, Username => Printer_User, Password => Printer_User_Password, Account => Ftp_Profile.Account, Remote_Directory => Ftp_Profile.Remote_Directory, Remote_Type => "unix", Append_To_File => False, Transfer_Type => Ftp_Defs.Image, Transfer_Mode => Ftp_Profile.Transfer_Mode, Transfer_Structure => Ftp_Profile.Transfer_Structure, Send_Port => Ftp_Profile.Send_Port_Enabled, Response => Profile.Get); Ro.Execute (Command => "lpr -Plp " & Temp_Name, In_Context => The_Context, Status => The_Status, Timeout => Remote_Operations.Wait_Forever); Ro.Delete_File (In_Context => The_Context, With_Name => Temp_Name, Status => The_Status, Options => ""); Ro.Release (A_Context => The_Context, Status => The_Status, Idle_Timeout => Remote_Operations.Default); end Spool; end Rs6000_Remote_Exec;
INDEX: ⟦c0a3df774⟧ R1K_ARCHIVE_INDEX DATA: ⟦a7d6dfecb⟧ R1K_ARCHIVE_DATA, TextFile
0x0000…00a9 ⟦109e0b8fd⟧ 0x00a9…069c ⟦1f6aa3557⟧ 0x069c…06e9 ⟦5ab569006⟧ 0x06e9…0bde ⟦1b32d70b3⟧ 0x0bde…0c0b ⟦6afac689f⟧ 0x0c0b…0e95 ⟦23d735b77⟧ 0x0e95…1555 ⟦918a90529⟧ 0x1555…1646 ⟦4a774db18⟧ 0x1646…252b ⟦aae93d479⟧