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

⟦db22c54c7⟧ TextFile

    Length: 2696 (0xa88)
    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

--------------------------------------------------------------------------
--
--  Abstract   : This package body allows for the output of Help
--             : information (procedure OUTPUT_HELP_INFO) obtained
--             : when calls are made to the HELP_UTILITY package
--             : from procedure HELP_SCREEN.
--
---------------------------------------------------------------------------
with Machine_Dependencies;
with Terminal_Interface;
with Help_Utility;

package body Help is

    procedure Help_Screen (Level : Level_Type) is


        -- Constants and variables

        Help_Topic : String (1 .. 80);          -- string containing user input
        Topic_Length : Natural;
        First_Call : Boolean := True;          -- Initialization flag

        procedure Output_Help_Info is

            Help_Info : String (1 .. 80);
            Help_Info_Length : Natural;
            Is_Last : Boolean;

        begin

            Terminal_Interface.New_Line;
            Help_Utility.Get_Text_Line (Help_Info, Help_Info_Length, Is_Last);

            while not Is_Last loop
                Terminal_Interface.Put_Line (Help_Info);
                Terminal_Interface.New_Line;
                Help_Utility.Get_Text_Line (Help_Info,
                                            Help_Info_Length, Is_Last);
            end loop;

            Terminal_Interface.Put (Help_Info (1 .. Help_Info_Length));


        end Output_Help_Info;

    begin
        -- begin procedure HELP_SCREEN

        --
        -- Initialize HELP_FILE the first time through
        --

        if First_Call then
            Help_Utility.Initialize (Machine_Dependencies.Help_File);
            First_Call := False;
        end if;
        --
        -- Clear screen
        --

        Terminal_Interface.New_Page;

        --
        -- Make initial call to HELP entering at level call was made

        Help_Utility.Help_Me (Level);

        --
        -- Handle other help requests
        --


        while not Help_Utility.Help_Is_Terminated loop

            Output_Help_Info;
            Terminal_Interface.Get_Line (Help_Topic, Topic_Length);
            Help_Utility.Help_Me (Help_Topic (1 .. Topic_Length));

        end loop;

        Terminal_Interface.New_Line;
        Help_Utility.Reset_Help;     -- Make sure you reset HELP for future
        -- entries into Help_screen


    exception
        when Help_Utility.Help_File_Does_Not_Exist =>
            raise Help_File_Error;

        when Help_Utility.Cannot_Open_Help_File =>
            raise Help_Open_Error;

        when Help_Utility.Illegal_Format_For_Help_File =>
            raise Help_Format_Error;

    end Help_Screen;

end Help;