DECLARE INTEGER SetLocalTime IN win32api STRING @ lpTime DECLARE INTEGER GetLocalTime IN win32api STRING @ lpTime ON ERROR DO errhand WITH ; ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( ) public lpCurrent lpCurrent = space(40) GetLocalTime(@lpCurrent) && save current create cursor testcursor (Tarih d) for ix=1 to 100 insert into testcursor values ({^2001/1/16}+ix%2) endfor index on tarih tag tarih TestSetFilter() RestoreTime() TestSetKey() RestoreTime() TestSetFilter2() RestoreTime() TestSetKey2() RestoreTime() On error ? Datetime() function RestoreTime *Restore time SetLocalTime(@lpCurrent) SetLocalTime(@lpCurrent) Function Num2Word lparameters tnDecimal return chr(tnDecimal%256)+chr(int(tnDecimal/256)) function SetTimeTo lparameters wYear,wMonth,wDay,wHour,wMinute,wSecond,wMilliseconds local wDayOfWeek, cNewTime wDayOfWeek = 0 && ignored cNewTime = Num2Word(wYear)+; Num2Word(wMonth)+; Num2Word(wDayOfWeek)+; Num2Word(wDay)+; Num2Word(wHour)+; Num2Word(wMinute)+; Num2Word(wSecond)+; Num2Word(wMilliseconds) SetLocalTime(@cNewTime) SetLocalTime(@cNewTime) && Calling twice is not error - daylight settings function WaitDateChange do while hour(datetime()) = 23 && Date degisene kadar bekle enddo function TestSetFilter SetTimeTo(2001,1,16,23,59,55,0) && Yil, ay, gun, saat, dakika, saniye, milisaniye wait window nowait 'set filter to test 1:' + trans(datetime()) set order to tag tarih set filter to tarih = date() browse title trans(datetime())+' Set filter expression :'+set('filter') WaitDateChange() browse title trans(datetime())+' Set filter expression :'+set('filter') set filter to function TestSetKey SetTimeTo(2001,1,16,23,59,55,0) wait window nowait 'set key to test 1:' + trans(datetime()) set order to tag tarih set key to date() browse title trans(datetime())+' Set key expression :'+set('key') WaitDateChange() browse title trans(datetime())+' Set key expression :'+set('key') set key to function TestSetFilter2 SetTimeTo(2001,1,16,23,59,55,0) wait window nowait 'set filter to test 2:' + trans(datetime()) local ldDate ldDate = date() set filter to tarih = ldDate browse title trans(datetime())+' Set filter expression :'+set('filter') release ldDate browse title trans(datetime())+' Set filter expression :'+set('filter') && Error set filter to function TestSetKey2 SetTimeTo(2001,1,16,23,59,55,0) && Yil, ay, gun, saat, dakika, saniye, milisaniye wait window nowait 'set key to test 2:' + trans(datetime()) local ldDate ldDate = date() set order to tag tarih set key to ldDate browse title trans(datetime())+' Set key expression :'+set('key') release ldDate browse title trans(datetime())+' Set key expression :'+set('key') set key to function errhand lPARAMETERs merror, mess, mess1, mprog, mlineno messagebox('Error number: ' + LTRIM(STR(merror)) + chr(13) +; 'Error message: ' + mess + chr(13) +; 'Line of code with error: ' + mess1 + chr(13) +; 'Line number of error: ' + LTRIM(STR(mlineno)) + chr(13) +; 'Program with error: ' + mprog, 16, 'Error!!!')Cetin