|
|
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: 26624 (0x6800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Config_Cl35, seg_051245
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Horaire_68;
with Ss_Zone_68;
with Semaine_68;
with Conversion;
package body Config_Cl35 is
package Par_68 renames Parametre_68;
package Conv renames Conversion;
Entete_Parametre : constant G_D.Byte := 16#22#;
Entete_Site : constant G_D.Byte := 16#27#;
Entete_Heure : constant G_D.Byte := 16#23#;
Entete_Validation : constant G_D.Byte := 16#10#;
Entete_Invalidation : constant G_D.Byte := 16#12#;
Entete_Validation_Groupe : constant G_D.Byte := 16#11#;
Entete_Invalidation_Groupe : constant G_D.Byte := 16#13#;
Entete_Plage : constant G_D.Byte := 16#25#;
Entete_Beep : constant G_D.Byte := 16#2C#;
Entete_Demande_Evenement : constant G_D.Byte := 16#1D#;
Entete_Ack : constant G_D.Byte := 16#06#;
Entete_Nak : constant G_D.Byte := 16#15#;
Entete_Demande_Parametre : constant G_D.Byte := 16#1E#;
Entete_Demande_Carte_Valide : constant G_D.Byte := 16#1F#;
Entete_Demande_Carte_Invalide : constant G_D.Byte := 16#29#;
Entete_Demande_Horloge : constant G_D.Byte := 16#24#;
Entete_Demande_Site : constant G_D.Byte := 16#28#;
Entete_Mise_En_Veille : constant G_D.Byte := 16#2A#;
Entete_Mise_En_Service : constant G_D.Byte := 16#2B#;
Entete_Pilotage_1 : constant G_D.Byte := 16#2C#;
Activation_Apb : constant G_D.Byte := 16#16#;
Desactivation_Apb : constant G_D.Byte := 16#17#;
Lecteur_En_Veille : constant G_D.Byte := 16#18#;
Lecteur_En_Service : constant G_D.Byte := 16#19#;
Bp_Sur_Entree_Tor : constant G_D.Byte := 16#1A#;
Boucle_Sur_Entree_Tor : constant G_D.Byte := 16#1B#;
Contact_Porte_Sur_Entree_Tor : constant G_D.Byte := 16#1C#;
Tous_Evenement : constant G_D.Byte := 16#20#;
Anomalie_Seulement : constant G_D.Byte := 16#21#;
Status_Coupure_Secteur : constant G_D.Byte := 16#00#;
Status_Carte_Acceptee : constant G_D.Byte := 16#30#;
Status_Carte_Refusee_Veille : constant G_D.Byte := 16#31#; Status_Carte_Refusee_Site : constant G_D.Byte := 16#32#;
Status_Carte_Refusee_Prog : constant G_D.Byte := 16#33#;
Status_Carte_Refusee_Apb : constant G_D.Byte := 16#34#;
Status_Carte_Refusee_Plage : constant G_D.Byte := 16#35#;
function Cl35_Parametre (Lecteur : Lecteur_68.Object)
return G_D.Byte_String is
Data : G_D.Byte_String (1 .. 9);
Parametre : Par_68.Object;
begin
Data (1) := Conv.Nat_To_Byte (Lecteur_68.Get_Numero (Lecteur));
Data (2) := Conv.Nat_To_Byte (0);
Data (3) := Conv.Nat_To_Byte (6);
Data (4) := Entete_Parametre;
Parametre := Lecteur_68.Get_Parametre (Lecteur);
Data (5) := G_D.Byte'Val (Par_68.T_Tempo'Pos
(Par_68.Get_Tempo (Parametre)));
if Par_68.T_Apb'Pos (Par_68.Get_Apb (Parametre)) =
Par_68.T_Apb'Pos (Par_68.Actif) then
Data (6) := Activation_Apb;
else
Data (6) := Desactivation_Apb;
end if;
if Par_68.T_Veille'Pos (Par_68.Get_Veille (Parametre)) =
Par_68.T_Veille'Pos (Par_68.En_Service) then
Data (7) := Lecteur_En_Service;
else
Data (7) := Lecteur_En_Veille;
end if;
case Par_68.T_Entree_Tor'Pos (Par_68.Get_Entree_Tor (Parametre)) is
when Par_68.T_Entree_Tor'Pos (Par_68.Contact) =>
Data (8) := Contact_Porte_Sur_Entree_Tor;
when Par_68.T_Entree_Tor'Pos (Par_68.Boucle) =>
Data (8) := Boucle_Sur_Entree_Tor;
when Par_68.T_Entree_Tor'Pos (Par_68.Bp) =>
Data (8) := Bp_Sur_Entree_Tor;
when others =>
null;
end case;
if Par_68.T_Evenement'Pos (Par_68.Get_Evenement (Parametre)) =
Par_68.T_Evenement'Pos (Par_68.Tous) then
Data (9) := Tous_Evenement;
else
Data (9) := Anomalie_Seulement;
end if;
return Data;
end Cl35_Parametre;
function Cl35_Site (Lecteur : Lecteur_68.Object) return G_D.Byte_String is
Site : Site_68.Object;
S : G_D.Byte_String (1 .. 7);
Numero : Natural;
begin
Site := Lecteur_68.Get_Site (Lecteur);
S (1) := Conversion.Nat_To_Byte (Lecteur_68.Get_Numero (Lecteur));
S (2) := Conversion.Nat_To_Byte (0);
S (3) := Conversion.Nat_To_Byte (4);
S (4) := Entete_Site;
Numero := Site_68.Get_Numero (Site);
S (7) := Conversion.Nat_To_Byte (Numero mod 100);
Numero := Numero / 100;
S (6) := Conversion.Nat_To_Byte (Numero mod 100);
S (5) := Conversion.Nat_To_Byte (Numero / 100);
return S;
end Cl35_Site;
function Cl35_Jjhhmm (Lecteur : Lecteur_68.Object;
Jjhhmm : Jj_Hh_Mm_68.Object) return G_D.Byte_String is
S : G_D.Byte_String (1 .. 7);
Horaire : Horaire_68.Object;
begin
S (1) := Conversion.Nat_To_Byte (Lecteur_68.Get_Numero (Lecteur));
S (2) := Conversion.Nat_To_Byte (0);
S (3) := Conversion.Nat_To_Byte (4);
S (4) := Entete_Heure;
Horaire := Jj_Hh_Mm_68.Get_Horaire (Jjhhmm);
S (5) := Conversion.Nat_To_Byte (Horaire_68.Get_Heure (Horaire));
S (6) := Conversion.Nat_To_Byte (Horaire_68.Get_Minute (Horaire));
S (7) := Conversion.Nat_To_Byte
(Jj_Hh_Mm_68.T_Jour'Pos (Jj_Hh_Mm_68.Get_Jour (Jjhhmm)) -
Jj_Hh_Mm_68.T_Jour'Pos (Jj_Hh_Mm_68.T_Jour'First) + 1);
return S;
end Cl35_Jjhhmm;
function Num_Carte (Carte : Carte_68.Object) return G_D.Byte_String is
S : G_D.Byte_String (1 .. 2);
begin
S (1) := Conversion.Nat_To_Byte (Carte_68.Get_Numero (Carte) / 100);
S (2) := Conversion.Nat_To_Byte (Carte_68.Get_Numero (Carte) mod 100);
return S;
end Num_Carte;
function Num_Plage (Plage : Plage_68.Object) return G_D.Byte_String is
S : G_D.Byte_String (1 .. 1);
begin
S (1) := Conversion.Nat_To_Byte (Plage_68.Get_Numero (Plage));
return S;
end Num_Plage;
function Cl35_Valide_Carte
(Carte : Carte_68.Object;
Plage : Plage_68.Object;
Lecteur : Lecteur_68.Object) return G_D.Byte_String is
S : G_D.Byte_String (1 .. 4);
begin
S (1) := Conversion.Nat_To_Byte (Lecteur_68.Get_Numero (Lecteur));
S (2) := Conversion.Nat_To_Byte (0);
S (3) := Conversion.Nat_To_Byte (4);
S (4) := Entete_Validation;
declare
S2 : constant G_D.Byte_String :=
Conversion.Concat (S, Num_Carte (Carte));
begin
return Conversion.Concat (S2, Num_Plage (Plage));
end;
end Cl35_Valide_Carte;
function Cl35_Invalide_Carte
(Carte : Carte_68.Object;
Plage : Plage_68.Object;
Lecteur : Lecteur_68.Object) return G_D.Byte_String is
S : G_D.Byte_String (1 .. 4);
begin
S (1) := Conversion.Nat_To_Byte (Lecteur_68.Get_Numero (Lecteur));
S (2) := Conversion.Nat_To_Byte (0);
S (3) := Conversion.Nat_To_Byte (3);
S (4) := Entete_Invalidation;
return Conversion.Concat (S, Num_Carte (Carte));
end Cl35_Invalide_Carte;
function Cl35_Semaine (Semaine : Semaine_68.Object) return G_D.Byte is
N : Natural := 0;
begin
for I in Semaine_68.T_Jour_Semaine'First ..
Semaine_68.T_Jour_Semaine'Last loop
N := N * 2;
if Semaine_68.Jour_Is_In (Semaine, I) then
N := N + 1;
end if;
end loop;
return Conversion.Nat_To_Byte (N);
end Cl35_Semaine;
function Cl35_Sous_Zone (Ss_Zone : Ss_Zone_68.Object)
return G_D.Byte_String is
S : G_D.Byte_String (1 .. 9);
begin
S (1) := Conversion.Nat_To_Byte (Horaire_68.Get_Heure
(Ss_Zone_68.Get_Deb_1 (Ss_Zone)));
S (2) := Conversion.Nat_To_Byte (Horaire_68.Get_Minute
(Ss_Zone_68.Get_Deb_1 (Ss_Zone)));
S (3) := Conversion.Nat_To_Byte (Horaire_68.Get_Heure
(Ss_Zone_68.Get_Fin_1 (Ss_Zone)));
S (4) := Conversion.Nat_To_Byte (Horaire_68.Get_Minute
(Ss_Zone_68.Get_Fin_1 (Ss_Zone)));
S (5) := Conversion.Nat_To_Byte (Horaire_68.Get_Heure
(Ss_Zone_68.Get_Deb_2 (Ss_Zone)));
S (6) := Conversion.Nat_To_Byte (Horaire_68.Get_Minute
(Ss_Zone_68.Get_Deb_2 (Ss_Zone)));
S (7) := Conversion.Nat_To_Byte (Horaire_68.Get_Heure
(Ss_Zone_68.Get_Fin_2 (Ss_Zone)));
S (8) := Conversion.Nat_To_Byte (Horaire_68.Get_Minute
(Ss_Zone_68.Get_Fin_2 (Ss_Zone)));
S (9) := Cl35_Semaine (Ss_Zone_68.Get_Jour_Sem (Ss_Zone));
return S;
end Cl35_Sous_Zone;
function Cl35_Plage (Lecteur : Lecteur_68.Object; Plage : Plage_68.Object)
return G_D.Byte_String is
S : G_D.Byte_String (1 .. 32);
begin
S (1) := Conversion.Nat_To_Byte (Lecteur_68.Get_Numero (Lecteur));
S (2) := Conversion.Nat_To_Byte (0);
S (3) := Conversion.Nat_To_Byte (17);
S (4) := Entete_Plage;
S (5) := Conversion.Nat_To_Byte (Plage_68.Get_Numero (Plage));
S (6 .. 14) := Cl35_Sous_Zone (Plage_68.Get_Periode_1 (Plage));
S (15 .. 23) := Cl35_Sous_Zone (Plage_68.Get_Periode_2 (Plage));
S (24 .. 32) := Cl35_Sous_Zone (Plage_68.Get_Periode_3 (Plage));
return S;
end Cl35_Plage;
function Cl35_Commande (Lecteur : Lecteur_68.Object; Entete : G_D.Byte)
return G_D.Byte_String is
S : G_D.Byte_String (1 .. 4);
begin
S (1) := Conversion.Nat_To_Byte (Lecteur_68.Get_Numero (Lecteur));
S (2) := Conversion.Nat_To_Byte (0);
S (3) := Conversion.Nat_To_Byte (1);
S (4) := Entete;
return S;
end Cl35_Commande;
function Cl35_Demande_Evenement
(Lecteur : Lecteur_68.Object) return G_D.Byte_String is
begin
return Cl35_Commande (Lecteur, Entete_Demande_Evenement);
end Cl35_Demande_Evenement;
function Cl35_Beep (Lecteur : Lecteur_68.Object) return G_D.Byte_String is
begin
return Cl35_Commande (Lecteur, Entete_Beep);
end Cl35_Beep;
function Cl35_Demande_Parametre
(Lecteur : Lecteur_68.Object) return G_D.Byte_String is
begin
return Cl35_Commande (Lecteur, Entete_Demande_Parametre);
end Cl35_Demande_Parametre;
function Cl35_Demande_Carte_Valide
(Lecteur : Lecteur_68.Object) return G_D.Byte_String is
begin
return Cl35_Commande (Lecteur, Entete_Demande_Carte_Valide);
end Cl35_Demande_Carte_Valide;
function Cl35_Demande_Carte_Invalide
(Lecteur : Lecteur_68.Object) return G_D.Byte_String is
begin
return Cl35_Commande (Lecteur, Entete_Demande_Carte_Invalide);
end Cl35_Demande_Carte_Invalide;
function Cl35_Demande_Horloge
(Lecteur : Lecteur_68.Object) return G_D.Byte_String is
begin
return Cl35_Commande (Lecteur, Entete_Demande_Horloge);
end Cl35_Demande_Horloge;
function Cl35_Demande_Site
(Lecteur : Lecteur_68.Object) return G_D.Byte_String is
begin
return Cl35_Commande (Lecteur, Entete_Demande_Site);
end Cl35_Demande_Site;
function Cl35_En_Veille (Lecteur : Lecteur_68.Object)
return G_D.Byte_String is
begin
return Cl35_Commande (Lecteur, Entete_Mise_En_Veille);
end Cl35_En_Veille;
function Cl35_En_Service (Lecteur : Lecteur_68.Object)
return G_D.Byte_String is
begin
return Cl35_Commande (Lecteur, Entete_Mise_En_Service);
end Cl35_En_Service;
function Cl35_Ack (Lecteur : Lecteur_68.Object) return G_D.Byte_String is
begin
return Cl35_Commande (Lecteur, Entete_Ack);
end Cl35_Ack;
function Cl35_Nak (Lecteur : Lecteur_68.Object) return G_D.Byte_String is
begin
return Cl35_Commande (Lecteur, Entete_Nak);
end Cl35_Nak;
function Cl35_Pilotage_1 (Lecteur : Lecteur_68.Object)
return G_D.Byte_String is
begin
return Cl35_Commande (Lecteur, Entete_Pilotage_1);
end Cl35_Pilotage_1;
function Cl35_Valide_Groupe_Carte
(De_La_Carte, A_La_Carte : Carte_68.Object;
Plage : Plage_68.Object;
Lecteur : Lecteur_68.Object) return G_D.Byte_String is
S : G_D.Byte_String (1 .. 4);
begin
S (1) := Conversion.Nat_To_Byte (Lecteur_68.Get_Numero (Lecteur));
S (2) := Conversion.Nat_To_Byte (0);
S (3) := Conversion.Nat_To_Byte (6);
S (4) := Entete_Validation_Groupe;
return Conversion.Concat
(S, Conversion.Concat
(Num_Carte (De_La_Carte),
Conversion.Concat (Num_Carte (A_La_Carte),
Num_Plage (Plage))));
end Cl35_Valide_Groupe_Carte;
function Cl35_Invalide_Groupe_Carte
(De_La_Carte, A_La_Carte : Carte_68.Object;
Plage : Plage_68.Object;
Lecteur : Lecteur_68.Object) return G_D.Byte_String is
S : G_D.Byte_String (1 .. 4);
begin
S (1) := Conversion.Nat_To_Byte (Lecteur_68.Get_Numero (Lecteur));
S (2) := Conversion.Nat_To_Byte (0);
S (3) := Conversion.Nat_To_Byte (5);
S (4) := Entete_Invalidation_Groupe;
return Conversion.Concat (S,
Conversion.Concat (Num_Carte (De_La_Carte),
Num_Carte (A_La_Carte)));
end Cl35_Invalide_Groupe_Carte;
function Get_Type_Rapport (Bs : G_D.Byte_String) return G_D.Byte is
begin
return Bs (Bs'First + 3);
end Get_Type_Rapport;
function Get_Lecteur_Rapport (Bs : G_D.Byte_String)
return Lecteur_68.T_Lecteur is
begin
return Conversion.Byte_To_Nat (Bs (Bs'First));
end Get_Lecteur_Rapport;
function Get_Size_Rapport (Bs : G_D.Byte_String) return Natural is
begin
return Conversion.Byte_To_Nat (Bs (Bs'First + 1)) * 100 +
Conversion.Byte_To_Nat (Bs (Bs'First + 2));
end Get_Size_Rapport;
function Get_Data_Rapport (Bs : G_D.Byte_String) return G_D.Byte_String is
S : G_D.Byte_String (1 .. 0);
begin
if Bs'Length < 4 then
return S;
else
return Bs (Bs'First + 4 .. Bs'Last);
end if;
end Get_Data_Rapport;
function Get_Parametre (Data : G_D.Byte_String)
return Parametre_68.Object is
O : Parametre_68.Object;
begin
Parametre_68.Set_Tempo (O, Conversion.Byte_To_Nat (Data (Data'First)));
case Data (Data'First + 1) is
when Activation_Apb =>
Parametre_68.Set_Apb (O, Parametre_68.Actif);
when Desactivation_Apb =>
Parametre_68.Set_Apb (O, Parametre_68.Inactif);
when others =>
raise Rapport_Error;
end case;
case Data (Data'First + 2) is
when Lecteur_En_Veille =>
Parametre_68.Set_Veille (O, Parametre_68.En_Veille);
when Lecteur_En_Service =>
Parametre_68.Set_Veille (O, Parametre_68.En_Service);
when others =>
raise Rapport_Error;
end case;
case Data (Data'First + 3) is
when Bp_Sur_Entree_Tor =>
Parametre_68.Set_Entree_Tor (O, Parametre_68.Bp);
when Boucle_Sur_Entree_Tor =>
Parametre_68.Set_Entree_Tor (O, Parametre_68.Boucle);
when Contact_Porte_Sur_Entree_Tor =>
Parametre_68.Set_Entree_Tor (O, Parametre_68.Contact);
when others =>
raise Rapport_Error;
end case;
case Data (Data'First + 4) is
when Tous_Evenement =>
Parametre_68.Set_Evenement (O, Parametre_68.Tous);
when Anomalie_Seulement =>
Parametre_68.Set_Evenement (O, Parametre_68.Anomalies);
when others =>
raise Rapport_Error;
end case;
return O;
end Get_Parametre;
function Get_Site (Data : G_D.Byte_String) return Site_68.Object is
O : Site_68.Object;
begin
Site_68.Set_Numero
(O, Conversion.Byte_To_Nat (Data (Data'First)) * 10_000 +
Conversion.Byte_To_Nat (Data (Data'First + 1)) * 100 +
Conversion.Byte_To_Nat (Data (Data'First + 2)));
return O;
end Get_Site;
function Get_Jjhhmm (Data : G_D.Byte_String) return Jj_Hh_Mm_68.Object is
O : Jj_Hh_Mm_68.Object;
J : Jj_Hh_Mm_68.T_Jour;
begin
J := Jj_Hh_Mm_68.T_Jour'First;
for I in 2 .. Conversion.Byte_To_Nat (Data (Data'First + 2)) loop
J := Jj_Hh_Mm_68.T_Jour'Succ (J);
end loop;
Jj_Hh_Mm_68.Create
(O => O,
Jour => J,
Heure => Conversion.Byte_To_Nat (Data (Data'First)),
Minute => Conversion.Byte_To_Nat (Data (Data'First + 1)));
return O;
end Get_Jjhhmm;
function Get_Periode (Data : G_D.Byte_String) return Horaire_68.Object is
O : Horaire_68.Object;
begin
Horaire_68.Create
(O => O,
Heure => Conversion.Byte_To_Nat (Data (Data'First)),
Minute => Conversion.Byte_To_Nat (Data (Data'First + 1)));
return O;
end Get_Periode;
function Get_Semaine (Data : G_D.Byte) return Semaine_68.Object is
O : Semaine_68.Object;
N : Natural;
begin
Semaine_68.Create_Semaine_Vide (O);
N := Conversion.Byte_To_Nat (Data);
for I in reverse Semaine_68.T_Jour_Semaine'First ..
Semaine_68.T_Jour_Semaine'Last loop
if (N mod 2) = 1 then
Semaine_68.Ajout_Jour (O, I);
end if;
N := N / 2;
end loop;
return O;
end Get_Semaine;
function Get_Ss_Zone (Data : G_D.Byte_String) return Ss_Zone_68.Object is
O : Ss_Zone_68.Object;
begin
Ss_Zone_68.Create
(O => O,
Deb_1 => Get_Periode (Data (Data'First .. Data'First + 1)),
Fin_1 => Get_Periode (Data (Data'First + 2 .. Data'First + 3)),
Deb_2 => Get_Periode (Data (Data'First + 4 .. Data'First + 5)),
Fin_2 => Get_Periode (Data (Data'First + 6 .. Data'First + 7)),
Jour_Sem => Get_Semaine (Data (Data'First + 8)));
return O;
end Get_Ss_Zone;
function Get_Plage (Data : G_D.Byte_String) return Plage_68.Object is
O : Plage_68.Object;
begin
Plage_68.Create
(O => O,
Numero => Conversion.Byte_To_Nat (Data (Data'First)),
Zone => 1,
Per_1 => Get_Ss_Zone (Data (Data'First + 1 .. Data'First + 9)),
Per_2 => Get_Ss_Zone (Data (Data'First + 10 .. Data'First + 18)),
Per_3 => Get_Ss_Zone (Data (Data'First + 19 .. Data'First + 27)));
return O;
end Get_Plage;
procedure Get_Carte (Data : G_D.Byte_String;
De_La_Carte, A_La_Carte : in out Carte_68.Object;
Indice_Fin : in out Natural) is
begin
Carte_68.Create
(O => De_La_Carte,
Numero => Conversion.Byte_To_Nat (Data (Data'First)) * 100 +
Conversion.Byte_To_Nat (Data (Data'First + 1)));
Carte_68.Create (O => A_La_Carte,
Numero => Conversion.Byte_To_Nat
(Data (Data'First + 2)) * 100 +
Conversion.Byte_To_Nat
(Data (Data'First + 3)));
Indice_Fin := Data'First + 3; end Get_Carte;
procedure Get_Evenement (Data : G_D.Byte_String;
Lecteur : Lecteur_68.T_Lecteur;
Evenement : in out Evenement_68.Object;
Indice_Fin : in out Natural) is
O : Jj_Hh_Mm_68.Object;
Jour : Jj_Hh_Mm_68.T_Jour;
Statut : Evenement_68.T_Statut;
Tete : Evenement_68.T_Tete;
begin
Jour := Jj_Hh_Mm_68.T_Jour'Val
(Jj_Hh_Mm_68.T_Jour'Pos (Jj_Hh_Mm_68.T_Jour'First) +
Conversion.Byte_To_Nat (Data (Data'First + 2)) - 1);
Jj_Hh_Mm_68.Create
(O => O,
Jour => Jour,
Heure => Conversion.Byte_To_Nat (Data (Data'First)),
Minute => Conversion.Byte_To_Nat (Data (Data'First + 1)));
case Conversion.Byte_To_Nat (Data (Data'First + 5)) is
when 0 =>
Tete := Evenement_68.Tete_Principale;
when 1 =>
Tete := Evenement_68.Tete_Auxiliaire;
when others =>
raise Rapport_Error;
end case;
case Data (Data'First + 6) is
when Status_Coupure_Secteur =>
Statut := Evenement_68.Coupure_Secteur;
when Status_Carte_Acceptee =>
Statut := Evenement_68.Carte_Acceptee;
when Status_Carte_Refusee_Veille =>
Statut := Evenement_68.Carte_Refusee_Veille;
when Status_Carte_Refusee_Site =>
Statut := Evenement_68.Carte_Refusee_Site;
when Status_Carte_Refusee_Prog =>
Statut := Evenement_68.Carte_Refusee_Prog;
when Status_Carte_Refusee_Apb =>
Statut := Evenement_68.Carte_Refusee_Apb;
when Status_Carte_Refusee_Plage =>
Statut := Evenement_68.Carte_Refusee_Plage;
when others =>
raise Rapport_Error; end case;
Evenement_68.Create
(O => Evenement,
Lecteur => Lecteur,
Carte => Conversion.Byte_To_Nat (Data (Data'First + 3)) * 100 +
Conversion.Byte_To_Nat (Data (Data'First + 4)),
Statut => Statut,
Jjhhmm => O,
Tete => Tete);
Indice_Fin := Data'First + 6;
end Get_Evenement;
end Config_Cl35;
nblk1=19
nid=0
hdr6=32
[0x00] rec0=1a rec1=00 rec2=01 rec3=04c
[0x01] rec0=14 rec1=00 rec2=12 rec3=002
[0x02] rec0=19 rec1=00 rec2=17 rec3=048
[0x03] rec0=1a rec1=00 rec2=11 rec3=00e
[0x04] rec0=1f rec1=00 rec2=0d rec3=07e
[0x05] rec0=16 rec1=00 rec2=0e rec3=048
[0x06] rec0=1e rec1=00 rec2=08 rec3=00c
[0x07] rec0=1d rec1=00 rec2=07 rec3=03c
[0x08] rec0=12 rec1=00 rec2=06 rec3=01e
[0x09] rec0=14 rec1=00 rec2=05 rec3=08e
[0x0a] rec0=1c rec1=00 rec2=15 rec3=010
[0x0b] rec0=1b rec1=00 rec2=0f rec3=044
[0x0c] rec0=1c rec1=00 rec2=02 rec3=02e
[0x0d] rec0=18 rec1=00 rec2=04 rec3=04c
[0x0e] rec0=19 rec1=00 rec2=03 rec3=018
[0x0f] rec0=1c rec1=00 rec2=09 rec3=01a
[0x10] rec0=03 rec1=00 rec2=19 rec3=020
[0x11] rec0=1a rec1=00 rec2=0a rec3=036
[0x12] rec0=1d rec1=00 rec2=0b rec3=010
[0x13] rec0=1c rec1=00 rec2=0c rec3=02e
[0x14] rec0=1c rec1=00 rec2=10 rec3=028
[0x15] rec0=15 rec1=00 rec2=16 rec3=002
[0x16] rec0=19 rec1=00 rec2=14 rec3=020
[0x17] rec0=17 rec1=00 rec2=13 rec3=002
[0x18] rec0=0f rec1=00 rec2=18 rec3=000
tail 0x2154b297687995b0a2464 0x42a00088462060003