PDA

View Full Version : سوال: یاد آور



mkookab
سه شنبه 27 مرداد 1394, 22:16 عصر
سلام و خسته نباشید خدمت همه ی دوستان .
میخوام یه برنامه بنویسم با C# که حالت یاد آور باشه یعنی شما یه تاریخ بهش بدین توی اون تاریخ درصورتی که سیستم روشن باشه یه پیامی رو نمایش بده . برای این کار میخوام از وقفه استفاده کنم . البته نمیدونم استفاده از وقفه درسته یا نه . به این ترتیب که میخوام بازای هر تغییر تاریخ یه دونه وقفه بده به برنامه ی ما و درصورتی که تاریخ با تاریخ ذخیره شده در DB برنامه مطابقت داشت برنامه پیام رو چاپ کنه .
ممنون میشم راهنمائیم کنید . البته میخوام ساعت رو هم بگیره .

silsin
سه شنبه 27 مرداد 1394, 22:45 عصر
مهندس لازم نیست اینقدر پیچیده کنی کار رو واسه خودت
ما یک استراکت با نام DateTime داریم . مثلا می گی پیغام رو در ساعت 11 شب پخش کن

if (DateTime.Now.Hour == 23)
{
MessageBox.Show("ساعت 11 شبه");
}


یا مثلا اگر سال 2015 بود یه پیغام بده

if (DateTime.Now.Year == 2015)
{
MessageBox.Show("سال 2015");
}


به همین راحتی تنها کاری که شما باید انجام بدی اینه که موارد مربوطه رو وارد کنی . راحت ترین کار اینه که مثلا بگی

if (DateTime.Now.Year == 2015 && DateTime.Now.Month == 5 && DateTime.Now.Day == 27)
{
//یه کاری بکن
}

این میاد با توجه به Now به کار رفته تاریخ فعلی سیستم خودت رو می گیره وبرنامه شما از اون استفاده می کنه. چونکه شما مد نظرت اینه که برنامه در تاریخ یا زمانی که می خوای اجرا بشه و با توجه به سوالت فکر نمی کنم چیز بیشتری نیاز باشه البته میشه کارهای دیگه ای کرد اما ساده ترین راه اینه

mkookab
چهارشنبه 28 مرداد 1394, 09:01 صبح
سلام ممنون از راهنمائیت .
اما این تیکه های کد رو دقیقا کجا باید بنویسم ؟
اگه بخوام بذارم پشت یه دکمه که خب وقتی کلیک میکنه طرف اگر دقیقا تو همون زمان باشه دستورات if اجرا میشه اما اگه نباشه اجرا نمیشه. دقیقا متوجه نشدم ساختار برنامه رو چطوری بنویسم .
ممنون که راهنمایی کردین

silsin
چهارشنبه 28 مرداد 1394, 22:10 عصر
کار سختی نیست البته بستگی به این داره که شما چه جوری می خوای این کار رو انجام بدی اگر برنامه در حال اجرا باشه یعنی کاربر در حین اجرای برنامه با پیغام مواجه بشه میشه یه ترد تعریف کرد که دائما و در زمان های مشخصی بیاد تاریخ رو چک کنه اگر هم بخوای کلا برنامه اینجوری باشه که نشون بده چه باز باشه و چه بسته بازم میشه کارهای مختلفی انجام داد مثلا
http://www.codeproject.com/Articles/38553/Task-Scheduler
https://msdn.microsoft.com/en-us/library/system.threading.tasks.taskscheduler%28v=vs.110%29 .aspx
یا همین استفاده از ترد و اینکه برنامه رو ببریم تو بک گراند
یا تعریف به عنوان یک سرویس
و غیره و غیره ....
خیلی کارها میشه انجام داد البته من به شخصه برای این کار ایجاد یک سرویس رو ترجیح میدم البته کار با تسک ترد هم خوبه ولی خب سطح پیچیدگی اش واسه همچین کاری فکر کنم نامعقوله

mkookab
پنج شنبه 29 مرداد 1394, 00:52 صبح
سلام مجدد
بازم ممنون
لینک ها رو حتما بررسی میکنم .
اگه بازم مشکلی بود تو همین تاپیک مطرح میکنم .

ممنون