home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / AAKXREF.ZIP / VALDATEN.FUN < prev    next >
Encoding:
Text File  |  1986-07-25  |  1.7 KB  |  37 lines

  1. (********************************************************************)
  2. (* THIS FUNCTION WILL CHECK THE INPUT DATE NUMBERS TO SEE IF VAILD  *)
  3. (* INPUT        : MONTH : MonthNumber , DAY : DayNumber ,           *)
  4. (*              : YEAR : Year_Number                                *)
  5. (* INPUT/OUTPUT : NONE                                              *)
  6. (* OUTPUT       : BOOLEAN = TRUE THEN OK                            *)
  7. (* USES         : NO SIDE EFFECTS                                   *)
  8. (* CALLS        : NONE                                              *)
  9. (* ERRORS       : NONE                                              *)
  10. (* GLOBAL VARS  : NONE                                              *)
  11. (* SUBJECT      : DATE NUMBERS, CHECK IF VALID                      *)
  12. (* DOMAIN       : ARNO A. KARNER                      LEVEL : 000   *)
  13. (********************************************************************)
  14.  
  15. FUNCTION ValidDateNumber                   ( MonthNum : Month_Number ;
  16.                                              DayNum   : Day_Number   ;
  17.                                              YearNum  : Year_Number )
  18.                                              : BOOLEAN ;
  19.  
  20. VAR
  21.    Stat : BOOLEAN ;
  22.  
  23. BEGIN (* FUNCTION *)
  24.    Stat := TRUE ;
  25.    IF MonthNum > 12
  26.      THEN Stat := FALSE
  27.      ELSE BEGIN (* ELSE 00 *)
  28.              IF DayNum > MaxDaysPerMonth [ MonthNum ]
  29.              THEN BEGIN (* THEN 01 *)
  30.                      IF ( MonthNum <> 2 ) OR
  31.                         ( YearNum MOD 4 > 0 ) OR
  32.                         ( DayNum > 29 )
  33.                         THEN Stat := FALSE ;
  34.                   END ; (* THEN 01 *)
  35.           END ; (* ELSE 00 *)
  36.    ValidDateNumber := Stat ;
  37. END ; (* FUNCTION *)