Program KeyPad;         { ***** Program written by Paul July 2006 *** }
{ Program allows user to enter an INTEGER in the range 10000 - 99999 }
{ The number is tested (integer, and must match the security number}
{ A valide number is allowed entry, the user must enter surname  }
{ All Input data is validated }

Uses Wincrt;
Var
   strEnter_Num           : String ;  { Enter number to be validated into integer }
   StrName                : String;    { Users Surname }
   LgnEnter_Num           : longint;  { start number after validation }
   LgnNum_Security        : longint;  { Security entry number }
   intError_Num           : Integer;  { Error code for  number }
   intEncrypt_Sytem       : Integer;  { Manipulated start number }
BEGIN
     { Set Security Number }
       LgnNum_Security := 12345;
     { Display welcome Screen }

     GotoXY(20,3);
     Write('Software Development Build Up Exercise for Assignment Two');
     GotoXY(20,5);
     Write('KeyPad Program by Fred Smith');
     GotoXY(20,8);

     { Prompt to enter Kepad number }

     Write('Enter 5 digit KeyPad Number ');
     GotoXY(50,8);
     Readln( strEnter_Num);

     { Validate Start Number }

     Val(strEnter_Num, LgnEnter_Num , intError_Num);
     If (intError_Num <> 0) or (LgnEnter_Num < 10000)  or (LgnEnter_Num >99999)
      THEN
            Begin
                { Invalid start number }
                 GotoXY(20,19);
                 Writeln('SORRY INVALID INPUT OR OUT OF RANGE ');
             End
      else
      if (LgnEnter_Num <>  LgnNum_Security)

          THEN
              Begin

              { Wrong Number  }
                 GotoXY(20,18);
                 Writeln('SORRY Wrong KeyPad Number ');

             End

      Else   { Valid start number }
         BEGIN

              { Prompt to enter users surname }

                    GotoXY(20,10);
                    Write('Enter your Surname ');
                    GotoXY(50,10);
                    Readln( StrName );

                    GotoXY(15,13);
                    Writeln('KeyPad Number Correct Enter  ',StrName);

      End;


  { Close Program }

  GotoXY(20,21);
  Write('**********   Program Over   **********');
  GotoXY(20,23);
  Write('********   Program Press Return   **********');
  Readln;
  DoneWincrt;

END.
