|
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 - download
Length: 7168 (0x1c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Ss_Zone_68, seg_05126f
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Util_String; package body Ss_Zone_68 is package Us renames Util_String; procedure Create (O : in out Object; Deb_1, Fin_1, Deb_2, Fin_2 : Horaire_68.Object; Jour_Sem : Semaine_68.Object) is begin Set_Deb_Fin_1 (O => O, Deb_1 => Deb_1, Fin_1 => Fin_1); Set_Deb_Fin_2 (O => O, Deb_2 => Deb_2, Fin_2 => Fin_2); Set_Jour_Sem (O, Jour_Sem); end Create; procedure Create (O : in out Object; Deb_1_Hh : Horaire_68.T_Heure; Deb_1_Mm : Horaire_68.T_Minute; Fin_1_Hh : Horaire_68.T_Heure; Fin_1_Mm : Horaire_68.T_Minute; Deb_2_Hh : Horaire_68.T_Heure; Deb_2_Mm : Horaire_68.T_Minute; Fin_2_Hh : Horaire_68.T_Heure; Fin_2_Mm : Horaire_68.T_Minute; Jour_Sem : Semaine_68.Object) is begin Horaire_68.Create (O => O.Deb_1, Heure => Deb_1_Hh, Minute => Deb_1_Mm); Horaire_68.Create (O => O.Fin_1, Heure => Fin_1_Hh, Minute => Fin_1_Mm); if Horaire_68.Superieur (O.Deb_1, O.Fin_1) then raise Ss_Zone_Error; end if; Horaire_68.Create (O => O.Deb_2, Heure => Deb_2_Hh, Minute => Deb_2_Mm); Horaire_68.Create (O => O.Fin_2, Heure => Fin_2_Hh, Minute => Fin_2_Mm); if Horaire_68.Superieur (O.Deb_2, O.Fin_2) then raise Ss_Zone_Error; end if; Set_Jour_Sem (O, Jour_Sem); end Create; procedure Initialise (O : in out Object) is begin Horaire_68.Create (O.Deb_1, 0, 0); Horaire_68.Create (O.Fin_1, 0, 0); Horaire_68.Create (O.Deb_2, 0, 0); Horaire_68.Create (O.Fin_2, 0, 0); Semaine_68.Create_Semaine_Vide (O.Jour_Sem); end Initialise; procedure Set_Deb_Fin_1 (O : in out Object; Deb_1, Fin_1 : Horaire_68.Object) is begin if Horaire_68.Superieur (Deb_1, Fin_1) then raise Ss_Zone_Error; else O.Deb_1 := Deb_1; O.Fin_1 := Fin_1; end if; end Set_Deb_Fin_1; procedure Set_Deb_Fin_2 (O : in out Object; Deb_2, Fin_2 : Horaire_68.Object) is begin if Horaire_68.Superieur (Deb_2, Fin_2) then raise Ss_Zone_Error; else O.Deb_2 := Deb_2; O.Fin_2 := Fin_2; end if; end Set_Deb_Fin_2; procedure Set_Jour_Sem (O : in out Object; Jour_Sem : Semaine_68.Object) is begin O.Jour_Sem := Jour_Sem; end Set_Jour_Sem; function Get_Deb_1 (O : Object) return Horaire_68.Object is begin return O.Deb_1; end Get_Deb_1; function Get_Fin_1 (O : Object) return Horaire_68.Object is begin return O.Fin_1; end Get_Fin_1; function Get_Deb_2 (O : Object) return Horaire_68.Object is begin return O.Deb_2; end Get_Deb_2; function Get_Fin_2 (O : Object) return Horaire_68.Object is begin return O.Fin_2; end Get_Fin_2; function Get_Jour_Sem (O : Object) return Semaine_68.Object is begin return O.Jour_Sem; end Get_Jour_Sem; function Image (O : Object) return String is begin return (Debut_Ss_Zone & Horaire_68.Image (O.Deb_1) & Sep_Ss_Zone & Horaire_68.Image (O.Fin_1) & Sep_Ss_Zone & Horaire_68.Image (O.Deb_2) & Sep_Ss_Zone & Horaire_68.Image (O.Fin_2) & Sep_Ss_Zone & Semaine_68.Image (O.Jour_Sem) & Sep_Ss_Zone & Fin_Ss_Zone); end Image; function Value (S : String) return Object is O : Object; Der_Car : Natural; begin Value (S, O, Der_Car); return O; end Value; procedure Value (S : String; O : in out Object; Der_Car : in out Natural) is P1, P2, P3, P4, P5, P6, P7 : Natural; begin Us.String_Contient (S, Debut_Ss_Zone, P1); Horaire_68.Value (S (P1 + 1 .. S'Last), O.Deb_1, P2); Horaire_68.Value (S (P2 + 2 .. S'Last), O.Fin_1, P3); Horaire_68.Value (S (P3 + 2 .. S'Last), O.Deb_2, P4); Horaire_68.Value (S (P4 + 2 .. S'Last), O.Fin_2, P5); Semaine_68.Value (S (P5 + 2 .. S'Last), O.Jour_Sem, P6); Us.String_Contient (S (P6 + 2 .. S'Last), Fin_Ss_Zone, P7); Der_Car := P7; end Value; end Ss_Zone_68;
nblk1=6 nid=5 hdr6=a [0x00] rec0=1c rec1=00 rec2=01 rec3=064 [0x01] rec0=1e rec1=00 rec2=03 rec3=056 [0x02] rec0=19 rec1=00 rec2=06 rec3=032 [0x03] rec0=27 rec1=00 rec2=02 rec3=068 [0x04] rec0=1c rec1=00 rec2=04 rec3=000 [0x05] rec0=1c rec1=00 rec2=04 rec3=001 tail 0x2154b2bce87995b52fd49 0x42a00088462060003 Free Block Chain: 0x5: 0000 00 00 02 9d 80 30 4f 20 3a 20 69 6e 20 6f 75 74 ┆ 0O : in out┆