DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 5188 (0x1444) Types: TextFile Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─ ⟦d65440be7⟧ »DATA« └─⟦this⟧
with Etape; use Etape; package body Role is function Creerunrole (A : Acteur) return Role is Resultat : Role; begin Resultat := new Descripteurderole; Resultat.Lacteur := A; Resultat.Lesetapes := Etape.Etapeinexistante; Resultat.Encours := False; Resultat.Ledebut := 0; Resultat.Lindex := Etape.Etapeinexistante; Resultat.Laduree := 0; return Resultat; end Creerunrole; function Leroleestvide (Unrole : Role) return Boolean is use Etape; begin return Boolean (Unrole.Lesetapes = Etape.Etapeinexistante); end Leroleestvide; function Lacteurdurole (Unrole : Role) return Acteur is begin return Unrole.Lacteur; end Lacteurdurole; function Ladureedurole (Unrole : Role) return Etape.Temps is begin return Unrole.Laduree; end Ladureedurole; function Leroleestencours (Unrole : Role) return Boolean is begin return (Unrole.Encours = True); end Leroleestencours; function Lesetapes (Unrole : Role) return Etape.Etape is begin return Unrole.Lesetapes; end Lesetapes; function Quelleactiondurole (Unrole : Role; Untemps : Temps) return Etape.Action is Indexrole : Etape.Etape; Trouve : Boolean := False; begin Indexrole := Lesetapes (Unrole); while (Indexrole /= Etapeinexistante) and (not Trouve) loop if Etape.Letempsdeletape (Indexrole) = Untemps then Trouve := True; Quelleactiondurole := Lactiondeletape (Indexrole); end if; Indexrole := Lasuitedeletape (Indexrole); end loop; end Quelleactiondurole; procedure Caseruneactiondansunrole (Unrole : Role; Untemps : Etape.Temps; Uneaction : Etape.Action) is E : Etape.Etape; begin E := Lesetapes (Unrole); Caseruneactiondanslesetapes (Untemps, Uneaction, E); end Caseruneactiondansunrole; procedure Exclureuneactiondansunrole (Unrole : Role; Untemps : Etape.Temps) is E : Etape.Etape; begin E := Lesetapes (Unrole); Exclureuneactiondesetapes (E, Untemps); end Exclureuneactiondansunrole; procedure Decaleruneactiondurole (Unrole : Role; Untemps : Etape.Temps; Delai : Integer) is begin null; end Decaleruneactiondurole; procedure Deplaceruneactiondurole (Unrole : Role; Untemps : Etape.Temps; Delai : Integer) is begin null; end Deplaceruneactiondurole; procedure Decalerlerole (Unrole : Role; Untemps : Etape.Temps; Delai : Integer) is begin null; end Decalerlerole; procedure Viderlerole (Unrole : in out Role) is begin Unrole.Lesetapes := Etapeinexistante; end Viderlerole; function Chargerunacteur (F : in Text_Io.File_Type) return Etape.Acteur is Actaux : Etape.Acteur; begin Readln (F, Actaux); return Actaux; end Chargerunacteur; function Chargeruneaction (F : in Text_Io.File_Type) return Etape.Action is Actionaux : Etape.Action; begin Readln (F, Actionaux); return Actionaux; end Chargeruneaction; function Chargeruntemps (F : in Text_Io.File_Type) return Etape.Temps is Tempsaux : Etape.Temps; begin Readln (F, Tempsaux); return Tempsaux; end Chargeruntemps; function Chargerunrole (F : in Text_Io.File_Type) return Role is Unrole : Role; Unacteur : Etape.Acteur; Uneaction : Etape.Action; Untemps : Etape.Temps; Nombre : Integer; begin Unacteur := Chargerunacteur (F); Unrole := Creerunrole (Unacteur); Readln (F, Nombre); for I in 1 .. Nombre loop Uneaction := Chargeruneaction (F); Untemps := Chargeruntemps (F); Caseruneactiondansunrole (Unrole, Untemps, Uneaction); end loop; return Unrole; end Chargerunrole; procedure Demarrerlerole (Unrole : in out Role) is Indicerole : Role; begin Indicerole := Unrole; Indicerole.Encours := True; if Indicerole.Etape /= [expression]'[identifier]'[identifier] then begin Text_Io.Putline ("Acteur = ", Indicerole.Laction); Indicerole.Etape := Indicerole.Etape.Lasuite; end; end if; end Demarrerlerole; procedure Arreterlerole (Unrole : in out Role) is begin null; end Arreterlerole; procedure Jouerlerole (Unrole : Role) is begin null; end Jouerlerole; procedure Solliciterlerole (Unrole : Role) is begin null; end Solliciterlerole; procedure Sauvegarderlerole (Unrole : Role; Fichier : String) is F : Text_Io.File_Type; begin Assign (F, Fichier); Append (F); Sauverunacteur (F, Unrole); end Sauvegarderlerole; end Role;