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

⟦af74b3f78⟧ TextFile

    Length: 2728 (0xaa8)
    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 (Help_Utility)
-------------------------PROLOGUE---------------------------------------
--                                                                    -*
-- Unit name    :  GET_TEXT_LINE
-- Date created :  20 Febrauary 1985
-- Last update  :
--                                                                    -*
------------------------------------------------------------------------
--                                                                    -*
-- Abstract     : This procedure allows the user of the HELP_UTILITY
--              : to print the data accumulated by HELP_ME;
--                                                                    -*
------------------------------------------------------------------------
--
-- Mnemonic     :
-- Name         :
-- Release date :
------------------ Revision history ------------------------------------
--
-- DATE  AUTHOR   HISTORY
--
--
--


--------------------END-PROLOGUE----------------------------------------
procedure Get_Text_Line (Line : out String;
                         Char_Count : out Natural;
                         Is_Last : out Boolean) is

    Is_Last_Time : Boolean := False;
    Last_Char_Pos : Natural := 0;

begin

    Is_Last := False;

    if Help_Info_Support.Top_Line = null then
        raise Help_Utility.Nothing_To_Output;

    else
        if Help_Info_Support.Is_First_Time then
            Help_Info_Support.Current_Line := Help_Info_Support.Top_Line;
            Help_Info_Support.Is_First_Time := False;
        end if;

        if Line'Length > Help_Info_Support.Current_Line.Line_Length then
            Line := (1 .. Line'Length => ' ');
            Line (1 .. Help_Info_Support.Current_Line.Line_Length) :=
               Help_Info_Support.Current_Line.Text_Line
                  (1 .. Help_Info_Support.Current_Line.Line_Length);
        else
            Line := Help_Info_Support.Current_Line.Text_Line (1 .. Line'Length);
        end if;

        Char_Count := Help_Info_Support.Current_Line.Line_Length;

        if Help_Info_Support.Current_Line.Next_Line = null then
            Help_Info_Support.Current_Line := Help_Info_Support.Top_Line;
            Is_Last := True;
            Is_Last_Time := True;

        else
            Help_Info_Support.Current_Line :=
               Help_Info_Support.Current_Line.Next_Line;
        end if;
    end if;

    if Is_Last_Time then
        Help_Info_Support.Current_Line := Help_Info_Support.Top_Line;
        Help_Info_Support.Previous_Line := Help_Info_Support.Top_Line;
        Help_Info_Support.Is_First_Time := True;
    end if;

exception
    when Help_Utility.Nothing_To_Output =>
        raise;

    when others =>
        raise;
end Get_Text_Line;