|
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┆