|
|
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 L_Zones, seg_04cc9c, seg_04cd86
└─⟦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 L_Zones is
Zones_Taille_Error : exception;
procedure Parcours (Les_Zones : Object) is
Iterateur : Liste.Iterator;
begin
Liste.Init (Iterateur, Les_Zones);
Text_Io.Put_Line ("--- Parcours de la Liste des Zones ---");
loop
exit when Liste.Done (Iterateur);
Zone.Parcours (Liste.Value (Iterateur));
Liste.Next (Iterateur);
end loop;
end Parcours;
function Longueur (Les_Zones : in Object) return Natural is
begin
return Natural'(Liste.Length (Les_Zones));
end Longueur;
procedure Insert_Element (Element : Zone.Object;
Les_Zones : in out Object) is
begin
Les_Zones := Liste.Make (Element, Les_Zones);
end Insert_Element;
procedure Search (Les_Zones : in Object;
Numero_Lecteur : in Natural;
La_Zone : in out Zone.Object;
La_Porte : in out Porte.Object) is
Iterateur : Liste.Iterator;
begin
Porte.Set (La_Porte => La_Porte,
Nom_De_Porte => "",
Numero_De_Lecteur => 0);
Liste.Init (Iterateur, Les_Zones);
loop
exit when Liste.Done (Iterateur);
La_Zone := Liste.Value (Iterateur);
Zone.Search (La_Zone => La_Zone,
Numero_De_Lecteur => Numero_Lecteur,
La_Porte => La_Porte);
exit when Porte.Get (La_Porte) /= 0;
Liste.Next (Iterateur);
end loop;
end Search;
procedure Search (Les_Zones : in Object;
Nom_De_Zone : String;
La_Zone : out Zone.Object) is
Dernier_Car_Cherche : Natural;
Dernier_Car_Trouve : Natural;
Iterateur : Liste.Iterator;
begin
Dernier_Car_Cherche := Nom_De_Zone'Length;
Liste.Init (Iterateur, Les_Zones);
Zone.Set_Name (La_Zone, "");
loop
exit when Liste.Done (Iterateur);
Dernier_Car_Trouve := Zone.Longueur_Name (Liste.Value (Iterateur));
if (Dernier_Car_Trouve = Dernier_Car_Cherche) then
if (Nom_De_Zone (1 .. Dernier_Car_Cherche) =
Zone.Image (Liste.Value (Iterateur))) then
La_Zone := Liste.Value (Iterateur);
exit;
end if;
end if;
Liste.Next (Iterateur);
end loop;
end Search;
function Search (Les_Zones : in Object; Nom_De_Zone : String)
return Boolean is
Iterateur : Liste.Iterator;
Dernier_Car_Cherche : Natural;
Dernier_Car_Trouve : Natural;
begin
Dernier_Car_Cherche := Nom_De_Zone'Length;
Liste.Init (Iterateur, Les_Zones);
loop
exit when Liste.Done (Iterateur);
Dernier_Car_Trouve := Zone.Longueur_Name (Liste.Value (Iterateur));
if (Dernier_Car_Trouve = Dernier_Car_Cherche) then
if (Nom_De_Zone (1 .. Dernier_Car_Cherche) =
Zone.Image (Liste.Value (Iterateur))) then
return True;
end if;
end if;
Liste.Next (Iterateur);
end loop;
return False;
end Search;
end L_Zones;
nblk1=4
nid=0
hdr6=8
[0x00] rec0=20 rec1=00 rec2=01 rec3=05c
[0x01] rec0=1d rec1=00 rec2=02 rec3=040
[0x02] rec0=1a rec1=00 rec2=03 rec3=012
[0x03] rec0=0e rec1=00 rec2=04 rec3=000
tail 0x217540cd6874f6e5a4149 0x42a00088462060003