PDA

View Full Version : دادن alert در فواصل یک روزه



nima_dir
پنج شنبه 19 مرداد 1385, 22:24 عصر
سلام دوستان
من یه برنامه کوچیک reminder میخوام بنویسم که یه قسمت از یه پروژه بزرگه
میخوام در فواصل معین که کاربر مشخص میکنه مثلا یک روزه یا دو روزه و... کارهایی که مال اون روز است را نشون بده
میخواستم بدونم چطور باید تغییر date رو تشخیص بدم
و اینکه با تاریخ شمسی مشکل بوجود نمیاد؟
ممنون

ghafoori
جمعه 20 مرداد 1385, 10:39 صبح
دوست عزیز اول برنامه شما باید همیشه در حال اجرا باشد پس نوع برنامه شما باید ویندوز سرویس باشد این برنامه ها با شروع کار ویندوز اجرا میشوند خوی داخل این پروژه باید یک تایمر ایجاد کنید که مثلا هر 5 دقیقه یکبار لیستی را چک کند اگر موقع کاریی بود اختار دهد

nima_dir
جمعه 20 مرداد 1385, 13:09 عصر
سلام
ممنون دوست عزیز
اگه میشه یه کم منو بیشتر راهنمایی کنید که چطور یک سرویس ایجاد کنم
بعد برای اخطار کمترین مدت یک روزه است و فکر کنم با تاریخ کار کردن راحتتر است
ایا رویدادی برای عوض شدن تاریخ وجود داره؟
باز هم ممنون

Amir Oveisi
جمعه 20 مرداد 1385, 14:59 عصر
من فکر میکنم بهتره از TimerCallback استفاده کنید به جای تایمر و تاریخ

nima_dir
جمعه 20 مرداد 1385, 17:58 عصر
سلام
دوست عزیز یه مثال در این باره دارین؟

mehrdad2
جمعه 20 مرداد 1385, 22:00 عصر
من یک برنامه مشابه این را در vb.net نوشته ام و اگه دوست داشته باشی میتونم برات upload
کنم. فقط اگه خواستی بگو کجا upload کنم.

ghafoori
شنبه 21 مرداد 1385, 07:35 صبح
دوست عزیز اگر شما می خواهید در فواصل یک روزه اختار دهید کار راهتر است کافی یک برنامه معمولی بنویسید و تعیین کنید با اجرا ویندوز برنامه شما هم اجرا شود بعد شما تاریخ را با لیست خود چک کنید و اگر بود اختار دهد برای تقویم فارسی باید از کد زیر استفاده کنید



Dim p As New Globalization.PersianCalendar
p.GetYear(Now.Date)
p.GetMonth(Now.Date)
p.GetDayOfMonth(Now.Date)این متدها بترتیب سال ماه و چندم ماه را بر میگرداند

nima_dir
شنبه 21 مرداد 1385, 23:31 عصر
سلام دوستان
اقا مهرداد اگه لطف کنید این فایل را اپ لود کنید ممنون میشم
و خدمت اقای غفوری عرض کنم که مشکل من اینه که این کدی که شما نوشتید تو کدوم event بنویسم که تغییر تاریخ رو متوجه بشم
ممنون

mehrdad2
یک شنبه 22 مرداد 1385, 10:40 صبح
سلام
لینک برای دانلود: http://www.450mb.com/users/mehrdad/Clock.rar
1)یک timer اضافه هم در فرم هستش بهتره اون را حذف کنی.
2)بهتره که interval تایمر اول را بیشتر در نظر بگیری.(برحسب میلی ثانیه میباشد)
3)اگر یکم وقت بذاری میتونه از timer اول هم استفاده ی بهینه بکنی

Amir Oveisi
چهارشنبه 25 مرداد 1385, 11:52 صبح
آقا جان من اگه از TimerCallBack استفاده کنی حله... تو namespace Threading هستش اگه اشتباه نکنم
یه Object ازش درست میکنی و موقع New کردن تو آرگومانش میتونی Period و زمان آغاز رو تنضیم کنی اگه میخای که بلافاصله بعد از اینکه Start کردی تایمرت هم شروع بشه باید زمان آغاز رو null قرار بدی بعد یکی از آرگوماناش یه تابع هست که میخای تو هر period انجام بشه
جالب اینه که Period رو میتونی از میلی ثانیه تا روز و حتی سال هم بذاری و چون یه thread براش ایجاد میشه کار بقیه جاهای برنامه رو مختل نمیکنه در حالیکه اگه از Timer معمولی استفاده کنی تو period های کوتاه و زمان تکرار طولانی برنامه هنگ میکنه و cpu usage 100% میشه!!
امیدوارم که موفق باشی