Esempio n. 1
0
        internal static int Int32(string msg)
        {
            Console.WriteLine(msg);
            ConsoleKeyInfo KeyInfo;
            Handler        minusHandler     = new IntMinusHandler();
            Handler        digitHandler     = new IntDigitHandler();
            Handler        backspaceHandler = new IntBackspaceHandler();
            Handler        enterHandler     = new IntEnterHandler();

            minusHandler.SetSuccessor(digitHandler);
            digitHandler.SetSuccessor(backspaceHandler);
            backspaceHandler.SetSuccessor(enterHandler);

            do
            {
                KeyInfo = Console.ReadKey(true);
                if (str.ToString().Contains('-'))
                {
                    digitHandler.HandleRequest(KeyInfo);
                }
                else
                {
                    minusHandler.HandleRequest(KeyInfo);
                }
            }while (KeyInfo.Key != ConsoleKey.Enter);
            return(Value);
        }
Esempio n. 2
0
 public override void HandleRequest(ConsoleKeyInfo request)
 {
     if (request.Key == ConsoleKey.Enter && IntBackspaceHandler.StrIsNotEmpty())
     {
         Console.WriteLine();
         try
         {
             InputInt32.Value = int.Parse(InputInt32.Str.ToString());
         }
         catch (OverflowException e)
         {
             Console.WriteLine(e.Message);
         }
     }
     else
     {
         Console.Beep();
     }
 }