function getDate (tcPattern as character, tcDate as character) as date * do some parameter error checking ... lnday = at(tcpattern,[dd]) && position of day in pattern lnmonth = at(tcpattern,[mm]) && position of month in pattern lnyear = at(tcpattern,[yy]) && position of year in pattern lnyearlen = iif([yyyy] $ tcpattern,4,2) && length of year in pattern return (ctod(substr(tcdate,lnmonth,2)+; "/"+substr(tcdate,lnday,2)+; "/"+substr(tcdate,lnyear,lnyearlen)) endfuncThis of course will only work if you know the pattern that is being applied. Now that we have entered a new century it is harder to determine year than it used to be cause what is: "01/02/03" ?