I'm quite sure you mean "how" not "where".
Well, even then, it's like asking how or where do I prepare pizza with my ferrari? VFP is a programming language for data based applications. If you want an alarm in your program, that's of course possible nevertheless, but there are better alternatives anyway.
Scheduled task will be watched for by the OS, so if a task is scheduled and activated the alarm will work. If you add alarms to your application data, your application will of course need to be up and running to alarm a use, like an Outlook Appointment also only will be displayed, if Outlook runs.
So far just the thoughts that come to mind without even talking about the language and technical aspect.
If you still want to go for it, use the datetime type to store an appointment, nut just TIME(), you will be able to calculate and compare a datetime value with the current dateteim stamp, which you get via DATETIME() called without parameters.
And that's about all you need for an alarm.
1. A datetime to alarm the user, stored in some appiontment table. Together with a flag field (logical), if the alarm has been made yet, inited to fals (.F.)
2. A timer, for example running each 10 seconds (interval = 10000), looking for any appointments having reached the current datetime
eg similarly to
SELECT * from Appointments where iUserID = goApp.iLoggedInUSerID;
AND DATETIME()>=tAppiontmentDateTime AND Not lAlarmed
INTO Cursor curAlarms NOFILTER
3. A messagebox or any other form you pop up to alarm the user.
4. setting all appointments as lAlarmed = .t. to denote the alarm has been made,
eg similarly to
UPDATE Appointments SET lAlarmed = .T. FROM curAlarms WHERE Appointments.ID = curAlarms.ID
Bye, Olaf.