|
|
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: 4114 (0x1012)
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.Milestone_Pkg)
procedure Ms_Modify is
-----------------------------------------------------------------------------
--|
--| NAME: MS_MODIFY
--|
--| OVERVIEW:
--| This procedure allows the user to modify an existing milestone record.
--| The user is prompted for an existing milestone record by calling
--| the appropriate Prompt_Pkg function. The generic FIND is used to
--| get the record. The user is then allowed to change the fields by
--| choosing a menu selection. The record fields are modified directly.
--| When a milestone number is modified in the milestone record, the
--| milestone number must also be changed in every element to
--| which it belonged by calling the procedure MODIFY_MILESTONE_KEY.
--|
--| EXCEPTIONS HANDLED:
--| none
--|
--| HISTORY:
--| written by May Lee March 1985
--|
-----------------------------------------------------------------------------
use Calendar;
Abort_Proc : Boolean; -- abort getting existing ms
Exit_Field_Menu : Boolean := False; -- exit milestone field menu
Field_Selection : Integer; -- selection from milestone field menu
Ms_Record : Milestone_Pointer; -- pointer to milestone data record
Key : Ms_Num_Type; -- num of milestone looking for
Found : Boolean := False; -- if the record was found in the list
procedure Modify_Milestone_Key is separate;
begin
New_Line;
Put_Line ("What is the number of the milestone you would like to modify?");
Prompt_Pkg.Existing_Milstone_Number (Abort_Proc, Key);
-- set pointer to that milstone, returned in ms_record
Find (Ms_List, Key, Ms_Record, Found);
if not Abort_Proc then
while not Exit_Field_Menu loop
Field_Selection := Vt100.Print_Ms_Menu (Ms_Record);
case Field_Selection is
when 1 =>
-- get milestone number..change the key
Put (" The current milestone number is ");
Put (Ms_Record.Number, 2);
New_Line;
Put_Line (" What would you like to change it to? ");
Modify_Milestone_Key;
when 2 =>
-- get milestone completion number
Put
(" The current milestone completion sequence number is ");
Put (Ms_Record.Completion_Number, 2);
New_Line;
Put_Line (" What would you like to change it to? ");
Ms_Record.Completion_Number :=
Prompt_Pkg.Milestone_Completion_Number
(Default => Ms_Record.Number);
when 3 =>
-- get the due date
Put (" The current due date is ");
if Ms_Record.Due_Date = Null_Date then
Put ("a null date. ");
else
Put (Ms_Record.Due_Date.Month, 2);
Put ('/');
Put (Ms_Record.Due_Date.Day, 2);
Put ('/');
Put (Ms_Record.Due_Date.Year, 4);
end if;
New_Line;
Put_Line (" What would you like to change it to? ");
Ms_Record.Due_Date := Prompt_Pkg.Date;
when 4 =>
-- Getting new description
Put_Line (" The current description is : ");
Put_Line (Ms_Record.Description (1 .. 50));
New_Line;
Put_Line (" What would you like to change it to? ");
Ms_Record.Description := Prompt_Pkg.Ms_Description;
when 5 =>
Exit_Field_Menu := True;
when others =>
Put_Line (" Please enter a number beween 1 and 5.");
end case;
end loop;
end if;
end Ms_Modify;