---------------------------------------------------------------------- -- Title : InteAKD -- Version : 1.0 -- Copyright : (C) 1994 David Wallace Croft. All rights reserved. -- Author : David Wallace Croft, CompuServe [76600,102] -- Compiler : Ada -- Description : Direct console text I/O for integer types. -- Complements/instantiates TextAKD. ---------------------------------------------------------------------- with TextAKD; use TextAKD; package InteAKD is ---------------------------------------------------------------------- ---------------------------------------------------------------------- Default_Base : Number_Base := 10; ---------------------------------------------------------------------- -- natural ---------------------------------------------------------------------- function Ask_Nat ( Prompt : in string := ""; Default : in natural := natural'first; Minimum : in natural := natural'first; Maximum : in natural := natural'last; Width : in Field := natural'width ) return natural; ---------------------------------------------------------------------- -- positive ---------------------------------------------------------------------- function Ask_Pos ( Prompt : in string := ""; Default : in positive := positive'first; Minimum : in positive := positive'first; Maximum : in positive := positive'last; Width : in Field := positive'width ) return positive; ---------------------------------------------------------------------- -- integer -- Instantiation of Text_AKD.Integer_IO_AKD is avoided to prevent -- "out of memory" errors. ---------------------------------------------------------------------- function Ask_Int ( Prompt : in string := ""; Default : in integer := integer'first; Minimum : in integer := integer'first; Maximum : in integer := integer'last; Width : in Field := integer'width ) return integer; procedure Put ( File : in File_Type; Item : in integer; Width : in Field := integer'width; Base : in Number_Base := Default_Base ); procedure Put ( Item : in integer; Width : in Field := integer'width; Base : in Number_Base := Default_Base ); procedure Get ( From : in string; Item : out integer; Last : out positive ); procedure Put ( To : out string; Item : in integer; Base : in Number_Base := Default_Base ); procedure Put_Line ( File : in File_Type; Item : in integer; Width : in Field := integer'width; Base : in Number_Base := Default_Base ); procedure Put_Line ( Item : in integer; Width : in Field := integer'width; Base : in Number_Base := Default_Base ); ---------------------------------------------------------------------- -- long_integer ---------------------------------------------------------------------- function Ask_Long ( Prompt : in string := ""; Default : in long_integer := long_integer'first; Minimum : in long_integer := long_integer'first; Maximum : in long_integer := long_integer'last; Width : in Field := long_integer'width ) return long_integer; procedure Put_Line ( File : in File_Type; Item : in long_integer; Width : in Field := long_integer'width; Base : in Number_Base := Default_Base ); procedure Put_Line ( Item : in long_integer; Width : in Field := long_integer'width; Base : in Number_Base := Default_Base ); ---------------------------------------------------------------------- -- byte_integer ---------------------------------------------------------------------- function Ask_Byte ( Prompt : in string := ""; Default : in byte_integer := byte_integer'first; Minimum : in byte_integer := byte_integer'first; Maximum : in byte_integer := byte_integer'last; Width : in Field := byte_integer'width ) return byte_integer; procedure Put_Line ( File : in File_Type; Item : in byte_integer; Width : in Field := byte_integer'width; Base : in Number_Base := Default_Base ); procedure Put_Line ( Item : in byte_integer; Width : in Field := byte_integer'width; Base : in Number_Base := Default_Base ); ---------------------------------------------------------------------- ---------------------------------------------------------------------- end InteAKD;