$PBExportHeader$f_get_month_days.srf global type f_get_month_days from function_object end type forward prototypes global function integer f_get_month_days (long arg_mth, ref long arg_ref_days, ref string arg_msg) end prototypes global function integer f_get_month_days (long arg_mth, ref long arg_ref_days, ref string arg_msg);Int rslt = 1 Long ll_year,ll_month,ll_lastday Boolean ifyear = FALSE ll_month = Long(Right(String(arg_mth),2)) IF Not (ll_month >= 1 AND ll_month <= 12) THEN arg_msg = '非法的月份' rslt = 0 GOTO ext END IF ll_year = Long(Left(String(arg_mth),4)) IF Mod(ll_year,4) <> 0 THEN ifyear = FALSE ELSEIF Mod(ll_year,100) <> 0 THEN ifyear = TRUE ELSEIF Mod(ll_year,400) <> 0 THEN ifyear = FALSE ELSE ifyear = TRUE END IF CHOOSE CASE ll_month CASE 1,3,5,7,8,10,12 ll_lastday = 31 CASE 2 IF ifyear THEN ll_lastday = 29 ELSE ll_lastday = 28 END IF CASE 4,6,9,11 ll_lastday = 30 END CHOOSE arg_ref_days = ll_lastday ext: RETURN rslt end function