DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦8fcce30b3⟧ TextFile

    Length: 2032 (0x7f0)
    Types: TextFile
    Names: »B«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 

TextFile

package body Timer_Moteur is
    task body Chrono is
        Debut, Fin : Calendar.Time;
        En_Cours : Boolean := False;
    begin
        loop
            select
                accept Reset_Temps do
                    Debut := Fin;
                    En_Cours := False;
                end Reset_Temps;
            or
                when not En_Cours =>
                    accept Start_Temps do
                        Debut := Calendar.Clock;
                        En_Cours := True;
                    end Start_Temps;
            or
                when En_Cours =>
                    accept Stop_Temps do
                        Fin := Calendar.Clock;
                        En_Cours := False;
                    end Stop_Temps;
            or
                accept Temps_Moteur (T : out Etape.Temps) do
                    if En_Cours then
                        T := Etape.Temps (10 * Calendar."-"
                                                  (Calendar.Clock, Debut));
                    else
                        T := Etape.Temps (10 * Calendar."-" (Fin, Debut));
                    end if;
                end Temps_Moteur;
            or
                terminate;
            end select;
        end loop;
    end Chrono;

    procedure Reset_Temps (The_Chrono : in out Timer_Moteur.Objet) is
    begin
        The_Chrono.Reset_Temps;
    end Reset_Temps;


    procedure Start_Temps (The_Chrono : in out Timer_Moteur.Objet) is
    begin
        The_Chrono.Start_Temps;
    end Start_Temps;


    procedure Stop_Temps (The_Chrono : in out Timer_Moteur.Objet) is
    begin
        The_Chrono.Stop_Temps;
    end Stop_Temps;


    function Temps_Moteur
                (The_Chrono : Timer_Moteur.Objet) return Etape.Temps is
        Val : Etape.Temps;
    begin
        The_Chrono.Temps_Moteur (Val);  
        return Val;
    end Temps_Moteur;
    procedure Init_Temps (The_Chrono : in out Timer_Moteur.Objet) is
    begin
        The_Chrono := new Chrono;
    end Init_Temps;

end Timer_Moteur;