home *** CD-ROM | disk | FTP | other *** search
/ Millennium Time Capsule / AC2000.BIN / disks / ac3_disk / cadenza / lockout / lockout.bas < prev    next >
Encoding:
BASIC Source File  |  1996-10-08  |  3.0 KB  |  120 lines

  1. '··············································································
  2. ' LockOUT v1.04  © 1996 Cadenza Software - Written by Matthew Bacon
  3. ' HiSoft BASIC ACC Toolkit - Written by Dave Nutkins
  4. ' (c) HiSoft 1991
  5. '··············································································
  6. ' Include C:\LOCKOUT\ACCTBOX.T
  7.  
  8. DEFINT a-z
  9. '$option j20,y
  10. '$include C:\LOCKOUT\LOCKOUT.BH
  11.  
  12. ' ** The main program loop **
  13.  
  14. ON ERROR GOTO ERROR_HANDLER
  15. ' Register .ACC
  16. DIM Mess(7)
  17. id=PEEKW(PEEKL(GB+4)+4)
  18. mpos=menu_register(id,"  LockOUT v1.04")
  19.  
  20. START_HANDLER:
  21. DO
  22.     evnt_mesag VARPTR(mess(0))
  23.     do_message
  24. LOOP
  25.  
  26. ' ** End of main program loop **
  27.  
  28. SUB AccOpened
  29. STATIC x,y,w,h,but,resorce_loaded
  30.  
  31. ' If the .ACC has not been loaded before, then load .RSC
  32. IF resorce_loaded=0 THEN
  33.     MOUSE 2
  34.     ' If resource file does not exist, then display alert message
  35.     IF rsrc_load(CURDIR$+"\LOCKOUT.RSC")=0 THEN
  36.         junk=form_alert(1,"[1][  Error while loading |  resource file. | ][ Abort ]")
  37.         MOUSE 0:resorce_loaded=0:EXIT SUB    
  38.     END IF
  39.     MOUSE 0
  40. END IF
  41.  
  42. ' Display lock dialogue box
  43. SelectTree FORM_LOCK
  44. Sette_ptext ThePassword,""
  45.  
  46. form_center tree&,x,y,w,h
  47. form_dial FMD_START,0,0,0,0,x,y,w,h
  48. junk=objc_draw(tree&,0,10,x,y,w,h)
  49. but=form_do(tree&,ThePassword) AND &h7fff
  50.  
  51. IF Getob_type(but)=G_BUTTON THEN
  52.     Exclob_state but,mask_selected
  53. END IF
  54.  
  55. DO
  56. SELECT CASE but
  57.     ' If LockOUT button was pressed, read password given
  58.     CASE LockOUT
  59.         ' Call the sub-program to unlock password
  60.         CALL Locked(Gette_ptext$(ThePassword))
  61.         form_dial FMD_FINISH,0,0,0,0,x,y,w,h
  62.         EXIT SUB
  63.     ' If Cancel button was pressed, quit
  64.     CASE Cancel
  65.         form_dial FMD_FINISH,0,0,0,0,x,y,w,h
  66.         EXIT SUB
  67. END SELECT
  68. LOOP
  69. END SUB
  70.  
  71. ' Sub-program for when the computer has been locked by a password
  72. SUB Locked(Password$)
  73. STATIC x,y,w,h,but
  74.  
  75. SelectTree FORM_LOCKED
  76. Sette_ptext Password,""
  77.  
  78. form_center tree&,x,y,w,h
  79. form_dial FMD_START,0,0,0,0,x,y,w,h
  80. junk=objc_draw(tree&,0,10,x,y,w,h)
  81. Try_Again:
  82. but=form_do(tree&,Password) AND &h7fff
  83.  
  84. IF Getob_type(but)=G_BUTTON THEN
  85.     Exclob_state but,mask_selected
  86. END IF
  87.  
  88. DO
  89. SELECT CASE but
  90.     ' If OK button was pressed, read password given
  91.     CASE OK
  92.         ' Was the password given correct
  93.         IF Gette_ptext$(Password)=Password$ THEN
  94.             ' Yes, then quit
  95.             form_dial FMD_FINISH,0,0,0,0,x,y,w,h
  96.             EXIT SUB
  97.         ELSE
  98.             ' No, try again
  99.             Sette_ptext Password,""
  100.             junk=objc_draw(tree&,Password,10,x,y,w,h)
  101.             junk=objc_draw(tree&,OK,10,x,y,w,h)
  102.             GOTO Try_Again
  103.         END IF
  104. END SELECT
  105. LOOP
  106. END SUB
  107.  
  108. ' Error Sub-programs ···························································
  109.  
  110. ' Find out error occurred
  111. ERROR_HANDLER:
  112. ' Display alert and abort to main loop
  113. JUNK=form_alert(1,"[1][  An ERROR"+STR$(ERR)+" has occurred ! |  Abort to main program |  loop. | ][ Abort ]")
  114. SelectTree FORM_LOCK
  115. ' Go back to main loop
  116. ON ERROR GOTO ERROR_HANDLER
  117. GOTO START_HANDLER
  118.  
  119. ' End ··········································································
  120.