home *** CD-ROM | disk | FTP | other *** search
/ Software Du Jour / SoftwareDuJour.iso / BUSINESS / DBASE / DBAPG.ARC / PASSWORD.PRG < prev    next >
Text File  |  1984-08-12  |  2KB  |  71 lines

  1. * Program..: PASSWORD.PRG
  2. * Author...: Tom Rettig
  3. * Date.....: June 4, 1984
  4. * Notice...: Copyright 1984 by Tom Rettig & Associates.  All rights reserved.
  5. * Version..: dBASE II, version 2.4x
  6. * Notes....: Password and entry program into an application system.
  7. *
  8. *   Called by...: Main menu before entering the loop of the menu.
  9. *
  10. *   Files used..: IN_const.mem -- holds the system constants.
  11. *
  12. * Establish working environment...
  13. ERASE
  14. SET DELETED ON
  15. SET TALK OFF
  16. RESTORE FROM IN_const
  17. *
  18. * Get the password...
  19. SET COLON OFF
  20. STORE T TO t:enter
  21. DO WHILE t:enter
  22.    IF pw:tries >= 3
  23.       ?? CHR(7)
  24.       SET COLOR TO sc:brt:blk
  25.       @ 18,27 SAY "* * * W A R N I N G * * *"
  26.       @ 20,17 SAY "THIS UNAUTHORIZED INTRUSION HAS BEEN RECORDED."
  27.       @ 22,17 SAY "NO FURTHER ACCESS TO THE FILES WILL BE ALLOWED."
  28.       ?? CHR(7)
  29.       *
  30.       * Once an attempt to enter has failed, the system will remain
  31.       * inaccessible until the memvar pw:tries is changed back to 
  32.       * zero in the constant memory file...
  33.       SAVE TO IN_const
  34.       ?? CHR(7)
  35.       QUIT
  36.    ENDIF
  37.    STORE $(blank,1,12) TO t:password
  38.    @  6,20 SAY "Please enter your password -->" 
  39.    SET COLOR TO sc:invis
  40.    @  6,50 GET t:password
  41.    READ NOUPDATE
  42.    CLEAR GETS
  43.    SET COLOR TO sc:brt
  44.    SET EXACT ON
  45.    *
  46.    * Note that the password itself is not listed as a literal to
  47.    * prevent someone from just reading this command file to obtain
  48.    * it.  Instead, it is a series of substring functions which
  49.    * operates on a memvar called "a" restored from the constant file.
  50.    * The memvar contains the string: "NOPQRSTUVWXYZ ABCDEFGHIJKLM"
  51.    *
  52.    IF !(t:password) # $(a,18,1)+$(a,16,1)+$(a,15,1)+$(a,06,1)+;
  53.                       $(a,19,1)+$(a,14,1)+$(a,23,1)+$(a,23,1)
  54.       @ 12,15 SAY "NOT A VALID PASSWORD -- PLEASE ENTER AGAIN."
  55.       STORE pw:tries+1 TO pw:tries
  56.       LOOP
  57.    ENDIF
  58.    SET EXACT OFF
  59.    @  6,15
  60.    @  6,25 SAY "Hi.  Nice to see you today!"
  61.    STORE F TO t:enter
  62.    STORE 0 TO pw:tries
  63. ENDDO
  64. SET COLON ON
  65. *
  66. * Restore environment and move on to the main menu... 
  67. RELEASE ALL LIKE t:*
  68. RETURN
  69. *
  70. * EOF: Password.prg
  71.