home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaMiscModsCD3.iso / _PROGRAMME / PLAYER / GUI / EasyPlayer.lha / EYP / Source / modsrc / time.e < prev    next >
Encoding:
Text File  |  1999-09-20  |  1.1 KB  |  51 lines

  1. OPT MODULE
  2. OPT EXPORT
  3.  
  4. MODULE 'exec/io',
  5. 'timer','devices/timer',
  6. 'utility','utility/date'
  7.  
  8. ENUM ERR_UTILITY,ERR_TIMER
  9.  
  10. OBJECT time
  11.     tr:PTR TO timerequest,
  12.     tv:PTR TO timeval,
  13.     clockdata:PTR TO clockdata,
  14.     timeropen,
  15.     secs,
  16.     started
  17. ENDOBJECT
  18.  
  19. PROC time() OF time HANDLE
  20.     IF (utilitybase:=OpenLibrary('utility.library',37))=0 THEN Raise(ERR_UTILITY)
  21.     NEW self.tr,self.tv,self.clockdata
  22.     IF (OpenDevice('timer.device',UNIT_VBLANK,self.tr,0))<>0 THEN Raise(ERR_TIMER)
  23.     self.timeropen:=TRUE
  24.     timerbase:=self.tr.io.device
  25.     self.started:=FALSE
  26. EXCEPT
  27.     SELECT exception
  28.         CASE ERR_UTILITY
  29.             PrintF('time.time() - Couldn''t open utility.library.\n')
  30.         CASE ERR_TIMER
  31.             PrintF('time.time() - Couldn''t open timer.device.\n')
  32.     ENDSELECT
  33. ENDPROC
  34.  
  35. PROC start() OF time
  36.     GetSysTime(self.tv)
  37.     self.secs:=self.tv.secs
  38.     self.started:=TRUE
  39. ENDPROC
  40.  
  41. PROC stop() OF time
  42.     GetSysTime(self.tv)
  43.     Amiga2Date(self.tv.secs-self.secs,self.clockdata)
  44. ENDPROC self.clockdata.hour,self.clockdata.min,self.clockdata.sec
  45.  
  46. PROC end() OF time
  47.     IF self.timeropen THEN CloseDevice(self.tr)
  48.     END self.tr,self.tv,self.clockdata
  49.     IF utilitybase THEN CloseLibrary(utilitybase)
  50. ENDPROC
  51.