[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

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>