home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / dbutil.zip / DATE2.CMD < prev    next >
OS/2 REXX Batch file  |  1987-02-14  |  2KB  |  60 lines

  1. * PROGRAM .....DATE.CMD
  2. * AUTHOR ......DOUGLAS HAMAN
  3. * FUNCTION ....CHECK FOR VALID DATE
  4. CLEAR
  5. ERASE
  6. SET COLON OFF
  7. SET TALK OFF
  8. IF DATE()= "00/00/00"
  9.    STORE DATE() TO SYSDATE
  10.    USE
  11.    @ 11,27 SAY "ENTER TODAY'S DATE"
  12.    @ 12,27 SAY "=================="
  13.    @ 13,32 SAY "MM/DD/YY"
  14.    STORE T TO INCORRECT
  15.    DO WHILE INCORRECT
  16.       @ 15,32 GET SYSDATE PICTURE "99/99/99" 
  17.       READ
  18.       CLEAR GETS
  19. *TEST1* CHECK THE MONTH
  20.       IF $(SYSDATE,1,2)> " 0" .AND. $(SYSDATE,1,2)< "13";
  21.       .AND. .NOT. $(SYSDATE,1,2)$"00,--,++,- ,+ ,+1,+2,+3,+4,+5,+6,+7,+8,+9,;
  22.       -1,-2,-3,-4,-5,-6,-7,-8,-9"
  23.          STORE $(SYSDATE,1,2) TO TEST
  24. *TEST2**** CHECK THE DAY FOR RESPECTIVE MONTHS
  25.          DO CASE
  26.             CASE TEST$ " 2,02" 
  27.                IF VAL($(SYSDATE,7,2))/4 = INT(VAL($(SYSDATE,7,2))/4)
  28.                   IF $(SYSDATE,4,2)< "30" .AND. $(SYSDATE,4,2)> "00"
  29.                      STORE F TO INCORRECT
  30.                   ENDIF $(SYSDATE,4,2)< "30"  
  31.                ELSE
  32.                   IF $(SYSDATE,4,2)< "29" .AND. $(SYSDATE,4,2)> "00"
  33.                      STORE F TO INCORRECT
  34.                   ENDIF $(SYSDATE,4,2)< "29"  
  35.                ENDIF VAL($(SYSDATE,7,2))/4 = INT(VAL($(SYSDAT
  36.             CASE TEST$ " 1,01, 3,03, 5,05, 7,07, 8,08,10,12" 
  37.                IF $(SYSDATE,4,2)< "32" .AND. $(SYSDATE,4,2)> "00"
  38.                   STORE F TO INCORRECT
  39.                ENDIF $(SYSDATE,4,2)< "32"  
  40.             CASE TEST$ " 4,04, 6,06, 9,09,11" 
  41.                IF $(SYSDATE,4,2)< "31" .AND. $(SYSDATE,4,2)> "00"
  42.                   STORE F TO INCORRECT
  43.                ENDIF $(SYSDATE,4,2)< "31"  
  44.          ENDCASE 
  45. *TEST2****
  46.          IF INCORRECT
  47.             @ 14,28 SAY " INCORRECT DAY "
  48.          ENDIF
  49. *TEST1*
  50.       ELSE
  51.          @ 14,28 SAY "INCORRECT MONTH "
  52.       ENDIF $(SYSDATE,1,2)> " 0" .AND. $(SYSDATE,1,2
  53.    ENDDO WHILE INCORRECT
  54.    @ 14,28 SAY "                "
  55.    SET DATE TO &SYSDATE
  56.    RELEASE INCORRECT,SYSDATE,TEST
  57. ENDIF DATE()= "00/00/00"
  58. RETURN
  59.  
  60. $(SYSDATE,1,2