|
|
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: 2754 (0xac2)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
-- with Class_Integer;
-- with Class_Boolean;
-- with Class_String;
-- with Class_Block;
-- with class_pen;
-- with class_turtle;
-- with Class_Window;
with Message;
with Requester;
with Bounded_String;
with Easy_Y;
with Object;
package body Class_Error is
type Flag is (Off, On);
Tab_Flag : Flag := On;
procedure Open (X, Y : Object.Index; Screen : String) is
use Object;
begin
Easy_Y.Put_Title (Window => Error_Window,
Title => Bounded_String.Value ("Error", 80));
Easy_Y.Put_Left (Window => Error_Window, Left => X);
Easy_Y.Put_Right (Window => Error_Window, Right => Y);
Easy_Y.Put_Width (Window => Error_Window, Width => The_Width);
Easy_Y.Put_Height (Window => Error_Window, Height => The_Height);
Easy_Y.Open (Display => Screen, Window => Error_Window);
Easy_Y.Put_Font (To => Easy_Y.Small_Font);
Easy_Y.Put_Size (Window => Error_Window, Size => 1);
Easy_Y.Update;
Column := 0;
Line_Number := 1;
Line_Max := The_Height / 16;
end Open;
procedure Close is
begin
Easy_Y.Close (Window => Error_Window);
end Close;
procedure New_Line (Number : Object.Index := 1) is
use Object;
Blanck : String (1 .. 80) := (1 .. 80 => ' ');
Button : Message.Unary;
Result : Object.Index;
begin
Column := 0;
Line_Number := Line_Number + Number;
if Line_Number >= Line_Max then
Line_Number := 1;
Message.Put (This_Name => Bounded_String.Value ("Suite", 80),
Into => Button);
Requester.Open (100, 850, "agave", Button,
Bounded_String.Value ("Cliquez pour la suite", 80));
Result := Requester.Choice (Button);
Message.Free (Button);
for I in 0 .. Line_Max * 2 loop
Easy_Y.Set_Display (Window => Error_Window);
Easy_Y.Print (1, I * 10, Bounded_String.Value (Blanck, 80));
end loop;
end if;
Tab_Flag := On;
end New_Line;
procedure Put (The_String : String) is
use Object;
begin
Easy_Y.Set_Display (Window => Error_Window);
Easy_Y.Print (Column * 8, Line_Number * 16,
Bounded_String.Value (The_String, 80));
Column := Column + Object.Index (The_String'Length);
end Put;
procedure Put_Line (The_String : String) is
use Object;
begin
Easy_Y.Set_Display (Window => Error_Window);
Easy_Y.Print (Column, Line_Number * 16,
Bounded_String.Value (The_String, 80));
New_Line;
end Put_Line;
end Class_Error;