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

⟦384896037⟧ Ada Source

    Length: 9216 (0x2400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Pen, seg_036468

Derivation

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

E3 Source Code



with Easy_X;
with Bounded_String;
with Msg_Report;
with String_Class;
with Pen_Class;
with Object;
with Message;
with Arguments;
with Scanner;
with Symbol_Table;

use Object;

procedure Test_Pen (Display, The_Message : String) is

    Identifier : Scanner.B_String;
    Msg : Message.Selector;
    Arg_List : Arguments.List;
    Pen_Object, Int_Object, Str_Object, Recep_Object : Object.Reference;
    I, Pen_Value, Str_Value : Integer;

begin
    Msg_Report.Tracing_On;
    Symbol_Table.Create;
    Bounded_String.Copy (Identifier, Pen_Class.Predefined_Pen);
    if Symbol_Table.Is_Found (Identifier) then
        Pen_Object := Symbol_Table.Get_Info (Identifier);
    end if;

    -- =======================================================================

    Message.Copy (Msg, "Tonx");
    Recep_Object := Pen_Class.Send (Pen_Object, Msg);
    Msg_Report.Information
       ("ton x ? => " & Integer'Image (Object.Identificator (Recep_Object)));

    -- =======================================================================

    Message.Copy (Msg, "Tony");
    Recep_Object := Pen_Class.Send (Pen_Object, Msg);
    Msg_Report.Information
       ("ton y ? => " & Integer'Image (Object.Identificator (Recep_Object)));

    -- =======================================================================

    Msg_Report.Information ("ton x <= " & Integer'Image (10));
    Message.Copy (Msg, "Tonx:");
    Int_Object := Object.Create (C_Integer, 10);
    Arg_List := Arguments.Void_Arguments;
    Arguments.Write (Arg_List, Int_Object);
    Recep_Object := Pen_Class.Send (Pen_Object, Msg, Arg_List);
    Message.Copy (Msg, "Tonx");
    Recep_Object := Pen_Class.Send (Pen_Object, Msg);
    Msg_Report.Continue ("ton x ? => " &
                         Integer'Image (Object.Identificator (Recep_Object)));

    -- =======================================================================

    Msg_Report.Information ("ton y <= " & Integer'Image (100));
    Message.Copy (Msg, "Tony:");
    Int_Object := Object.Create (C_Integer, 100);
    Arg_List := Arguments.Void_Arguments;
    Arguments.Write (Arg_List, Int_Object);
    Recep_Object := Pen_Class.Send (Pen_Object, Msg, Arg_List);
    Message.Copy (Msg, "Tony");
    Recep_Object := Pen_Class.Send (Pen_Object, Msg);
    Msg_Report.Continue ("ton y ? => " &
                         Integer'Image (Object.Identificator (Recep_Object)));

    -- =======================================================================

    Symbol_Table.Image_Table;
    Pen_Class.Image_Table;


    Easy_X.Open (Display);

    loop
        case Easy_X.Next_Event is

            when Easy_X.Update =>
                Str_Object := String_Class.Create (The_Message);
                Str_Value := Object.Identificator (Str_Object);

                Bounded_String.Copy (Identifier, "chaine");

                Symbol_Table.Insert (Identifier, Str_Object);

                I := 200;
                while (I <= 600) loop

                    -- stylo <fonte>
                    case I is
                        when 200 =>
                            Message.Copy (Msg, "Petitefonte");
                            Recep_Object := Pen_Class.Send (Pen_Object, Msg);

                        when 400 =>
                            Message.Copy (Msg, "Moyennefonte");
                            Recep_Object := Pen_Class.Send (Pen_Object, Msg);

                        when 600 =>
                            Message.Copy (Msg, "Largefonte");
                            Recep_Object := Pen_Class.Send (Pen_Object, Msg);

                        when others =>
                            null;
                    end case;

                    -- stylo vaenx:10 y:<i>
                    Arg_List := Arguments.Void_Arguments;
                    Int_Object := Object.Create (C_Integer, 10);
                    Arguments.Write (Arg_List, Int_Object);
                    Int_Object := Object.Create (C_Integer, I);
                    Arguments.Write (Arg_List, Int_Object);
                    Message.Copy (Msg, "Vaenx:y:");
                    Recep_Object := Pen_Class.Send (Pen_Object, Msg, Arg_List);

                    -- stylo ecrire: <chaine>
                    Arg_List := Arguments.Void_Arguments;
                    Arguments.Write (Arg_List, Str_Object);
                    Message.Copy (Msg, "Ecrire:");
                    Recep_Object := Pen_Class.Send (Pen_Object, Msg, Arg_List);

                    I := I + 200;

                end loop;

            when Easy_X.Button_Up =>
                exit;

            when Easy_X.Button_Down =>
                null;

        end case;
    end loop;

    Easy_X.Close;

    Pen_Class.Image_Table;

    Msg_Report.Information ("FIN DU TEST !!!");

end Test_Pen;

E3 Meta Data

    nblk1=8
    nid=5
    hdr6=c
        [0x00] rec0=24 rec1=00 rec2=01 rec3=096
        [0x01] rec0=02 rec1=00 rec2=06 rec3=004
        [0x02] rec0=16 rec1=00 rec2=08 rec3=052
        [0x03] rec0=1c rec1=00 rec2=04 rec3=07a
        [0x04] rec0=1a rec1=00 rec2=02 rec3=03a
        [0x05] rec0=21 rec1=00 rec2=07 rec3=000
        [0x06] rec0=16 rec1=00 rec2=05 rec3=000
        [0x07] rec0=0e rec1=00 rec2=06 rec3=001
    tail 0x2152fb13c84de654e0183 0x42a00088462060003
Free Block Chain:
  0x5: 0000  00 03 00 37 80 1b 6d 61 74 69 6f 6e 20 28 22 46  ┆   7  mation ("F┆
  0x3: 0000  00 00 01 7f 80 0d 20 20 4a 20 3a 3d 20 4a 20 2b  ┆        J := J +┆