|
|
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: 3737 (0xe99)
Types: TextFile
Names: »B«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
separate (Tracker.Activity_Pkg)
--Due to a system error, the comment that was here has been lost
procedure Ac_Add is
------------------------------------------------------------------------------
--|
--| NAME: AC_ADD
--|
--| OVERVIEW:
--| This procedure sets up the record to be added to the list by
--| user prompt/response. The prompts are called from the Prompt_pkg,
--| which returns a valid response. The complete record is then added
--| to the linked list by calling the generic List_pkg procedure ADD.
--|
--| EXCEPTIONS HANDLED:
--| none
--|
--| HISTORY:
--| written by May Lee March 1985
--|
--| NOTES:
--| A check is made to insure that the maximum number of activities
--| is not exceeded.
--|
--| The number of activities is incremented in this procedure.
------------------------------------------------------------------------------
A_Char : Character := ' ';
Ac_Record : Activity_Pointer;
El_Record : Element_Pointer;
End_List : Boolean := False;
Ss_Record : Subsystem_Pointer;
begin
New_Line;
-- check if num of activities is > max num of activities
if Num_Of_Activities > Max_Num_Activities then
Put_Line (" You are not allowed to add another activity because ");
Put (" you already have ");
Put (Max_Num_Activities, 1);
Put (" activities, ");
New_Line;
Put_Line (" which is the most you are allowed to have. ");
else
-- create a pointer to an activity record
Ac_Record := new Activity_Type;
Put_Line (" If you would like more information on the type of data ");
Put_Line (" to enter for any of the following questions, enter '?'. ");
Put_Line (" Otherwise, enter the data requested. ");
New_Line (2);
-- get the record fields
Ac_Record.Name := Prompt_Pkg.New_Activ_Name;
Put_Line (" What is this activity's percent of the project? ");
Ac_Record.Percent_Tot_Proj := Prompt_Pkg.Percent;
Ac_Record.Priority := Prompt_Pkg.Activ_Priority;
Ac_Record.Consider_In_Calc := Prompt_Pkg.Consider_Ac_In_Calc;
Put_Line (" What percentage is available at start? ");
Ac_Record.Percent_At_Start := Prompt_Pkg.Percent;
-- add the record to the linked list by calling the generic add
Add (Ac_List, Ac_Record.Name (1 .. Act_Name_Max_Len), Ac_Record);
-- increment number of activities
Num_Of_Activities := Num_Of_Activities + 1;
-- walk ss list and prompt for extra task number
Start_Walk (Ss_List);
loop
Walk (Ss_List, Ss_Record, End_List);
exit when End_List;
Ss_Record.Task_Numbers (Num_Of_Activities) :=
Prompt_Pkg.Task_Number_By_Ac (Ss_Record);
end loop;
New_Line (2);
-- Walk the element list and check each element.
-- If multiple people on an element, default the person's initials
-- for the new activity to be the person working on the previous ac
Start_Walk (El_List);
loop
Walk (El_List, El_Record, End_List);
exit when End_List;
-- check if multiple people
if El_Record.More_Than_One_Person then
El_Record.People_Initials (Num_Of_Activities) :=
El_Record.People_Initials (Num_Of_Activities - 1);
end if;
end loop;
New_Line;
Put (" The number of activities = ");
Put (Num_Of_Activities, 1);
New_Line (2);
delay 1.0;
end if; -- allowed to add another activity
end Ac_Add;