DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦589b8bcc1⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Display, seg_04b163, seg_04b443

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



package body Display is



    procedure Open_Window
                 (Name : in String; The_Window : in out Window; Mode : Ways) is  
        In_Window, Out_Window : Window_Io.File_Type;
    begin
        if not (The_Window.Already_Opened) then
            case Mode is
                when Input_Window =>
                    Window_Io.Open (In_Window, Window_Io.In_File, Name);  
                    The_Window := (Input_Window, True, In_Window);
                when Output_Window =>
                    Window_Io.Open (Out_Window, Window_Io.Out_File, Name);  
                    The_Window := (Output_Window, True, Out_Window);
                when Input_Output_Window =>  
                    Window_Io.Open (In_Window, Window_Io.In_File, Name);
                    Window_Io.Open (Out_Window, Window_Io.Out_File, Name);
                    The_Window := (Input_Output_Window, True,
                                   In_Window, Out_Window);
            end case;  
        end if;
    end Open_Window;


    procedure Close_Window (The_Window : in out Window) is
    begin  
        if (The_Window.Already_Opened) then
            case The_Window.Kind is
                when Input_Window =>
                    Window_Io.Close (The_Window.Handle_On_Input_Window);
                when Output_Window =>
                    Window_Io.Close (The_Window.Handle_On_Output_Window);  
                when Input_Output_Window =>
                    Window_Io.Close (The_Window.Handle_On_Window_For_Input);
                    Window_Io.Close (The_Window.Handle_On_Window_For_Output);  
            end case;
            The_Window.Already_Opened := False;
        end if;  
    end Close_Window;


    procedure Put (What : String; In_Window : Window) is
    begin
        case In_Window.Kind is
            when Output_Window =>
                Window_Io.Overwrite (In_Window.Handle_On_Output_Window, What);  
            when Input_Output_Window =>
                Window_Io.Overwrite
                   (In_Window.Handle_On_Window_For_Output, What);  
            when Input_Window =>
                null;
        end case;
    end Put;


    procedure Put_Line (What : String; In_Window : Window) is
    begin  
        if (In_Window.Already_Opened) then
            case In_Window.Kind is
                when Output_Window =>
                    Window_Io.Overwrite
                       (In_Window.Handle_On_Output_Window, What);
                    Window_Io.New_Line (In_Window.Handle_On_Output_Window);
                when Input_Output_Window =>
                    Window_Io.Overwrite
                       (In_Window.Handle_On_Window_For_Output, What);
                    Window_Io.New_Line (In_Window.Handle_On_Window_For_Output);
                when Input_Window =>
                    null;
            end case;
        end if;
    end Put_Line;



    procedure New_Line (In_Window : Window) is
    begin  
        if (In_Window.Already_Opened) then
            case In_Window.Kind is
                when Output_Window =>
                    Window_Io.New_Line (In_Window.Handle_On_Output_Window);  
                when Input_Output_Window =>  
                    Window_Io.New_Line (In_Window.Handle_On_Window_For_Output);
                when Input_Window =>
                    null;  
            end case;
        end if;
    end New_Line;


end Display;

E3 Meta Data

    nblk1=5
    nid=2
    hdr6=8
        [0x00] rec0=17 rec1=00 rec2=01 rec3=02e
        [0x01] rec0=1b rec1=00 rec2=03 rec3=032
        [0x02] rec0=1d rec1=00 rec2=04 rec3=030
        [0x03] rec0=10 rec1=00 rec2=05 rec3=000
        [0x04] rec0=80 rec1=00 rec2=00 rec3=100
    tail 0x2174fdbcc867b6e70a0fc 0x42a00088462060003
Free Block Chain:
  0x2: 0000  00 00 01 62 80 1c 20 20 20 20 20 20 20 77 68 65  ┆   b         whe┆