home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / windows / baswind8.zip / WAIT.SUB < prev    next >
Text File  |  1990-09-14  |  3KB  |  55 lines

  1. '
  2. '
  3. '******************************************************************************
  4. '                    Function : WAITTIME                                      *
  5. '                                                                             *
  6. ' Purpose:                                                                    *
  7. '                                                                             *
  8. '                                                                             *
  9. ' Results:                                                                    *
  10. '                                                                             *
  11. ' Usage  :                                                                    *
  12. '                                                                             *
  13. '                                                                             *
  14. ' Date Written : 09/01/90 - Date Tested: 09/01/90 - Author: James P Morgan    *
  15. ' Date Modified:          -            :          -       :                   *
  16. '-----------------------------------------------------------------------------*
  17. ' NOTE:                                                                       *
  18. '******************************************************************************
  19. '                                                                             *
  20. '     SUB PROGRAM NAME          (PARAMETERS)                 STATIC/RECURSIVE *
  21. '-----------------------------------------------------------------------------*
  22. '                                                                             *
  23. SUB    WAITTIME(WTIME!,RETURN.CODE%)                                 STATIC
  24.  
  25.        DEFINT A-Z                           'make all short intergers by default
  26.  
  27.        RETURN.CODE%=0
  28.  
  29.        IF WTIME!<=0.0! THEN                 'valid time interval (not negative)?
  30.           WTIME!=1.0!                       'NO, so default to 1 second
  31.        ELSEIF WTIME!>86399! THEN            'more than the total seconds in a day?
  32.            WTIME!=1.0!                      'default to 1 second
  33.        END IF
  34.  
  35.        OLDTIME!=TIMER
  36.        NEWTIME!=OLDTIME!+WTIME!
  37.  
  38. WAIT.T.LOOP:
  39.        CURTIME!=TIMER
  40.        IF CURTIME!<OLDTIME! THEN            'in case of midnite rollover
  41.           CURTIME!=CURTIME!+86400!
  42.        END IF
  43.  
  44.        IF CURTIME! >= NEWTIME!  THEN        'has the wait time elapsed?
  45.            EXIT SUB                         'yes, return to caller
  46.        END IF
  47.  
  48.        IF INKEY$<>CHR$(27) THEN             'allow ESC key to break out of timer
  49.            GOTO WAIT.T.LOOP
  50.        END IF
  51.  
  52.        RETURN.CODE%=-1                      'let caller know ESC key was pressed
  53.  
  54. END SUB
  55.