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

⟦5d9b96845⟧ TextFile

    Length: 2700 (0xa8c)
    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 (File_Name_Package)
procedure Get_Input_File_Name (For_This_File : out File_Name) is

    --==============================================================
    -- This procedure gets an input file name by using Text_IO.    =
    -- Leading blanks are stripped off by invoking a subprogram    =
    -- in File_Name_Package body called Read_Over_Blanks. All      =
    -- characters except the first character are read after        =
    -- skipping over these inital blanks. This procedure will      =
    -- always read until a carriage return is found.               =
    --                                                             =
    -- written  by  Gary Russell at EVB Software Engineering Inc.  =
    -- Reviewed by Brad Balford and Johan Margono                  =
    -- May 1985                                                    =
    --==============================================================

    Input_Character : Character;
    -- A character typed in by the user
    Name_Index : Name_Index_Type := For_This_File.Characters_In_Name'First;
    -- An index into the array of input file name characters

begin
    -- Get_Input_File_Name

    -- Read over blanks in the input

    Leading_Blanks:
        begin
            Read_Over_Blanks (First_Non_Blank => Input_Character);

            For_This_File.Characters_In_Name (Name_Index) := Input_Character;
            Name_Index := Name_Index + 1;
        exception
            when No_More_File_Names =>
                raise;
        end Leading_Blanks;

    -- Reads an input file name

    Reading_Characters:
        loop

            exit Reading_Characters when Text_Io.End_Of_Line;

            -- Read a character and increment the count read so far

            Text_Io.Get (Input_Character);

            exit Reading_Characters when Input_Character = ' ';

            For_This_File.Characters_In_Name (Name_Index) := Input_Character;
            Name_Index := Name_Index + 1;

        end loop Reading_Characters;

    For_This_File.Number_Of_Characters := Name_Index - 1;

exception
    when Text_Io.End_Error =>
        For_This_File.Number_Of_Characters := Name_Index - 1;
    when Constraint_Error =>
        For_This_File.Number_Of_Characters :=
           For_This_File.Characters_In_Name'Length;

        -- Read over any remaining characters for this file name
        -- Input_Character will never be a blank the first time through
        -- the loop. Ignore this condition the first time through the loop

        while not (Input_Character = ' ' or Text_Io.End_Of_Line) loop

            -- Read a character
            Text_Io.Get (Input_Character);
        end loop;

end Get_Input_File_Name;