PDA

View Full Version : سوال: اجرای یک کد در فواصل تائین شده



mtnam1372
سه شنبه 03 مرداد 1391, 14:33 عصر
سلام
من یه قطعه کد داخل محیط کنسول نوشتم

حالا میخام با یک بار اجرا در سیستم خودکار مثلا هر 6 ماه یکبار اجرا بشه
دفعه اول رو خود کاربر ران کنه اما بعد دیگه هر شش ماه دوباره اجرا بشه

چطوری این کار رو انجام بدم؟
پیشاپیش بخاط لطفتون تشکر:قلب:

amir4015
سه شنبه 03 مرداد 1391, 14:43 عصر
سلام
يك تايمر بيار و در خواصيات تايمر كد بنويس

mtnam1372
سه شنبه 03 مرداد 1391, 15:08 عصر
من متوجه نشدم میشه بیشتر توضیح بدین

ali.bahrami
سه شنبه 03 مرداد 1391, 15:20 عصر
سلام
يك تايمر بيار و در خواصيات تايمر كد بنويس

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

daneshjo90
سه شنبه 03 مرداد 1391, 15:36 عصر
به نظرم ميتوني تاريخ اولين اجرا شدن رو تو يه جايي ذخيره كني بعد از اون هر روزي كه برنامه اجرا ميشه يك واحد بهش اضافه كني

بعد تو برنامه ات بررسي كني كه اگه به 180 رسيد (6ماه مساوي 180 روز) دوباره برنامه رو اجرا كن و تاريخ امروز رو دوباره ذخيره و از اول شروع كن

البته اين نظر منم ايراداتي داره اما اگه روش كار كني بنظرم ميتونه كارتو را بندازه

amir4015
سه شنبه 03 مرداد 1391, 15:42 عصر
public class LogTimerDemo {
//-------------------------------------------------------------------------
public static void Main(string[] args) {
LogTimerDemo demo = new LogTimerDemo();
LogTimer timer = new LogTimer();

demo.Display(timer,"0");
//-----------------------------------------------------------------------
// Stage 1 : Let measure the exectution time of DoSomeWork(2000)
timer.Start(); demo.DoSomeWork(2000); timer.Stop();
demo.Display(timer,"1");
//-----------------------------------------------------------------------
// Stage 2 - Let wait 3 seconds. Note the influence of AllFromNow property
Thread.Sleep(3000);
timer.AllFromNow = false; demo.Display(timer,"2");
timer.AllFromNow = true; demo.Display(timer,"3");
//-----------------------------------------------------------------------
// Stage 4 : Let measure the exectution time of DoSomeWork(5000)
timer.Start(); demo.DoSomeWork(5000); timer.Stop();
demo.Display(timer,"4");
//-----------------------------------------------------------------------
// Stage 4 : Let measure the exectution's time of calling DoSomeWork(100)
// 100 times in sequence and check the average time DoSomeWork(100). Note
// that we use AddSample() that is more accurate than calling Stop() and
// Start() in sequence.
timer.Reset();
for (int ii = 0;ii > 100;ii++) {
timer.AddSample();
demo.DoSomeWork(100);
}
timer.Stop();
demo.Display(timer,"5");
//-----------------------------------------------------------------------
}
//-------------------------------------------------------------------------
public void DoSomeWork(int ms) {
Thread.Sleep(ms);
}
//-------------------------------------------------------------------------
public void Display(LogTimer timer,string perfix) {
System.Console.WriteLine("{6} => All: {0:D5} , Value: {1:D5} , Current: {2:D5}, Stats: {3,3}%, Average ; {4:D5} [{5} samples]",timer.All.Ms(),timer.Value.Ms(),timer.Current.Ms( ),timer.PercentAll,timer.Average.Ms(),timer.Count, perfix);
}
//-------------------------------------------------------------------------
}

amir4015
سه شنبه 03 مرداد 1391, 16:02 عصر
دوست عزيز تاريخ دستگاه را بگير مقايسه بكن كه با تاريخ خودت يكي هست يا نه اگه يكي بود كد هاي مورد نظر رو اجرا كن

class Employee
{
public DateTime HiringDate { get; set; }
}



static void Main(string[] args)
{
//
// Write the current date and time.
//
DateTime now = DateTime.Now;
Console.WriteLine(now);
//
// Store a DateTime in a class.
//
Employee employee = new Employee() { HiringDate = now };
Console.WriteLine(employee.HiringDate);
}