home *** CD-ROM | disk | FTP | other *** search
/ PC Underground / UNDERGROUND.ISO / password / query.pas < prev    next >
Pascal/Delphi Source File  |  1995-07-28  |  2KB  |  90 lines

  1. {$F+}
  2. {$M $4000,500000,650000}
  3. program passwordquery;
  4.  
  5. uses crt,design;
  6. const Passwords : array[1..10] of string =
  7.         ('Abacus','Underground','Graphics','Sprites',
  8.          'Dimension','Protection','Mode X','Assembly','Glass','VGA');
  9.       Pw_Pages : array[1..10] of word =
  10.         (17,47,94,158,167,211,89,29,181,35);
  11.  
  12. Var pw_no : byte;
  13.     remaining_passes : byte;
  14.     Password_correct : word;
  15.     New_Pass : string;
  16.     PNew_Password_select : pointer;
  17.     PInput_Box_draw : pointer;
  18.     PPassword_query : pointer;
  19.     PSystem_stop : pointer;
  20.     unnecessary_Variable1 : word;
  21.     unnecessary_Variable2 : word;
  22.  
  23. {$L Pwmodul}
  24. procedure Query_Loop; far; external;
  25.  
  26. procedure New_Password_select;
  27. begin;
  28.   pw_no := random(10)+1;
  29.   unnecessary_Variable1 := 1;
  30.   unnecessary_Variable2 := 2;
  31. end;
  32.  
  33. procedure Input_Box_draw;
  34. var pws : string;
  35. begin;
  36.   str(Pw_Pages[pw_no]:2,pws);
  37.   asm int 3; end;
  38.   Window1(6,10,52,6,'Please type the password on page '+pws+' of the manual',black,7);
  39.   unnecessary_Variable1 := 1;
  40.   unnecessary_Variable2 := 2;
  41.   gotoxy(23,12);
  42. end;
  43.  
  44. procedure Password_query;
  45. begin;
  46.   readln(New_Pass);
  47.   unnecessary_Variable1 := 1;
  48.   unnecessary_Variable2 := 2;
  49.   if New_Pass = Passwords[pw_no] then
  50.     Password_correct := 1
  51.   else
  52.     Password_correct := 0;
  53. end;
  54.  
  55. procedure System_stop;
  56. begin;
  57.   textbackground(black);
  58.   textcolor(7);
  59.   clrscr;
  60.   writeln('We probably would have been better off buying an original ...');
  61.   halt(0);
  62. end;
  63.  
  64.  
  65. procedure Main_Program;
  66. begin;
  67.   textbackground(black);
  68.   textcolor(7);
  69.   clrscr;
  70.   gotoxy(20,12);
  71.   writeln('Welcome to the main program !');
  72.   gotoxy(20,22);
  73.   write('Enter to exit ... ');
  74.   readln;
  75.   halt(0);
  76. end;
  77.  
  78. begin;
  79.   textbackground(black);
  80.   textcolor(7);
  81.   clrscr;
  82.   remaining_passes := 57;
  83.   PNew_Password_select := @New_Password_select;
  84.   PInput_Box_draw   := @Input_Box_draw;
  85.   PPassword_query      := @Password_query;
  86.   PSystem_stop        := @System_stop;
  87.   randomize;
  88.   Query_Loop;
  89. end.
  90.