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 - metrics - download
Index: B T

⟦bb7787583⟧ TextFile

    Length: 4120 (0x1018)
    Types: TextFile
    Names: »B«

Derivation

└─⟦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⟧ 

TextFile

separate (Tracker.Element_Pkg.El_Save)

procedure El_Write is
    ----------------------------------------------------------------------
    --|
    --|  NAME:  EL_WRITE
    --|
    --|  OVERVIEW:
    --|    This procedure is passed in a record pointer.  The record is written
    --|    to one line of the output file in the following format:
    --||
    --||   +--------------+------+----------+--+--+--+-------+-------+
    --||   | description  | key  | ss_name  |pr|ms|pi| bs_ln | sz_st | . . .
    --||   +--------------+------+----------+--+--+--+-------+-------+
    --||
    --||                                 prev_date  date_verif
    --||         +-------+---+----------+--+--+----+--+--+----+------+
    --||   . . . | cur_sz|com| ac_cmpltn|mo|dy|year|mo|dy|year|mul_pr| . . .
    --||         +-------+---+----------+--+--+----+--+--+----+------+
    --||                      ^
    --||                      this field varies from 1..num_of_activities
    --||
    --||   Since the element record is variant, the remaining data depends on
    --||   the value of more_than_one_person.
    --||   If true :  +--+--+--+
    --||              |pr|pr|pr|...num_of_activities  -- array of initials
    --||              +--+--+--+
    --||
    --||   If false:  +--+
    --||              |pr|      -- only one initial
    --||              +--+
    --||
    --|    The element records are the last type of data to be written to the
    --|    output file.  There are no extra spaces between the record fields.
    --|
    --|  EXCEPTIONS HANDLED:
    --|    none
    --|
    --|  HISTORY:
    --|    written by   May Lee   March 1985
    --|
    --|  NOTES:
    --|    The boolean value more_than_one_person, is read and written to the
    --|    file as an integer (1=true, 0=false).  This is due to the problems
    --|    with the way Ada reads an enumeration type from a file.  The default
    --|    width cannot be used if additional data follows the boolean value.
    --|    If the width is used to allow for a trailing blank, then the boolean
    --|    value can be read, but the following value is incorrect (unless you
    --|    account for the blank).
    --|
    ----------------------------------------------------------------------

    Is_True : constant Character := 'T';
    Is_False : constant Character := 'F';

begin
    Put (Output_File, El_Record.Description);  -- string
    Put (Output_File, El_Record.Desc_Key);
    Put (Output_File, El_Record.Subsystem_Name);
    Put (Output_File, El_Record.Milestone_Num, 2);  -- integer
    Put (Output_File, El_Record.Priority, 2);  -- integer
    Put (Output_File, El_Record.Original_Size, 7);
    Put (Output_File, El_Record.Size_Done_At_Start, 7);
    Put (Output_File, El_Record.Current_Size, 7);
    Put (Output_File, El_Record.Complexity, 1, 1, 0);

    for I in 1 .. Num_Of_Activities loop
        -- convert enumeration type act_phase_char_set to char for write
        Char_Ac_Completeness (I) := Convert
                                       (El_Record.Activity_Completeness (I));
        Put (Output_File, Char_Ac_Completeness (I));
    end loop;

    if Update then
        -- update prev_date_done to date_done
        Put (Output_File, El_Record.Date_Done.Month, 2);
        Put (Output_File, El_Record.Date_Done.Day, 2);
        Put (Output_File, El_Record.Date_Done.Year, 4);
    else
        Put (Output_File, El_Record.Prev_Date_Done.Month, 2);
        Put (Output_File, El_Record.Prev_Date_Done.Day, 2);
        Put (Output_File, El_Record.Prev_Date_Done.Year, 4);
    end if;

    Put (Output_File, El_Record.Date_Size_Verified.Month, 2);
    Put (Output_File, El_Record.Date_Size_Verified.Day, 2);
    Put (Output_File, El_Record.Date_Size_Verified.Year, 4);

    if El_Record.More_Than_One_Person then
        Put (Output_File, Is_True);

        for I in 1 .. Num_Of_Activities loop
            Put (Output_File, El_Record.People_Initials (I));
        end loop;
    else
        Put (Output_File, Is_False);
        Put (Output_File, El_Record.Person_Initials);
    end if;

    New_Line (Output_File);
end El_Write;