|
|
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 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: R1K_ARCHIVE_INDEX DATA: 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⟧