|
|
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: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Groupe, seg_04cc88, seg_04cd6e
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Text_Io;
package body Groupe is
Groupe_Taille_Error : exception;
function Liste (Le_Groupe : in Groupe.Object) return Liste_Porteurs.List is
begin
return Le_Groupe.Liste_De_Porteurs;
end Liste;
procedure Vide_List (Un_Groupe : in out Groupe.Object) is
begin
Liste_Porteurs.Free (Un_Groupe.Liste_De_Porteurs);
end Vide_List;
procedure Parcours (Iterateur : in out Liste_Porteurs.Iterator;
Le_Groupe : Groupe.Object) is
begin
Liste_Porteurs.Init (Iterateur, Le_Groupe.Liste_De_Porteurs);
Text_Io.Put_Line ("--- Nom du Groupe ---");
Text_Io.Put_Line (Image (Le_Groupe));
Text_Io.Put_Line ("--- Parcours de la Liste de Porteurs ---");
loop
exit when Liste_Porteurs.Done (Iterateur);
Text_Io.Put_Line (Porteur.Image (Liste_Porteurs.Value (Iterateur)));
Liste_Porteurs.Next (Iterateur);
end loop;
end Parcours;
function Image (Le_Groupe : Groupe.Object) return String is
begin
return String'(Le_Groupe.Nom_De_Groupe (1 .. Le_Groupe.Dernier_Char));
end Image;
function Longueur_Name (Le_Groupe : in Groupe.Object) return Natural is
begin
return Le_Groupe.Dernier_Char;
end Longueur_Name;
function Longueur (Le_Groupe : in Groupe.Object) return Natural is
begin
return Natural'(Liste_Porteurs.Length (Le_Groupe.Liste_De_Porteurs));
end Longueur;
procedure Insert_Element (Element : Porteur.Object;
Le_Groupe : in out Groupe.Object) is
begin
Le_Groupe.Liste_De_Porteurs :=
Liste_Porteurs.Make (Element, Le_Groupe.Liste_De_Porteurs);
end Insert_Element;
procedure Set (Le_Groupe : out Groupe.Object; Nom_De_Groupe : String) is
Dernier_Char : Natural;
begin
Dernier_Char := Nom_De_Groupe'Last;
if (Dernier_Char > 30) then
raise Groupe_Taille_Error;
end if;
Le_Groupe.Nom_De_Groupe (1 .. Dernier_Char) :=
Nom_De_Groupe (1 .. Dernier_Char);
Le_Groupe.Dernier_Char := Dernier_Char;
exception
when Groupe_Taille_Error =>
Text_Io.Put_Line
("Taille du nom du Groupe : 30 Caracteres maximum !");
end Set;
procedure Search (Le_Groupe : in Groupe.Object;
Numero_De_Carte : Natural;
Le_Porteur : out Porteur.Object) is
Number : Natural;
Iterateur : Liste_Porteurs.Iterator;
begin
Liste_Porteurs.Init (Iterateur, Le_Groupe.Liste_De_Porteurs);
Porteur.Set (Le_Porteur, "", 0);
loop
exit when Liste_Porteurs.Done (Iterateur);
Number := Porteur.Get (Liste_Porteurs.Value (Iterateur));
if (Number = Numero_De_Carte) then
Le_Porteur := Liste_Porteurs.Value (Iterateur);
exit;
end if;
Liste_Porteurs.Next (Iterateur);
end loop;
end Search;
end Groupe;
nblk1=4
nid=0
hdr6=8
[0x00] rec0=1c rec1=00 rec2=01 rec3=000
[0x01] rec0=1f rec1=00 rec2=02 rec3=012
[0x02] rec0=18 rec1=00 rec2=03 rec3=04e
[0x03] rec0=08 rec1=00 rec2=04 rec3=000
tail 0x217540c9a874f6e38db48 0x42a00088462060003