|
|
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 - metrics - 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;