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

⟦c43b34387⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body L_Portes, seg_04cc96, seg_04cd7e

Derivation

└─⟦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_Portes is


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

    end Parcours;


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

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


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

    procedure Search (L_Door : in Object;
                      Nom_Porte : String;
                      La_Porte : out Porte.Object) is
        Dernier_Char_Cherche : Natural;
        Dernier_Char_Trouve : Natural;
        Iterateur : Liste.Iterator;
    begin
        Dernier_Char_Cherche := Nom_Porte'Length;
        Liste.Init (Iterateur, L_Door);
        Porte.Set (La_Porte, "", 0);
        loop
            exit when Liste.Done (Iterateur);
            Dernier_Char_Trouve := Porte.Longueur_Name
                                      (Liste.Value (Iterateur));
            if (Dernier_Char_Trouve = Dernier_Char_Cherche) then
                if (Nom_Porte (1 .. Dernier_Char_Cherche) =
                    Porte.Get (Liste.Value (Iterateur))) then
                    La_Porte := Liste.Value (Iterateur);
                    exit;
                end if;
            end if;
            Liste.Next (Iterateur);
        end loop;
    end Search;

    function Search (L_Door : in Object; Nom_Porte : String) return Boolean is
        Dernier_Char_Cherche : Natural;
        Dernier_Char_Trouve : Natural;
        Iterateur : Liste.Iterator;
    begin
        Dernier_Char_Cherche := Nom_Porte'Length;
        Liste.Init (Iterateur, L_Door);
        loop
            exit when Liste.Done (Iterateur);
            Dernier_Char_Trouve := Porte.Longueur_Name
                                      (Liste.Value (Iterateur));
            if (Dernier_Char_Trouve = Dernier_Char_Cherche) then
                if (Nom_Porte (1 .. Dernier_Char_Cherche) =
                    Porte.Get (Liste.Value (Iterateur))) then
                    return True;
                end if;
            end if;
            Liste.Next (Iterateur);
        end loop;
        return False;
    end Search;


end L_Portes;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=24 rec1=00 rec2=01 rec3=02c
        [0x01] rec0=1c rec1=00 rec2=02 rec3=02e
        [0x02] rec0=18 rec1=00 rec2=03 rec3=008
        [0x03] rec0=0c rec1=00 rec2=04 rec3=000
    tail 0x217540cca874f6e4ec14c 0x42a00088462060003