DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦caaa08d05⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body L_Porteurs, seg_04cc98, seg_04cd80

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Text_Io;
package body L_Porteurs is

    L_Porteurs_Taille_Error : exception;

    procedure Parcours (L_P : in Object) is
        Iterateur : Liste.Iterator;
    begin
        Liste.Init (Iterateur, L_P);
        Text_Io.Put_Line ("--- Parcours de la Liste de Porteurs ---");
        loop
            exit when Liste.Done (Iterateur);
            Text_Io.Put_Line (Porteur.Image (Liste.Value (Iterateur)));
            Liste.Next (Iterateur);
        end loop;
    end Parcours;


    procedure Insert_Element (Element : Porteur.Object; L_P : in out Object) is
    begin
        L_P := Liste.Make (Element, L_P);
    end Insert_Element;


    function Longueur (L_P : in Object) return Natural is
    begin
        return Natural'(Liste.Length (L_P));
    end Longueur;


    procedure Search (L_P : in Object;
                      Numero_De_Carte : Natural;
                      Le_Porteur : out Porteur.Object) is
        Number : Natural;
        Iterateur : Liste.Iterator;
    begin
        Liste.Init (Iterateur, L_P);
        Porteur.Set (Le_Porteur, "", 0);
        loop
            exit when Liste.Done (Iterateur);
            if (Porteur.Get (Liste.Value (Iterateur)) = Numero_De_Carte) then
                Le_Porteur := Liste.Value (Iterateur);
                exit;
            end if;
            Liste.Next (Iterateur);
        end loop;

    end Search;

    function Search (L_P : in Object; Name_Porteur : String)
                    return Porteur.Object is
        Dernier_Car_Cherche : Natural;
        Dernier_Car_Trouve : Natural;
        Iterateur : Liste.Iterator;
        Un_Porteur : Porteur.Object;
    begin
        Dernier_Car_Cherche := Name_Porteur'Length;
        Liste.Init (Iterateur, L_P);
        loop
            exit when Liste.Done (Iterateur);
            Dernier_Car_Trouve := Porteur.Longueur_Name
                                     (Liste.Value (Iterateur));
            if (Dernier_Car_Trouve = Dernier_Car_Cherche) then
                if (Name_Porteur (1 .. Dernier_Car_Cherche) =
                    Porteur.Get (Liste.Value (Iterateur))) then
                    Un_Porteur := Liste.Value (Iterateur);
                    return Un_Porteur;
                end if;
            end if;
            Liste.Next (Iterateur);
        end loop;
        Porteur.Set (Un_Porteur, "", 0);
        return Un_Porteur;

    end Search;

    function Search (L_P : in Object; Numero_De_Carte : Natural)
                    return Boolean is
        Iterateur : Liste.Iterator;
        Number : Natural;
    begin
        Liste.Init (Iterateur, L_P);
        loop
            exit when Liste.Done (Iterateur);
            -- Number := Porteur.Get (liste.Value (Iterateur));
            if (Porteur.Get (Liste.Value (Iterateur)) = Numero_De_Carte) then
                return True;
            end if;
            Liste.Next (Iterateur);
        end loop;
        return False;
    end Search;

    function Search (L_P : in Object; Nom_Porteur : String) return Boolean is
        Dernier_Car_Cherche : Natural;
        Dernier_Car_Trouve : Natural;
        Iterateur : Liste.Iterator;
    begin
        Dernier_Car_Cherche := Nom_Porteur'Length;
        Liste.Init (Iterateur, L_P);
        loop
            exit when Liste.Done (Iterateur);
            Dernier_Car_Trouve := Porteur.Longueur_Name
                                     (Liste.Value (Iterateur));
            if (Dernier_Car_Trouve = Dernier_Car_Cherche) then
                if (Nom_Porteur (1 .. Dernier_Car_Cherche) =
                    Porteur.Get (Liste.Value (Iterateur))) then
                    return True;
                end if;
            end if;
            Liste.Next (Iterateur);
        end loop;
        return False;
    end Search;

end L_Porteurs;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=23 rec1=00 rec2=01 rec3=030
        [0x01] rec0=1c rec1=00 rec2=02 rec3=076
        [0x02] rec0=1b rec1=00 rec2=03 rec3=032
        [0x03] rec0=1c rec1=00 rec2=04 rec3=000
    tail 0x215496d72874f6e528074 0x42a00088462060003