|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 10291 (0x2833)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
with Bounded_String;
with Object;
with Class_Integer;
with Class_String;
with Class_Turtle;
with Class_Pen_Y;
with Easy_Y;
with Message;
with Text_Io;
procedure Essai_Easy_Y (The_Main_Screen : String) is
A_Pen, A_Turtle, A_Reference, Resultat : Object.Reference;
An_Unary : Message.Unary;
A_Binary : Message.Binary;
A_Keyword : Message.Keyword;
An_Integer : Object.Reference;
Chaine : Bounded_String.Variable_String (80);
Tiny_Talk : Easy_Y.Window_Type;
Error : Easy_Y.Window_Type;
Unparse : Easy_Y.Window_Type;
type Many_Windows is array (Integer range 1 .. 11) of Easy_Y.Window_Type;
Windows : Many_Windows;
begin
A_Pen := Class_Pen_Y.Create;
for I in 1 .. 11 loop
Bounded_String.Copy (Chaine, "Another Window");
Easy_Y.Put_Title (Window => Windows (I), Title => Chaine);
Easy_Y.Put_Left (Window => Windows (I),
Left => Object.Index ((I * 82254) mod 300));
Easy_Y.Put_Right (Window => Windows (I),
Right => Object.Index ((I * 16316) mod 300));
Easy_Y.Put_Width (Window => Windows (I),
Width => Object.Index ((I * 43527) mod 700));
Easy_Y.Put_Height (Window => Windows (I),
Height => Object.Index ((I * 32337) mod 700));
Easy_Y.Open (Display => The_Main_Screen, Window => Windows (I));
end loop;
Bounded_String.Copy (Chaine, "Tiny_talk");
Easy_Y.Put_Title (Window => Tiny_Talk, Title => Chaine);
Easy_Y.Open (Display => The_Main_Screen, Window => Tiny_Talk);
Bounded_String.Copy (Chaine, "Erreur");
Easy_Y.Put_Title (Window => Error, Title => Chaine);
Easy_Y.Put_Left (Window => Error, Left => 500);
Easy_Y.Put_Right (Window => Error, Right => 500);
Easy_Y.Put_Width (Window => Error, Width => 300);
Easy_Y.Put_Height (Window => Error, Height => 400);
Easy_Y.Open (Display => The_Main_Screen, Window => Error);
Bounded_String.Copy (Chaine, "Va_En_X");
Message.Put (Chaine, A_Keyword);
Bounded_String.Copy (Chaine, "Y");
Message.Put (Chaine, A_Keyword);
Message.Put (Class_Integer.Create (20), A_Keyword);
Message.Put (Class_Integer.Create (30), A_Keyword);
A_Pen := Class_Pen_Y.Send (A_Keyword, A_Pen);
Easy_Y.Set_Display (Window => Error);
Bounded_String.Copy (Chaine, "Unparse");
Easy_Y.Put_Title (Window => Unparse, Title => Chaine);
Easy_Y.Put_Left (Window => Unparse, Left => 500);
Easy_Y.Put_Right (Window => Unparse, Right => 50);
Easy_Y.Put_Width (Window => Unparse, Width => 400);
Easy_Y.Put_Height (Window => Unparse, Height => 300);
Easy_Y.Open (Display => The_Main_Screen, Window => Unparse);
Bounded_String.Copy (Chaine, "Va_En_X");
Message.Put (Chaine, A_Keyword);
Bounded_String.Copy (Chaine, "Y");
Message.Put (Chaine, A_Keyword);
Message.Put (Class_Integer.Create (20), A_Keyword);
Message.Put (Class_Integer.Create (30), A_Keyword);
A_Pen := Class_Pen_Y.Send (A_Keyword, A_Pen);
Easy_Y.Set_Display (Window => Unparse);
Easy_Y.Set_Display (Window => Tiny_Talk);
loop
case Easy_Y.Next_Event is
when Easy_Y.Update =>
A_Turtle := Class_Turtle_Y.Create;
for J in 1 .. 3 loop
Bounded_String.Copy (Chaine, "Angle");
Message.Put (Chaine, A_Keyword);
Message.Put (Class_Integer.Create (0), A_Keyword);
A_Turtle := Class_Turtle_Y.Send (A_Keyword, A_Turtle);
Bounded_String.Copy (Chaine, "Leve_Ta_Plume");
Message.Put (Chaine, An_Unary);
A_Turtle := Class_Turtle_Y.Send (An_Unary, A_Turtle);
for I in 10 .. 50 loop
Bounded_String.Copy (Chaine, "Leve_Ta_Plume");
Message.Put (Chaine, An_Unary);
A_Turtle := Class_Turtle_Y.Send (An_Unary, A_Turtle);
Bounded_String.Copy (Chaine, "Va_En_X");
Message.Put (Chaine, A_Keyword);
Bounded_String.Copy (Chaine, "Y");
Message.Put (Chaine, A_Keyword);
Message.Put (Class_Integer.Create
(Object.Index (J * 100)), A_Keyword);
Message.Put (Class_Integer.Create
(Object.Index (J * 100)), A_Keyword);
A_Turtle := Class_Turtle_Y.Send (A_Keyword, A_Turtle);
Bounded_String.Copy (Chaine, "Baisse_Ta_Plume");
Message.Put (Chaine, An_Unary);
A_Turtle := Class_Turtle_Y.Send (An_Unary, A_Turtle);
Bounded_String.Copy (Chaine, "A_Gauche");
Message.Put (Chaine, A_Keyword);
Message.Put (Class_Integer.Create (10), A_Keyword);
A_Turtle := Class_Turtle_Y.Send (A_Keyword, A_Turtle);
Bounded_String.Copy (Chaine, "Avance");
Message.Put (Chaine, A_Keyword);
Message.Put (Class_Integer.Create (100), A_Keyword);
A_Turtle := Class_Turtle_Y.Send (A_Keyword, A_Turtle);
Easy_Y.Set_Display (Window => Unparse);
Bounded_String.Copy (Chaine, "Va_En_X");
Message.Put (Chaine, A_Keyword);
Bounded_String.Copy (Chaine, "Y");
Message.Put (Chaine, A_Keyword);
Message.Put (Class_Integer.Create (20), A_Keyword);
Message.Put (Class_Integer.Create (30), A_Keyword);
A_Pen := Class_Pen_Y.Send (A_Keyword, A_Pen);
Bounded_String.Copy (Chaine, "Ligne_Suivante");
Message.Put (Chaine, An_Unary);
A_Pen := Class_Pen_Y.Send (An_Unary, A_Pen);
Bounded_String.Copy (Chaine, "Ecrit");
Message.Put (Chaine, A_Binary);
Message.Put (Class_String.Create ("Alors, ca marche !"),
A_Binary);
Resultat := Class_Pen_Y.Send (A_Binary, A_Pen);
Easy_Y.Set_Display (Window => Tiny_Talk);
end loop;
Easy_Y.Clear_Window (Window => Tiny_Talk);
Easy_Y.Set_Display (Window => Error);
Bounded_String.Copy (Chaine, "Ligne_Suivante");
Message.Put (Chaine, An_Unary);
A_Pen := Class_Pen_Y.Send (An_Unary, A_Pen);
Bounded_String.Copy (Chaine, "Ecrit");
Message.Put (Chaine, A_Binary);
Message.Put (Class_String.Create ("No Error !"), A_Binary);
Resultat := Class_Pen_Y.Send (A_Binary, A_Pen);
Easy_Y.Set_Display (Window => Tiny_Talk);
end loop;
when Easy_Y.Button_Down =>
Text_Io.Put ("X=" & Integer'Image
(Integer (Easy_Y.Get_X_Mouse)));
Text_Io.New_Line;
Text_Io.Put ("Y=" & Integer'Image
(Integer (Easy_Y.Get_Y_Mouse)));
Text_Io.New_Line;
Easy_Y.Move_To (Easy_Y.Coordinate
(Integer (Easy_Y.Get_X_Mouse) - 5),
Easy_Y.Coordinate
(Integer (Easy_Y.Get_Y_Mouse) - 5));
Easy_Y.Line_To (Easy_Y.Coordinate
(Integer (Easy_Y.Get_X_Mouse) + 5),
Easy_Y.Coordinate
(Integer (Easy_Y.Get_Y_Mouse) + 5));
Easy_Y.Move_To (Easy_Y.Coordinate
(Integer (Easy_Y.Get_X_Mouse) - 5),
Easy_Y.Coordinate
(Integer (Easy_Y.Get_Y_Mouse) + 5));
Easy_Y.Line_To (Easy_Y.Coordinate
(Integer (Easy_Y.Get_X_Mouse) + 5),
Easy_Y.Coordinate
(Integer (Easy_Y.Get_Y_Mouse) - 5));
when Easy_Y.Button_Up =>
Text_Io.Put ("X=" & Integer'Image
(Integer (Easy_Y.Get_X_Mouse)));
Text_Io.New_Line;
Text_Io.Put ("Y=" & Integer'Image
(Integer (Easy_Y.Get_Y_Mouse)));
Text_Io.New_Line;
Easy_Y.Move_To (Easy_Y.Coordinate
(Integer (Easy_Y.Get_X_Mouse) - 5),
Easy_Y.Coordinate (Integer
(Easy_Y.Get_Y_Mouse)));
Easy_Y.Line_To (Easy_Y.Coordinate
(Integer (Easy_Y.Get_X_Mouse) + 5),
Easy_Y.Coordinate (Integer
(Easy_Y.Get_Y_Mouse)));
Easy_Y.Move_To (Easy_Y.Coordinate
(Integer (Easy_Y.Get_X_Mouse)),
Easy_Y.Coordinate
(Integer (Easy_Y.Get_Y_Mouse) - 5));
Easy_Y.Line_To (Easy_Y.Coordinate
(Integer (Easy_Y.Get_X_Mouse)),
Easy_Y.Coordinate
(Integer (Easy_Y.Get_Y_Mouse) + 5));
when others =>
null;
end case;
end loop;
delay (1.0);
Easy_Y.Close (Window => Error);
delay (1.0);
Easy_Y.Close (Window => Tiny_Talk);
delay (1.0);
Easy_Y.Close (Window => Unparse);
delay (1.0);
for I in 1 .. 11 loop
Easy_Y.Close (Window => Windows (I));
end loop;
exception
when others =>
Easy_Y.Close (Window => Tiny_Talk);
end Essai_Easy_Y;