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

⟦4bfc2774b⟧ TextFile

    Length: 1920 (0x780)
    Types: TextFile
    Notes: R1k Text-file segment

Derivation

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

TextFile

with Text_Io;
package body Feu_Rouge is
    F1 : Objet;
    procedure Demarrer (F : in Objet) is
    begin
        F.Feu.Demarre;
    end Demarrer;

    procedure Arreter (F : in Objet) is
    begin
        F.Feu.Arrete;
    end Arreter;

    procedure Changer_Tempo (F : in Objet;
                             Tr : in Duration;
                             To : in Duration;
                             Tv : in Duration) is
    begin
        F.Feu.Changt_Tempo (Tr, To, Tv);
    end Changer_Tempo;

    task body Feu_Type is
        Marche : Boolean := False;
        Duree_Vert : Duration := 1.0;
        Duree_Orange : Duration := 1.0;
        Duree_Rouge : Duration := 1.0;
    begin
        while not (Marche) loop            --boucle d'attente de mise en marche
            accept Demarre do
                Marche := True;
                Text_Io.Put_Line ("demarrage du feu");
            end Demarre;
        end loop;
        while Marche loop                  --boucle du cycle du feu en marche
            Text_Io.Put_Line ("je suis vert");
            delay Duree_Vert;
            Text_Io.Put_Line ("je suis orange");
            delay Duree_Orange;
            Text_Io.Put_Line ("je suis rouge");
            delay Duree_Rouge;
            select
                accept Changt_Tempo (Tr : in Duration;
                                     To : in Duration;
                                     Tv : in Duration) do
                    Duree_Vert := Tv;
                    Duree_Orange := To;
                    Duree_Rouge := Tr;  
                    Text_Io.Put_Line ("rdv de chgt");
                end Changt_Tempo;
            or
                accept Arrete do
                    Marche := False;
                    Text_Io.Put_Line ("rdv d'arret");
                end Arrete;
            or
                delay 1.0;
            end select;
        end loop;
    end Feu_Type;
end Feu_Rouge