PDA

View Full Version : آلارم دادن برنامه در تاریخ و ساعت تعیین شد



unique1984
یک شنبه 05 شهریور 1385, 09:52 صبح
سلام
من تو یه بخشی از برنامم که مربوط به دفترچه ملاقات هست می خوام بر اساس تاریخ و ساعتی که در یه تیبل از نوع اکسس یا اس کیو ال ثبت می شوند ، برنامه به من الارم بده . در واقع مشکل من اینه که چطور این ساعت و تاریخ مشخص رو پیدا کنم با چه الگوریتمی؟
البته من یه روشی رو خودم امتحان کردم به این صورت که کل فایل رو جستجو می کردم و این تاریخ و ساعت رو پیدا می کردم که این کار رو در یه تایمر انجام می دادم اما این کار درستی نیست چون در دی بی گیری دی که مربوط به این تیبل می شد نمی تونستم یه رکورد رو انتخاب کنم و اخرین رکورد همیشه بصورت انتخاب شده نمایش داده می شد.

اگه از دوستان کسی راه حلی داره لطف کنه راهنمایی کنه . ممنون می شم.

فرزاد دلفی باز
یک شنبه 05 شهریور 1385, 10:24 صبح
من یک نمونه برنامه دارم پیداش کردم براتون میزارمش .......

mohebbi_en
یک شنبه 05 شهریور 1385, 10:43 صبح
اگه بزاریش ممنون میشم.
--------------------
اگه بزاریش ممنون میشم.

MNosouhi
یک شنبه 05 شهریور 1385, 14:47 عصر
من قبلا به یه همچین مشکلی برخورد کردم و اینطور حلش کردم :
ابتدا زمان و تاریخ کنونی سیستم رو میگیرم ، نزدیک ترین زمان (که قرار برنامه آلارم بده) به زمان کنونی رو با استفاده از تابع Min به دست میارم . اختلاف زمانی زمان کنونی و نزدیک ترین زمان آلارم رو بر حسب میلی ثانیه را به خاصیت Interval یه تایمر نسبت میدم . و تایمر رو فعال میکنم .

فکر نکنم آلگوریتمی بهینه تر از این پیدا کنی.

mzjahromi
یک شنبه 05 شهریور 1385, 17:47 عصر
مشروط به اینکه برنامه Stand Alone باشه و در این مدت درخواستی توسط کاربر دیگه ای اضافه نشه.

MNosouhi
یک شنبه 05 شهریور 1385, 19:31 عصر
اگه درخواستی توسط کاربر بشه ، زمان باقی مانده تا اولین آلارم با زمان جدیدی که کاربر وارد کرده مقایسه شده در صورت لزوم جایگزین می شود.

unique1984
یک شنبه 05 شهریور 1385, 19:46 عصر
ممنون از همه دوستان.
آقای پسر خوب اگه ممکنه یه نمونه برنامه بذارین . ممنون میشم.

mzjahromi
دوشنبه 06 شهریور 1385, 06:44 صبح
اگه درخواستی توسط کاربر بشه ، زمان باقی مانده تا اولین آلارم با زمان جدیدی که کاربر وارد کرده مقایسه شده در صورت لزوم جایگزین می شود.
مهم اینه که از کجا بفهمیم که درخواستی اومده؟
با کوئری گرفتن در بازه های زمانی ؟؟؟؟؟:متفکر:
توی برنامه های چند لایه این مساله قابل حله
ولی توی برنامه های یک لایه یا دولایه؟؟؟
به نظر نمیرسه راهی جز Refresh کردن اطلاعات داشته باشیم.
ولی اگر برنامه مون سه لایه باشه توسط سرور میتونیم این کار رو انجام بدیم

unique1984
دوشنبه 06 شهریور 1385, 11:11 صبح
سلام
راه حل اساسی چیه ؟ من چکار باید بکنم؟؟؟

mzjahromi
دوشنبه 06 شهریور 1385, 19:16 عصر
اگر برنامه تون تک کاربره است همون راهی که پسر خوب گفت خوبه.
اگر هم چند کاربره هست
یا هر چند وقت یک بار کوئری میگیرید
یا اینکه برنامه رو با استفاده از Dcom سه لایه مینویسید
یا باید دید دوستان راه حل بهتری دارن یا نه.

فرزاد دلفی باز
دوشنبه 06 شهریور 1385, 22:36 عصر
ببخشید
این برنامه نمی دونم تا چه حد بدرد شما بخوره . ولی برای استفاده از این برنامه یک کامپوننت تقویم فارسی که در پوشه برنامه قرار داره باید نصب بشه (رایگان ) تا جستحو بر اساس تاریخ شمسی باشه
حداقلش اینه که از یک کامپوننت استفاده کردید.......

unique1984
سه شنبه 07 شهریور 1385, 11:29 صبح
ممنون از راهنمایی دوستان محترم.
من خودم یه نمونه نوشتم می ذارمش ببینین نظر بدین.
البته با تاریخ میلادی کار کردم .

فرزاد دلفی باز
سه شنبه 07 شهریور 1385, 12:05 عصر
البته برای فارسی شدن تاریخ هم می تونید از یونیت دوست عزیزsalar soft در سایت http://www.salarsoft.somee.com استفاده کنی........

delphiprog3000
شنبه 29 تیر 1387, 10:25 صبح
با سلام.
امیدوارم این تاپیک به دردتون بخوره:

http://barnamenevis.org/forum/%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA%D 9%87%D8%A7-%D9%88-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1%D9%87%D8%A7/113882-%D8%A2%D9%84%D8%A7%D8%B1%D9%85-%D8%A8%D8%B1%D8%A7%D9%8A-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-reminder.html