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

⟦a33536d40⟧ Ada Source

    Length: 8192 (0x2000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Screen, seg_048d39, seg_04924a, seg_049487

Derivation

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

E3 Source Code



with Window_Io, String_Utilities;
package body Screen is

    Player_Window_In, Player_Window_Out, World_Window_Out, Help_Window_Out :
       Window_Io.File_Type;
    Line : Line_Number := 1;
    Column : Column_Number := 1;

    procedure Query (Input : File_Type;
                     Output : File_Type;
                     Prompt : String;
                     Line : Line_Number;
                     Column : Column_Number;
                     Item : out String;
                     Last : out Natural) is

    begin
        Position_Cursor (Output, Line, Column);
        Delete_Lines (Output);
        Overwrite (Output, Item => Prompt, Kind => Window_Io.Prompt);
        Position_Cursor (Input, Line, Column + 1);
        Get_Line (Input, "", Item, Last);
    end Query;

    procedure Open_Player_Window is

    begin
        Open (Player_Window_In, In_File, "Fenetre Joueur");
        Open (Player_Window_Out, Out_File, "Fenetre Joueur");
        Set_Banner (Player_Window_In, "Field_3", "Fred Ged Xav LSIs 95");
    end Open_Player_Window;

    procedure Close_Player_Window is

    begin
        Delete (Player_Window_In);
    end Close_Player_Window;

    procedure Read_Player_Window (Item : out String; Last : out Natural) is

        Local_Item : String (1 .. 80);
        Local_Last : Natural;

    begin  
        if Window_Io.Is_Open (Player_Window_In) then
            Report_Cursor (Player_Window_In, Line, Column);
            Query (Player_Window_In, Player_Window_Out,
                   Prompt => ">",
                   Line => Line,
                   Column => 1,
                   Item => Local_Item,
                   Last => Local_Last);

            Item (1 .. Local_Last) := String_Utilities.Lower_Case
                                         (Local_Item (1 .. Local_Last));
            Last := Local_Last;

        end if;
    end Read_Player_Window;

    procedure Write_Player_Window (Item : in String;
                                   Font : in Window_Io.Font := Normal_Font) is
    begin
        if Window_Io.Is_Open (Player_Window_Out) then
            Overwrite (Player_Window_Out, Item, Font);
            New_Line (Player_Window_Out);  
        end if;
    end Write_Player_Window;

    procedure Open_World_Window is

    begin
        Open (World_Window_Out, Out_File, "Fenetre Monde");
        Set_Banner (World_Window_Out, "Field_3", "Fred Ged Xav LSIs 95");
    end Open_World_Window;

    procedure Close_World_Window is

    begin
        Delete (World_Window_Out);
    end Close_World_Window;

    procedure Write_World_Window (Item : in String;
                                  Font : in Window_Io.Font := Normal_Font) is
    begin  
        if Window_Io.Is_Open (World_Window_Out) then
            Overwrite (World_Window_Out, Item, Font);
        end if;
    end Write_World_Window;

    procedure New_Line_World_Window (Lines : Natural := 1) is

    begin
        New_Line (World_Window_Out, Lines);
    end New_Line_World_Window;


    procedure Open_Help_Window is

    begin
        Open (Help_Window_Out, Out_File, "Fenetre d'aide");
        Set_Banner (Help_Window_Out, "Field_3", "Fred Ged Xav LSIs 95");
    end Open_Help_Window;

    procedure Close_Help_Window is

    begin
        Delete (Help_Window_Out);
    end Close_Help_Window;

    procedure Write_Help_Window (Item : in String;
                                 Font : in Window_Io.Font := Normal_Font) is
    begin
        if Window_Io.Is_Open (Help_Window_Out) then
            Overwrite (Help_Window_Out, Item, Font);
        end if;
    end Write_Help_Window;

    procedure New_Line_Help_Window (Lines : Natural := 1) is

    begin
        New_Line (Help_Window_Out, Lines);
    end New_Line_Help_Window;

end Screen;

E3 Meta Data

    nblk1=7
    nid=3
    hdr6=8
        [0x00] rec0=1f rec1=00 rec2=01 rec3=006
        [0x01] rec0=1f rec1=00 rec2=06 rec3=024
        [0x02] rec0=1e rec1=00 rec2=02 rec3=02a
        [0x03] rec0=23 rec1=00 rec2=07 rec3=000
        [0x04] rec0=0f rec1=00 rec2=05 rec3=000
        [0x05] rec0=42 rec1=ff rec2=bd rec3=3fa
        [0x06] rec0=6a rec1=f4 rec2=00 rec3=02d
    tail 0x2174d2b96865aa1d61d4a 0x42a00088462060003
Free Block Chain:
  0x3: 0000  00 04 03 b7 80 1f 69 6e 64 6f 77 20 28 4c 69 6e  ┆      indow (Lin┆
  0x4: 0000  00 05 00 20 80 09 70 5f 77 69 6e 64 6f 77 3b 09  ┆      p_window; ┆
  0x5: 0000  00 00 03 fa 80 30 6e 5f 50 6c 61 79 65 72 5f 49  ┆     0n_Player_I┆