|
|
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: 3043 (0xbe3)
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⟧
with Text_Io;
separate (File_Name_Package)
procedure Get_Output_File_Name (For_This_File : out File_Name) is
--==============================================================
-- This procedure gets either an output file name or just a =
-- carriage return. Leading blanks are stripped off by invoking=
-- a subprogram in File_Name_Package body called =
-- Read_Over_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;
-- This object is used to store the first input character from the
-- input (the value returned from Read_Over_Blanks)
New_File_Name : File_Name;
-- a holder for the new file name as For_This_File is an out parameter
begin
-- Get_Output_File_Name
-- Prompts the user for an output file name
Text_Io.Put_Line
("Would you like the output to go to a file or the Terminal" &
" screen ? ");
Text_Io.Put
("Enter carriage return for Terminal screen, or a file name : ");
-- Read the user's response. First set the number of characters
-- to zero
New_File_Name.Number_Of_Characters := 0;
Get_A_File_Name_Or_Carriage_Return:
begin
-- Read over any possible blanks that may occur in the output
Read_Over_Blanks (First_Non_Blank => Input_Character);
New_File_Name.Number_Of_Characters :=
New_File_Name.Number_Of_Characters + 1;
New_File_Name.Characters_In_Name
(New_File_Name.Number_Of_Characters) := Input_Character;
-- Get the rest of the output filename until the end of line
Get_A_Line:
loop
exit Get_A_Line when Text_Io.End_Of_Line;
New_File_Name.Number_Of_Characters :=
New_File_Name.Number_Of_Characters + 1;
Text_Io.Get (Item =>
New_File_Name.Characters_In_Name
(New_File_Name.Number_Of_Characters));
end loop Get_A_Line;
exception
when No_More_File_Names =>
null; -- A carriage return was typed in, so output should go
-- to the terminal screen
end Get_A_File_Name_Or_Carriage_Return;
For_This_File := New_File_Name;
exception
when Constraint_Error =>
Text_Io.Put_Line ("*****Too many characters in output file name.");
Text_Io.Put_Line ("*****Excess characters are ignored.");
Text_Io.Skip_Line;
For_This_File := New_File_Name;
end Get_Output_File_Name;