	----------------------------------------------------------------------
	-- Title       :  AdaKitD
	-- Version     :  1.00
	-- Copyright   :  (C) 1994 David Wallace Croft.  All rights reserved.
	-- Author      :  David Wallace Croft, CompuServe [76600,102]
	-- Compiler    :  Meridian OpenAda for DOS
	-- Description :  Demonstration of Ada for DOS packages.
	----------------------------------------------------------------------

	package DemoAKD is
	----------------------------------------------------------------------
	----------------------------------------------------------------------
	procedure Demo;
	----------------------------------------------------------------------
	----------------------------------------------------------------------
	end DemoAKD;


--     with ANNsAKD; use ANNsAKD;
--     with Bi64AKD; use Bi64AKD;
	  with BitsAKD; use BitsAKD;
--     with CharAKD; use CharAKD;
	  with CommAKD; use CommAKD;
	  with ConsAKD; use ConsAKD;
--     with CursAKD; use CursAKD;
--     with DataAKD; use DataAKD;
       with DiskAKD; use DiskAKD;
       with DoorAKD;  use DoorAKD;
       with DOS_011_Plot  ; use DOS_011_Plot;
       with DOS_017_Random; use DOS_017_Random;
--     with ErroAKD; use ErroAKD;
--     with ErrrAKD; use ErrrAKD;
--     with FileAKD; use FileAKD;
--     with HexaAKD; use HexaAKD;
	  with InteAKD; use InteAKD;
--     with IntrAKD; use IntrAKD;
--        with KeybAKD; use KeybAKD;  obsolete
	with MathAKD; use MathAKD;
--     with MemoAKD; use MemoAKD;
--     with PortAKD; use PortAKD;
--        with ScrnAKD;               obsolete
	with SounAKD; use SounAKD;  
--     with StrgAKD; use StrgAKD;
--     with TextAK;  -- should be replaced
	with TextAKD; use TextAKD;
--     with TypeAKD; use TypeAKD;
--     with TaskAKD; use TaskAKD;
	with WCUIAKD; use WCUIAKD;

	package body DemoAKD is
	----------------------------------------------------------------------
	----------------------------------------------------------------------

	procedure Demo is
	----------------------------------------------------------------------
	  Copyright : constant string :=
	    "AdaKitD v1.10 (C) 1994 David Wallace Croft.  Freeware.";
	  Default :          natural :=  1;
	  Min     : constant natural :=  0;
	  Max     : constant natural :=  23;
	  Option  :          natural;
	begin
	  loop
	    Put_Line ( Copyright );
	 New_Line;
	 Put_Line (
	   "Demonstration of available Ada programming language packages."
	   );
	 Put_Line ( "This program is free and may be distributed." );
	 Put_Line ( "All code within this section requires the" );
	 Put_Line ( "Meridian OpenAda for DOS compiler." );
	 Put_Line (
	   "For information on licensing these packages, the author" );
	 Put_Line ( "may be contacted via CompuServe at [76600,102]." );
	 Put_Line ( "Use at your own risk." );
	 New_Line;
	 Put_Line ( " 0 = Quit" );
--     with ANNsAKD; use ANNsAKD;
--     with Bi64AKD; use Bi64AKD;
	 Put_Line ( " 3 = BitsAKD.Demo" );
--     with CharAKD; use CharAKD;
	 Put_Line ( " 5 = CommAKD.Demo" );
--     with CursAKD; use CursAKD;
--     with DataAKD; use DataAKD;
	  Put_Line ( " 6 = DiskAKD.Demo" );
	  Put_Line ( " 7 = DoorAKD.Demo" );
	  Put_Line ( "11 = DOS_011_Plot.Demo" );
--     with ErroAKD; use ErroAKD;
--     with ErrrAKD; use ErrrAKD;
--     with FileAKD; use FileAKD;
--     with HexaAKD; use HexaAKD;
--     with IntrAKD; use IntrAKD;
--     with KeybAKD; use KeybAKD;
	  Put_Line ( "15 = MathAKD.Demo" );
	  Put_Line ( "17 = DOS_017_Random" );
--     with MemoAKD; use MemoAKD;
--     with PortAKD; use PortAKD;
--     with ScrnAKD; use ScrnAKD;
	    Put_Line ( "18 = SounAKD.Demo" );
--     with StrgAKD; use StrgAKD;
--     with TextAKD; use TextAKD;
--     with TypeAKD; use TypeAKD;
--     with TaskAKD; use TaskAKD;
	 Put_Line ( "23 = WCUIAKD.Demo" );
	 New_Line;
	 Option := Ask_Nat ( "Option ", Default, Min, Max );
	 Default := Option + 1;
	 if Default > Max then
	   Default := Min;
	 end if;
	 case Option is
	   when  0 => exit;
	   when  3 => BitsAKD.Demo;
	   when  5 => CommAKD.Demo;
	   when  6 => DiskAKD.Demo;
	   when  7 => DoorAKD.Demo;
	   when 11 => DOS_011_Plot.Demo;
	   when 15 => MathAKD.Demo;
	   when 17 => DOS_017_Random.Demo;
	   when 18 => SounAKD.Demo;
	   when 23 => WCUIAKD.Demo;
	   when others =>
		Put_Line ( "The demonstration of that option is currently"
		  & " not available." );
		Pause;
	 end case;
	 New_Line;
	  end loop;
--     exception
--       when Data_Error =>
--         Notify ( "Ada_Demo.Ada", "Data_Error" );
--         raise;
--       when others =>
--         Notify ( "Ada_Demo.Ada" );
--         raise;
	end Demo;

	----------------------------------------------------------------------
	----------------------------------------------------------------------
	end DemoAKD;
