richie3366

entrees_sorties.ads

Sep 27th, 2012
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ada 5.01 KB | None | 0 0
  1. -- Copyright (C) 2011 Equipe pedagogique Universite Toulouse Paul Sabatier L1 - Tous droits reserves.
  2. -- Ce programme est un logiciel libre ; vous pouvez le redistribuer ou le
  3. --  modifier suivant les termes de la "GNU General Public License" telle que
  4. --  publiee par la Free Software Foundation : soit la version 3 de cette
  5. --  licence, soit (a votre gre) toute version ulterieure.
  6.  
  7. --  Ce programme est distribue dans l'espoir qu'il vous sera utile, mais SANS
  8. --  AUCUNE GARANTIE : sans meme la garantie implicite de COMMERCIALISABILITE
  9. --  ni d'ADEQUATION A UN OBJECTIF PARTICULIER. Consultez la Licence Generale
  10. --  Publique GNU pour plus de details.
  11. --  Consultez :  <http://www.gnu.org/licenses/>.
  12.  
  13. -- ***********************
  14. -- Prologue de compilation
  15. -- ***********************
  16. with text_io;
  17. with io_exceptions;
  18. -- **************************************
  19. -- Specification du paquetage utilisateur
  20. -- **************************************
  21. package entrees_sorties is
  22. --  ***********************************************************************
  23. --  Ce paquetage contient un sous-ensemble des operations d'entrees sorties
  24. --     L'utilisateur n'a pas a connaitre la notion de genericite
  25. --     Seules quelques operations concernant
  26. --    les entiers,
  27. --    les flottants,
  28. --    les booleens,
  29. --    les caracteres et
  30. --    les chaines de caracteres
  31. --  sont fournies.
  32. --     ainsi que les exceptions les plus importantes
  33. --       concernant les entrees-sorties
  34. --  ***********************************************************************
  35. -- =========================================================
  36. -- Definition des paquetages necessaires aux entrees-sorties
  37. -- =========================================================
  38. package int_io is new text_io.integer_io(Integer);
  39. package flt_io is new text_io.float_io(Float);
  40. package bool_io is new text_io.enumeration_io(Boolean);
  41. -- =======================================
  42. -- Renommage de certains types necessaires
  43. -- =======================================
  44. subtype   Count           is text_io.Count;
  45. subtype   Positive_count  is text_io.Positive_count;
  46. subtype   Field           is text_io.Field;
  47. subtype   Number_base     is text_io.Number_base;
  48. subtype   Type_set        is text_io.Type_set;
  49. -- =================================
  50. -- Renommage de certaines exceptions
  51. -- =================================
  52. DATA_ERROR : exception renames IO_EXCEPTIONS.data_error;
  53. END_ERROR   : exception renames IO_EXCEPTIONS.end_error;
  54. -- ===============================
  55. -- Operations exportees de TEXT_IO
  56. -- ===============================
  57. procedure get (item: out Character)                        renames text_io.get;
  58. procedure put (item: in Character)                         renames text_io.put;
  59. procedure get (item: out String)                           renames text_io.get;
  60. procedure put (item: in String)                            renames text_io.put;
  61. procedure get_LINE (item: out String; LAST: out natural) renames text_io.get_line;
  62. procedure put_LINE (item: in String)                       renames text_io.put_line;
  63. procedure skip_line (spacing : in Positive_count :=1)      renames text_io.skip_line;
  64. procedure new_page                                         renames text_io.new_page;
  65. procedure skip_page                                        renames text_io.skip_page;
  66. procedure new_line (spacing: in Positive_count:=1)    renames text_io.new_line;
  67.  
  68. procedure set_col (to: in Positive_count)     renames text_io.set_col;
  69. procedure set_line(to: in Positive_count)                  renames text_io.set_line;
  70. function end_of_line return Boolean                      renames text_io.end_of_line;
  71. function end_of_file return Boolean  renames text_io.end_of_file;
  72.  
  73. -- ============================
  74. -- Entrees et sorties d'entiers
  75. -- ============================
  76. procedure get (item:   out Integer;  width: in Field:=0)
  77.                                                               renames INT_IO.get;
  78.  
  79. procedure put (item:   in Integer;
  80.                 width: in Field        := INT_IO.default_width;
  81.                 base:  in number_base := INT_IO.default_base) renames INT_IO.put;
  82. -- ===============================
  83. -- Entrees et sorties de flottants
  84. -- ===============================
  85. procedure get (item:   out float;
  86.                 width: in Field :=  0)                        renames FLT_IO.get;
  87. procedure put (item:   in float;
  88.                 fore:  in Field :=  FLT_IO.default_fore;
  89.                 aft:   in Field :=  FLT_IO.default_aft;
  90.                 exp:   in Field :=  FLT_IO.default_exp)       renames FLT_IO.put;
  91. -- ==============================
  92. -- Entrees et sorties de booleens
  93. -- ==============================
  94. procedure get (item:   out Boolean)                           renames BOOL_IO.get;
  95. procedure put (item: in Boolean;
  96.                 width: in Field     := BOOL_IO.default_width;
  97.                 set:   in text_io.type_set := BOOL_IO.default_setting)
  98.                                                               renames BOOL_IO. put;
  99. end entrees_sorties;
Advertisement
Add Comment
Please, Sign In to add comment