DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦058fd49e1⟧ TextFile

    Length: 4764 (0x129c)
    Types: TextFile
    Names: »B«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 

TextFile

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;