|
|
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: 4114 (0x1012)
Types: TextFile
Names: »B«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
with String_Utilities;
with Work_Order_Implementation;
with Window_Io;
with Io;
separate (Cm_Generic)
procedure Display (Work_Order : String := ">>ORDER NAME<<") is
package Woi renames Work_Order_Implementation;
use Woi;
Order_Name : constant String := Work_Order_Path & '.' & Work_Order;
Order_Id : Woi.Work_Order_Id;
Order_Handle : Woi.Work_Order_Handle;
Status : Woi.Status;
Last_Index : Natural;
Di : Woi.Descriptor_Info_Record;
Output : Window_Io.File_Type;
Bold_Font : Window_Io.Font := (Kind => Window_Io.Plain,
Look => (Bold => True, others => False));
procedure Display_Form_Header (F : Forms) is
begin
Window_Io.Insert (Output, "---------- ");
--Window_Io.Insert (Output, Forms'Image (F));
Window_Io.New_Line (Output, 2);
end Display_Form_Header;
procedure Window_It (Str : String) is
Ind : Natural;
Start : Natural := Str'First;
begin
loop
Ind := String_Utilities.Locate
(Character'Val (10), Str (Start .. Str'Last));
if Ind = 0 then
exit;
end if;
Window_Io.Insert (Output, Str (Start .. Ind - 1));
Window_Io.New_Line (File => Output, Lines => 1);
Start := Ind + 1;
end loop;
Window_Io.Insert (Output, Str (Start .. Str'Last));
end Window_It;
begin
Work_Order_Control.Find (Order_Name, Order_Id, Status);
Work_Order_Control.Open (The_Work_Order => Order_Id,
The_Handle => Order_Handle,
Success => Status);
if Status = 0 then
Window_Io.Create (Output, Window_Io.Out_File, Work_Order);
for F in Forms loop
Display_Form_Header (F);
for I in Form_Array (F).Start_Item .. Form_Array (F).End_Item loop
declare
Item_Field : Work_Order_Field_Operations.Field;
Set_Status : Woi.Status;
begin
Work_Order_Field_Operations.Find
(Field_Name => Items'Image (I),
The_Field => Item_Field,
Success => Set_Status,
In_Work_Order => Order_Handle);
Window_Io.Insert (Output, Items'Image (I),
Image => Bold_Font);
Window_Io.Move_Cursor (File => Output,
Delta_Lines => 0,
Delta_Columns => 2,
Offset => 0);
if Set_Status = 0 then
Di := Work_Order_Field_Operations.Descriptor_Info
(Item_Field);
if Di.Is_Vector then
Work_Order_Field_Operations.High_Index
(The_Field => Item_Field,
Result => Last_Index,
Success => Status);
for X in 1 .. Last_Index loop
Window_It (Work_Order_Field_Operations.Value
(The_Field => Item_Field,
Index => X));
end loop;
else
Window_It (Work_Order_Field_Operations.Value
(The_Field => Item_Field));
end if;
end if;
Window_Io.New_Line (File => Output, Lines => 2);
end;
end loop;
end loop;
Window_Io.Close (Output);
Work_Order_Control.Close
(The_Handle => Order_Handle, Success => Status);
else
Io.Put_Line (Io.Standard_Error, "Unable to display " & Work_Order);
end if;
end Display;