|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 18432 (0x4800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Date_Class, seg_0360be, seg_03638f, seg_0368fb
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Object, Message, Bounded_String, Counter, String_Class,
Integer_Class, Time_Utilities, Bug, Symbol;
package body Date_Class is
package Bs renames Bounded_String;
type Date_Unary_Message is (Entexte, Tonjour, Tonmois, Tonannee,
Tonheure, Tesminutes, Tessecondes);
type Months is (Janvier, Fevrier, Mars, Avril, Mai, Juin, Juillet,
Aout, Septembre, Octobre, Novembre, Decembre);
function Create return Object.Reference is
Obj : Object.Reference;
begin
Obj := Object.Create (Object.Date_Class, 1);
return (Obj);
end Create;
procedure Create_Default is
Default_Date_Name : Message.Tiny_String;
Default_Date : Object.Reference;
begin
Bounded_String.Copy (Default_Date_Name, "Date");
Default_Date := Create;
Symbol.Insert (Default_Date_Name, Default_Date);
end Create_Default;
function Get_Day return Object.Reference is
The_Date : Time_Utilities.Time;
begin
The_Date := Time_Utilities.Get_Time;
return Integer_Class.Create (Integer (The_Date.Day));
end Get_Day;
function Get_Month return Object.Reference is
The_Date : Time_Utilities.Time;
The_Month_String : Message.Tiny_String;
begin
The_Date := Time_Utilities.Get_Time;
Bs.Copy (The_Month_String,
" " & Months'Image (Months'Val (Time_Utilities.Months'Pos
(The_Date.Month))));
return String_Class.Create (The_Month_String);
end Get_Month;
function Get_Year return Object.Reference is
The_Date : Time_Utilities.Time;
begin
The_Date := Time_Utilities.Get_Time;
return Integer_Class.Create (Integer (The_Date.Year));
end Get_Year;
function Get_Hour return Object.Reference is
The_Date : Time_Utilities.Time;
begin
The_Date := Time_Utilities.Get_Time;
return Integer_Class.Create (Integer (The_Date.Hour));
end Get_Hour;
function Get_Minutes return Object.Reference is
The_Date : Time_Utilities.Time;
begin
The_Date := Time_Utilities.Get_Time;
return Integer_Class.Create (Integer (The_Date.Minute));
end Get_Minutes;
function Get_Secondes return Object.Reference is
The_Date : Time_Utilities.Time;
begin
The_Date := Time_Utilities.Get_Time;
return Integer_Class.Create (Integer (The_Date.Second));
end Get_Secondes;
procedure In_Text (The_Object : Object.Reference) is
begin
Object.In_Text (The_Object);
end In_Text;
function Send (To_Object : Object.Reference;
The_Message : Message.Tiny_String) return Object.Reference is
Result : Object.Reference := Object.Void_Reference;
Talk : Date_Unary_Message;
begin
Talk := Date_Unary_Message'Value (Bs.Image (V => The_Message));
Counter.Increase (Object.Date_Class);
case Talk is
when Entexte =>
In_Text (To_Object);
Result := To_Object;
when Tonjour =>
Result := Get_Day;
when Tonmois =>
Result := Get_Month;
when Tonannee =>
Result := Get_Year;
when Tonheure =>
Result := Get_Hour;
when Tesminutes =>
Result := Get_Minutes;
when Tessecondes =>
Result := Get_Secondes;
end case;
Counter.Stop_Time (Object.Date_Class);
return (Result);
exception
when Constraint_Error =>
raise Bug.Unknown_Date_Message;
end Send;
end Date_Class;
nblk1=11
nid=4
hdr6=a
[0x00] rec0=1e rec1=00 rec2=01 rec3=026
[0x01] rec0=09 rec1=00 rec2=07 rec3=02a
[0x02] rec0=1b rec1=00 rec2=0d rec3=030
[0x03] rec0=1d rec1=00 rec2=10 rec3=038
[0x04] rec0=1b rec1=00 rec2=06 rec3=000
[0x05] rec0=00 rec1=00 rec2=07 rec3=012
[0x06] rec0=1d rec1=00 rec2=09 rec3=010
[0x07] rec0=1d rec1=00 rec2=0b rec3=036
[0x08] rec0=1d rec1=00 rec2=0f rec3=042
[0x09] rec0=1f rec1=00 rec2=0c rec3=064
[0x0a] rec0=1f rec1=00 rec2=11 rec3=01a
[0x0b] rec0=1c rec1=00 rec2=0e rec3=000
[0x0c] rec0=1a rec1=00 rec2=04 rec3=00c
[0x0d] rec0=1e rec1=00 rec2=0d rec3=028
[0x0e] rec0=09 rec1=00 rec2=10 rec3=000
[0x0f] rec0=1f rec1=00 rec2=0d rec3=000
[0x10] rec0=00 rec1=00 rec2=00 rec3=000
tail 0x21732f59e84dd7f5da9dc 0x42a00088462060003
Free Block Chain:
0x4: 0000 00 0e 00 3a 00 2e 20 20 20 20 20 20 20 20 20 20 ┆ : . ┆
0xe: 0000 00 11 00 31 80 14 6a 65 63 74 2e 49 6e 74 65 67 ┆ 1 ject.Integ┆
0x11: 0000 00 0c 00 10 00 0d 20 20 20 20 20 20 20 20 20 20 ┆ ┆
0xc: 0000 00 0f 00 05 80 02 72 3b 02 73 61 67 65 2e 53 65 ┆ r; sage.Se┆
0xf: 0000 00 0b 00 08 80 05 20 28 42 29 20 05 29 20 08 20 ┆ (B) ) ┆
0xb: 0000 00 09 00 07 80 04 61 6c 75 65 04 74 2e 47 65 74 ┆ alue t.Get┆
0x9: 0000 00 05 00 19 80 0b 6c 61 73 73 2e 46 61 6c 73 65 ┆ lass.False┆
0x5: 0000 00 0a 00 37 80 0d 74 5f 56 61 6c 75 65 20 28 42 ┆ 7 t_Value (B┆
0xa: 0000 00 03 00 04 80 01 74 01 69 73 65 20 42 75 67 2e ┆ t ise Bug.┆
0x3: 0000 00 02 00 21 80 1e 20 20 20 20 20 20 20 20 20 20 ┆ ! ┆
0x2: 0000 00 08 00 87 80 01 3b 01 00 0f 20 20 20 20 20 20 ┆ ; ┆
0x8: 0000 00 00 00 e2 80 2e 20 20 20 20 43 6f 75 6e 74 65 ┆ . Counte┆