home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / pocketbk / developmen / oplexamp / TIMESET.OPL < prev    next >
Text File  |  1992-08-26  |  2KB  |  73 lines

  1. PROC time:
  2.     LOCAL err%,hr%,min%,sec%,yr%,mon%,dt%
  3.     PRINT "Set time and date."
  4.         PRINT "Enter Year yyyy:";
  5.         INPUT yr%
  6.         PRINT "Enter Month mm:";
  7.         INPUT mon%
  8.         PRINT "Enter day dd:";
  9.         INPUT dt%
  10.         PRINT "Enter Hour hh:";
  11.         INPUT hr%
  12.         PRINT "Enter Minute mm:";
  13.         INPUT min%
  14.         PRINT "Enter Second ss:";
  15.         INPUT sec%
  16.     err% = ossettm%:(hr%,min%,sec%,3)
  17.     IF err% < 0
  18.     PRINT "Error =",err%
  19.     GET
  20.     STOP
  21.     ENDIF
  22.     err% = ossetdt%:(dt%,mon%,yr%)
  23.     IF err% < 0
  24.     PRINT "Error =",err%
  25.     GET
  26.     STOP
  27.     ENDIF
  28.     PRINT "Done"
  29.     GET
  30. ENDP
  31.  
  32. PROC ossettm%:(hh%,mm%,ss%,mode%)
  33.  local hour% 
  34.  if mode%<1 or mode%>3 or hh%<0 or mm%<0 or ss%<0
  35.  return -2 
  36.  endif 
  37.  hour% = hh% 
  38.  if (mode%=1 or mode% = 2)
  39.  if (hour%<1 or hour%>12) 
  40.  return -2 
  41.  elseif mode% = 1 and hour% = 12
  42.  hour% = 0 
  43.  elseif mode% = 2 and hour%<>12
  44.  hour% = hour%+12 
  45.  endif
  46.  elseif mode% = 3 and hour%>23
  47.  return -2 
  48.  endif
  49.  if mm%<=59 and ss%<=59 
  50.  return setdttm%:(DAY,MONTH,YEAR,hour%,mm%,ss%)
  51.  endif
  52.  return -2 
  53.  ENDP
  54. PROC ossetdt%:(dd%,mm%,yyyy%)
  55.  return setdttm%:(dd%,mm%,yyyy%,HOUR,MINUTE,SECOND)
  56.  ENDP
  57. PROC setdttm%:(day%,month%,year%,hour%,min%,sec%)
  58. local ax%,bx%,cx%,dx%,si%,di% 
  59. local sec&
  60.  if year%>=1970
  61.  onerr e::
  62.  sec& = (DAYS(day%,month%,year%)-25567)*86400+hour%*&e10+min%*60+sec%
  63.  cx% = peekw(addr(sec&)+2) 
  64.  dx% = peekw(addr(sec&)) 
  65.  ax% = $0300 
  66.  os($89,addr(ax%)) 
  67.  return 0
  68.  endif
  69.  e:: 
  70.  onerr off
  71.  return -2
  72. ENDP
  73.