Hi All:
Consider the following code:
FUNCTION y2k(tcFieldName)
LOCAL ldDate
i = 0
SCAN
i = i + 1
IF MOD(i,1000) = 0
WAIT WINDOW NOWAIT 'Y2K: Now processing record ' + ALLTRIM(STR(RECNO())) + ' of ' + ALLTRIM(STR(RECCOUNT()))
ENDIF
IF EMPTY(&tcFieldName)
ELSE
ldDate = &tcFieldName
lcYear2 = SUBSTR(ALLTRIM(STR(YEAR(ldDate))),3,2)
IF lcYear2 < '80'
ldDate = DATE(2000 + VAL(lcYear2),MONTH(ldDate),DAY(ldDate))
ELSE
ldDate = DATE(1900 + VAL(lcYear2),MONTH(ldDate),DAY(ldDate))
ENDIF
ENDIF
REPLACE &tcFieldName WITH ldDate
ENDSCAN
RETURN .T.
In VFP on my machine running Windows 7 it runs fine. On my client's machine running an EXE file in Vista, it takes FOREVER.
One thing I noticed is the I get a message in the status bar with EXE every time there is a replace. Why don't I get it in VFP?
In VFP it make no difference if NOTIFY CURSOR or NOTIFY is on or off!
Thanks,
Yossi