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

⟦0f9a4d45e⟧ Ada Source

    Length: 9216 (0x2400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Test_Fenetre, seg_04046c

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



with Window_Io;
with Fonts;
with Draw_Box;  
with Editor;
with Carte;
--with Job;
--with String_Utilities;

package body Test_Fenetre is  
    Une_Fenetre : Window_Io.File_Type;
    A_Stream : Window_Io.Raw.Stream_Type;
    Item : Window_Io.Raw.Key;

    procedure Mouvement (Une_Fenetre : Window_Io.File_Type;
                         On_Line : in out Window_Io.Line_Number;
                         On_Column : in out Window_Io.Column_Number) is
    begin
        -- Window_Io.Create (Une_Fenetre, Name => "MaFenetre");


        -- ******* pour voir les codes des touches clavier **********
        --    for I in 1 .. 10 loop
        --        Window_Io.Raw.Get (A_Stream, Item);
        --        Window_Io.Overwrite
        --           (Une_Fenetre, Window_Io.Raw.Key'Image (Item), Fonts.Normal);
        --    end loop;


        Window_Io.Position_Cursor (Une_Fenetre, On_Line, On_Column);
        Window_Io.Overwrite (Une_Fenetre, Cursor, Fonts.Normal);

        Window_Io.Raw.Open (A_Stream);
        Window_Io.Raw.Get (A_Stream, Item);


        while Window_Io.Raw."/=" (Item, M_Key) loop
            case Item is
                when Left_Arrow_Key =>
                    if not Carte.Walls (On_Line, On_Column - 1) then
                        Window_Io.Position_Cursor
                           (Une_Fenetre, On_Line, On_Column);
                        Window_Io.Overwrite (Une_Fenetre, ' ', Fonts.Normal);
                        On_Column := On_Column - 1;
                        Window_Io.Position_Cursor
                           (Une_Fenetre, On_Line, On_Column);
                        Window_Io.Overwrite (Une_Fenetre, Cursor, Fonts.Normal);
                    end if;
                when Up_Arrow_Key =>  
                    if not Carte.Walls (On_Line - 1, On_Column) then
                        Window_Io.Position_Cursor
                           (Une_Fenetre, On_Line, On_Column);
                        Window_Io.Overwrite (Une_Fenetre, ' ', Fonts.Normal);
                        On_Line := On_Line - 1;
                        Window_Io.Position_Cursor
                           (Une_Fenetre, On_Line, On_Column);
                        Window_Io.Overwrite (Une_Fenetre, Cursor, Fonts.Normal);

                    end if;
                when Right_Arrow_Key =>  
                    if not Carte.Walls (On_Line, On_Column + 1) then
                        Window_Io.Position_Cursor
                           (Une_Fenetre, On_Line, On_Column);
                        Window_Io.Overwrite (Une_Fenetre, ' ', Fonts.Normal);
                        On_Column := On_Column + 1;
                        Window_Io.Position_Cursor
                           (Une_Fenetre, On_Line, On_Column);
                        Window_Io.Overwrite (Une_Fenetre, Cursor, Fonts.Normal);
                    end if;

                when Down_Arrow_Key =>  
                    if not Carte.Walls (On_Line + 1, On_Column) then
                        Window_Io.Position_Cursor
                           (Une_Fenetre, On_Line, On_Column);
                        Window_Io.Overwrite (Une_Fenetre, ' ', Fonts.Normal);
                        On_Line := On_Line + 1;
                        Window_Io.Position_Cursor
                           (Une_Fenetre, On_Line, On_Column);
                        Window_Io.Overwrite (Une_Fenetre, Cursor, Fonts.Normal);
                    end if;

                when others =>

                    Window_Io.Overwrite (Une_Fenetre, 'x', Fonts.Normal);
            end case;

            Window_Io.Raw.Get (A_Stream, Item);

            --   Window_Io.Overwrite
            --      (Une_Fenetre, Window_Io.Raw.Convert (Item), Fonts.Normal);

            --   Window_Io.Open (Une_Fenetre, Name => "MaFenetre");
            --  Draw_Box (Une_Fenetre, 1, 1, 1, 1);

            --   for I in 1 .. 10 loop
            --       Draw_Box (Une_Fenetre, 2 * I, 2 * I, 3, 3);
            --   end loop;
            --   delay 4.0;
            --   for I in 1 .. 2 loop
            --       Editor.Image.Right (2);
            --       delay 0.1;
            --       Editor.Image.Up (2);
            --       delay 0.1;
            --       Editor.Image.Left (2);
            --       delay 0.1;
            --       Editor.Image.Down (2);
            --       delay 0.1;
            --   end loop;


            -- ****** Pour voir les caracteres graphiques *********
            --   for I in 'a' .. 'z' loop
            --       Window_Io.Overwrite (Une_Fenetre, I, Fonts.Normal);
            --       Window_Io.Overwrite (Une_Fenetre, I, Fonts.Graphics);
            --       Window_Io.Move_Cursor (Une_Fenetre, 1, -2);   -- descend 1 et gauche 2
            --   end loop;
        end loop;
    end Mouvement;
end Test_Fenetre;


E3 Meta Data

    nblk1=8
    nid=6
    hdr6=c
        [0x00] rec0=1f rec1=00 rec2=01 rec3=072
        [0x01] rec0=16 rec1=00 rec2=08 rec3=016
        [0x02] rec0=13 rec1=00 rec2=02 rec3=034
        [0x03] rec0=12 rec1=00 rec2=04 rec3=014
        [0x04] rec0=18 rec1=00 rec2=05 rec3=084
        [0x05] rec0=07 rec1=00 rec2=03 rec3=000
        [0x06] rec0=18 rec1=00 rec2=05 rec3=084
        [0x07] rec0=07 rec1=00 rec2=03 rec3=000
    tail 0x217406736860e4ec5dd34 0x42a00088462060003
Free Block Chain:
  0x6: 0000  00 07 00 29 80 19 20 2d 2d 20 20 20 57 69 6e 64  ┆   )   --   Wind┆
  0x7: 0000  00 00 00 b3 80 45 20 20 20 20 20 20 20 20 20 57  ┆     E         W┆