Code: Select all
function agefromDOB varDOB
-- Validate var DOB is in DD/MM/YYYY format
if matchtext(varDOB, "((0?[1-9]|[12][0-9]|3[01])[/](0?[1-9]|1[012])[/](19|20)[0-9]{2})") then
split varDOB by "/"
end if
put the date into varToday
split varToday by "/"
put (varToday[3]+2000) - varDOB[3] into varYrDiff
put varToday[2] - varDOB[2] into varMonDiff
put varToday[1] - varDOB[1] into varDayDiff
if varMonDiff < 0 then put varYrDiff -1 into varYrDiff
else if varMonDiff = 0 then
if varDayDiff < 0 then
put (varYrDiff-1) into varYrDiff
end if
end if
return varYrDiff
end agefromDOB varDOB
on mouseUp pMouseBtnNo
put field "DOB" into varDOB
get agefromDOB(varDOB)
put it into field "Age"
end mouseUp
Code: Select all
function agefromDOB varDOB
-- Validate var DOB is in MM/DD/YYYY format
if matchtext(varDOB, "(((0?[1-9]|1[012])[/]0?[1-9]|[12][0-9]|3[01])[/](19|20)[0-9]{2})") then
split varDOB by "/"
end if
put the date into varToday
split varToday by "/"
put (varToday[3]+2000) - varDOB[3] into varYrDiff
put varToday[1] - varDOB[1] into varMonDiff
put varToday[2] - varDOB[2] into varDayDiff
if varMonDiff < 0 then put varYrDiff -1 into varYrDiff
else if varMonDiff = 0 then
if varDayDiff < 0 then
put (varYrDiff-1) into varYrDiff
end if
end if
return varYrDiff
end agefromDOB varDOB
on mouseUp pMouseBtnNo
put field "DOB" into varDOB
get agefromDOB(varDOB)
put it into field "Age"
end mouseUp