home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 99.img / PDOX3-09.ZIP / TOOLKIT2 / LOOKWAIT.SC < prev    next >
Text File  |  1989-09-15  |  3KB  |  75 lines

  1. ; Copyright (c) 1987-1989 Borland International.  All Rights Reserved.
  2. ;
  3. ; General permission to re-distribute all or part of this script is granted,
  4. ; provided that this statement, including the above copyright notice, is not
  5. ; removed.  You may add your own copyright notice to secure copyright
  6. ; protection for new matter that you add to this script, but Borland
  7. ; International will not support, nor assume any legal responsibility for,
  8. ; material added or changes made to this script.
  9. ;
  10. ; Revs.:  MJP 5/31/87, DCY 12/15/88
  11. ; ****************************************************************************
  12. ; LookupWait is an enhanced version of the LookupSelect procedure.  It is
  13. ; more versatile than LookUpSelect in that it allows you to specify a message
  14. ; to display at the beginning of the wait and also allows you to designate a
  15. ; set of keys which end the wait interaction.
  16. ;
  17. ; LookupWait requires two arguments:
  18. ;
  19. ;         Msg: String to display in message window on entry into wait
  20. ; KeycodeList: String containing keycodes (separated by commas) of
  21. ;              keys which can terminate the wait condition.
  22. ;
  23. ; For example, calling:
  24. ;
  25. ;     LookupWait("","-60,27")
  26. ;
  27. ; is the functional equivalent of calling LookUpSelect.  The help [F1] key
  28. ; defaults to Paradox help.  To create your own help or to deactivate the help
  29. ; key, simply put its keycode (-59) in KeycodeList and process it yourself.
  30. ;
  31. ; See also LookupSelect for more information.
  32. ;
  33. ; IMPORTANT:  LookupWait uses to ImageRights ReadOnly command to prevent a
  34. ;             user from making changes to the current image.  Thus if you have
  35. ;             previously placed an image restrictions on the current table you
  36. ;             will need to restore them after invoking LookupWait.
  37. ;
  38. Proc LookupWait(Msg,KeycodeList)
  39. ; Private Msg,              ;Message to be displayed at the start of WAIT
  40. ;         KeycodeList       ;List of keycodes to terminate WAIT
  41.  
  42.    KeycodeList = "," + KeycodeList + ","
  43.    ImageRights ReadOnly
  44.    Echo Normal              ; Display the Lookup table
  45.    If Msg <> ""             ; Display initial message if defined
  46.       Then Echo Off
  47.            Synccursor
  48.            Message Msg
  49.    Endif
  50.    Retval = GetChar()
  51.    Echo Normal
  52.    While Search(","+Strval(Retval)+",",KeycodeList) = 0 ; Continue until
  53.       or MenuChoice() <> "Error"                        ; exit, zoom, help,
  54.                                                         ; or menu key
  55.       If Menuchoice() = "Error"                         ; Ctrl-Break, Esc,
  56.           and (Retval = 0 or Retval = 27 or Retval = -60) ; or Do-It! pressed
  57.          Then Beep                                      ; from within table
  58.          Else If (Retval < -60 and Retval > -71)  ;Disable keys which would
  59.                   or Retval = -110 or Retval = -111 ; allow a user to leave
  60.                   or Retval = -100                  ; or clear the image
  61.                 Then Beep
  62.                 Else Keypress Retval
  63.               Endif
  64.       Endif
  65.       Retval = GetChar()
  66.    Endwhile
  67.    Echo Off
  68.    SyncCursor
  69.    If Retval = 0
  70.       Then Retval = 27
  71.    Endif
  72.    ImageRights
  73.    Return Retval
  74. Endproc
  75.