|
|
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: 7168 (0x1c00)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Ss_Zone_68, seg_04eb52
└─⟦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 0x2154a36b6877067359a47 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┆