PDA

View Full Version : زمان بندی رویداد



Mojtaba.Kh
جمعه 23 مرداد 1388, 09:23 صبح
سلام
فرض کنید سیستم بایگانی وجود دارد که باید هر ساعت یکبار عدم وجود پرونده پرسنل را بصورت آلارم به کاربر اعلام کند

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

Mohsen229266
جمعه 23 مرداد 1388, 10:17 صبح
با سلام بهتره از WindowsServiceاستفاده کنی در غیر اینصورت اگه بخوای با WinApplicationبنویسی فقط در زمانی که برنامتون run هست آلارم میده یه راهی داره که برنامتونو در System Configuration قرار بدید تا موقع استارت ویندوز اجرا بشه برای زمانبندی خاص هم میتونید از ساعت و تاریخ ویندوز استفاده کنید این برنامه رو هم ببین (http://barnamenevis.org/forum/showpost.php?p=744744&postcount=277) کمکت میکنه

Mojtaba.Kh
جمعه 23 مرداد 1388, 11:19 صبح
ممنون
اما دوست من چطور میتونم اون شرط مثلا چک کردن اون زمان خاص ساعتی یکبار چک بشه؟

Mohsen229266
جمعه 23 مرداد 1388, 12:21 عصر
چرا از کنترل Timer استفاده نمیکنی؟میتونی Interval اونو مقدار دهی کنی بر حسب میلی ثانیه محاسبه میکنه

علیرضا مداح
جمعه 23 مرداد 1388, 15:01 عصر
سلام دوست عزیز،
یک مثال:
C# Corner - A Scheduled Application Launcher Service in C# and .NET (http://www.c-sharpcorner.com/UploadFile/mgold/ApplicationScheduler11262005055059AM/ApplicationScheduler.aspx)
،/

navid_8x
شنبه 24 مرداد 1388, 03:13 صبح
می تونی با thread این کارو انجام بدی.


private void button1_Click(object sender, EventArgs e)
{
Thread s = new Thread(new ThreadStart(Start));

}
void Start()
{
try
{
while (true)
{
MessageBox.Show("Alarm");
Thread.Sleep(new TimeSpan(1, 0, 0));
}
}
catch (Exception)
{
}
}

Mojtaba.Kh
پنج شنبه 05 شهریور 1388, 21:56 عصر
می تونی با thread این کارو انجام بدی.


private void button1_Click(object sender, EventArgs e)
{
Thread s = new Thread(new ThreadStart(Start));

}
void Start()
{
try
{
while (true)
{
MessageBox.Show("Alarm");
Thread.Sleep(new TimeSpan(1, 0, 0));
}
}
catch (Exception)
{
}
}

ببخشید این کد کار نمیکنه یعنی وقتی رویداد کلیک اجرامیشه هیچ پیغامی صادر نمیشه

آیا این روش بهتر از روشهای دیگه است؟

navid_8x
جمعه 06 شهریور 1388, 01:25 صبح
معذرت در رویداد کلیک این کد رو بنویس.


Thread s = new Thread(new ThreadStart(Start));
s.Start();