Very strange. For whatever reason, as you pointed out, with date set to short in VFP7, DTOC({01/01/1600}) resolves to an invalid date. Even doing this:
x = {01/01/1600}
? x
gives an invalid date on the second line.
BUT VFP7 has no problems at all with
? DTOS({01/01/1600})
Some weird bug huh?
Alan
>Hi Mike,
>
>I'm not sure if it's a bug or behavior change between VFP6 and VFP7. When date format is set to SHORT or LONG, the dates before {^1601-01-01} evaluate to the empty value in VFP6 and generate an error in VFP7.
>* generates an error in VFP7 and later.
>SET DATE TO SHORT
>? ctod("01/01/1600")
>? dtoc({^1600-01-01})
When you type the third digit in the year (200), you get value '10/31/200' which is less than {^1601-01-01}. In VFP6 conversion to date returns an empty value, in VFP7 result is undetermined.
>
>>I now know why you're not seeing the same behavior. Our environment is set up to use system settings. Under Tools->Options->Regional. If that's not set, the behavior is different.