home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / corel / Scripts / timer.csc < prev   
Text File  |  1998-02-06  |  2KB  |  76 lines

  1. rem Ukßzka malΘ Φasomφry
  2. rem TIMER.CSC  pro v7.0, 96/06/27
  3. rem Copyright 1998 Corel Corporation. VÜechna prßva vyhrazena.
  4.  
  5.  
  6. '  Global constants
  7. #DEFINE DLG_INIT      0
  8. #DEFINE DLG_CLICK     2
  9. #DEFINE DLG_TIMEOUT 5
  10. #DEFINE TEXTSTYLE (32+4)
  11. #DEFINE START_TEXT "START"
  12. #DEFINE STOP_TEXT "STOP"
  13.  
  14. ' The Stop watch dialog
  15. BEGIN DIALOG OBJECT SW 119, 46, "Timer", SUB SWHandler
  16.     TEXT  8, 8, 45, 15, .TimerText, ""
  17.     PROGRESS 8, 30, 45, 5, .Ticker
  18.     PUSHBUTTON  66, 7, 46, 14, .StopGo, "Stop/Go"
  19.     PUSHBUTTON  66, 25, 46, 14, .ResetBtn, "RESET"
  20. END DIALOG
  21.  
  22. '  Start dialog
  23. SW.TimerText.SetStyle TEXTSTYLE
  24. DIALOG sw
  25.  
  26. '  Main dialog handler
  27. SUB SWHandler( BYVAL CtrlID%, BYVAL Event%)
  28.     STATIC Start AS DATE, CT AS LONG, ST AS LONG, FT AS LONG
  29.     STATIC started AS boolean 
  30.     
  31.     SELECT CASE Event
  32.         CASE DLG_INIT
  33.             SW.SETTIMER(500)
  34.             started=FALSE
  35.             CT=0:ST=0
  36.             SW.StopGo.SetText START_TEXT
  37.  
  38.         CASE DLG_CLICK
  39.             IF(CtrlId=SW.StopGo.GetID()) THEN
  40.                 '  Stop/Go was clicked
  41.                 IF started THEN
  42.                     started=FALSE
  43.                     ST=ST+CT
  44.                     CT=0
  45.                     SW.StopGo.SetText START_TEXT
  46.                 ELSE
  47.                     started=TRUE
  48.                     Start=GETCURRDATE()
  49.                     SW.StopGo.SetText STOP_TEXT
  50.                 END IF
  51.             ELSE
  52.                 '  Reset was clicked
  53.                 SW.StopGo.SetText START_TEXT
  54.                 started=FALSE
  55.                 CT=0:ST=0:FT=0
  56.                 SW.Ticker.setvalue CT
  57.             END IF
  58.         
  59.         CASE DLG_TIMEOUT
  60.             '  Increment timer
  61.             IF started=TRUE THEN
  62.                 CT=(GETCURRDATE()-start)*86400
  63.                 SW.Ticker.step
  64.             END IF
  65.             ' Display
  66.             SW.TimerText.Settext STR(CT+ST) & " S"
  67.     END SELECT
  68. END SUB
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.