[BACK]Return to communications_with_user.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / System

Annotation of OpenXM_contrib/PHC/Ada/System/communications_with_user.ads, Revision 1.1

1.1     ! maekawa     1: with text_io;                            use text_io;
        !             2:
        !             3: package Communications_with_User is
        !             4:
        !             5: -- DESCRIPTION :
        !             6: --   The routines of this package are used to
        !             7: --    1) determine the names of input/output files:
        !             8: --       + create a file: prevent over-writing of important files;
        !             9: --       + open a file: check first its existence.
        !            10: --    2) make selections from menu's: choose one of the alternatives.
        !            11:
        !            12:   function Read_String return string;
        !            13:
        !            14:   -- DESCRIPTION :
        !            15:   --   Reads a string from standard input and returns it to the caller.
        !            16:   --   The length of the input string must be smaller than 80 characters.
        !            17:
        !            18:   generic
        !            19:     with function Valid_Alternative ( alt : character ) return boolean;
        !            20:   procedure Ask ( ans : out character );
        !            21:
        !            22:   -- DESCRIPTION :
        !            23:   --   This procedure keeps reading a character from standard input,
        !            24:   --   until a valid one has been given.
        !            25:   --   The function Valid_Alternative decides whether a certain
        !            26:   --   character corresponds to a valid answer to the question.
        !            27:
        !            28:   procedure Ask_Yes_or_No ( ans : out character );
        !            29:
        !            30:   -- DESCRIPTION :
        !            31:   --   Keeps reading a character from standard output,
        !            32:   --   until the user gives a 'y' or a 'n'.
        !            33:
        !            34:   procedure Ask_Alternative ( ans : out character; alternatives : in string );
        !            35:
        !            36:   -- DESCRIPTION :
        !            37:   --   This procedure keeps reading a character from standard input,
        !            38:   --   until a character that belongs to the string s has been given.
        !            39:
        !            40:   procedure Ask_Alternative
        !            41:                 ( ans : in out string; alternatives : string;
        !            42:                   prefix : in character );
        !            43:
        !            44:   -- DESCRIPTION :
        !            45:   --   Ask the user to give a character that occurs in the string of
        !            46:   --   alternatives, eventually preceded by the given prefix character.
        !            47:   --   This procedure keeps reading till a valid choice has been made.
        !            48:
        !            49:   -- REQUIRED : ans'range = 1..2.
        !            50:
        !            51:   procedure Read_Name_and_Open_File ( file : in out file_type );
        !            52:
        !            53:   -- DESCRIPTION :
        !            54:   --   This procedure reads a name from standard input and
        !            55:   --   tries to open this file for input.
        !            56:   --   If this is unsuccesful, then another name will be asked.
        !            57:
        !            58:   procedure Read_Name_and_Create_File ( file : in out file_type );
        !            59:
        !            60:   -- DESCRIPTION :
        !            61:   --   This procedure reads a name from standard input and
        !            62:   --   a file with this name will be created for output.
        !            63:   --   If a file with the given name already exists,
        !            64:   --   the user will be asked if the existing file may be destroyed.
        !            65:
        !            66:   procedure Open_Input_File
        !            67:                ( file : in out file_type; filename : in string );
        !            68:
        !            69:   -- DESCRIPTION :
        !            70:   --   Tries to open a file for input, starting with the given file name.
        !            71:   --   If the opening of the file with the given name is not succesful,
        !            72:   --   then the procedure `Read_Name_and_Open_File' will be invoked.
        !            73:
        !            74:   procedure Create_Output_File
        !            75:                ( file : in out file_type; filename : in string );
        !            76:
        !            77:   -- DESCRIPTION :
        !            78:   --   This procedure creates an output file, starting with the given
        !            79:   --   file name.  If the creation of a file with this name is unsuccesful,
        !            80:   --   then the procedure `Read_Name_and_Create_File' will be invoked.
        !            81:
        !            82: end Communications_with_User;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>