View Full Version : توقف در برنامه تا زمان معین و یا دریافت کاراکتر معین
مهیار.
دوشنبه 01 تیر 1394, 06:28 صبح
با سلام به دوستان امیدوارم طاعاتتون قبول باشه
میخواستم تو محیط کنسول در برنامه توقف ایجاد کنم مثلا 30 ثانیه .. و در صورت عدم وارد شدن متن یا رشته ای ادامه برنامه اجرا بشه و در صورت وارد شدن جزء دیگری از برنامه اجرا بشه
به عبارت دیگر در صورتی که این 30 ثانیه بگزره و هیچ متنی وارد نشه متد A اجرا بشه و اگر در این سی ثانیه متی وارد بشه متد B امیدوارم توضیحات کامل بوده باشه ( دقیقا مانند زمانی که ویندوز زمان بالا امدن مقدار چند ثانیه توقف داره و عدم دریافت گزینه مورد پیش فرض خود رو اجرا و ادامه میدهد ..)
jeson_park
دوشنبه 01 تیر 1394, 09:37 صبح
سلام
این کد رو امتحان کنید
ConsoleKeyInfo cki;
do {
Console.WriteLine("\nPress Any Key");
// call Method A() here
while (Console.KeyAvailable == false)
Thread.Sleep(30000); // Loop until input is entered.
cki = Console.ReadKey(true);
Console.WriteLine("You pressed the '{0}' key.", cki.Key);
} while(Console.ReadKey(true));
}
alireza264
دوشنبه 01 تیر 1394, 10:12 صبح
سلام
این کد رو امتحان کنید
ConsoleKeyInfo cki;
do {
Console.WriteLine("\nPress Any Key");
// call Method A() here
while (Console.KeyAvailable == false)
Thread.Sleep(30000); // Loop until input is entered.
cki = Console.ReadKey(true);
Console.WriteLine("You pressed the '{0}' key.", cki.Key);
} while(Console.ReadKey(true));
}
سلام
کد بالا باعث توقف کل برنامه میشه و نمیشه کاراکتری وارد کرد. بنظرم بهتره از یه تایمر 30 ثانیه ای استفاده کنی اگه فرد کارکتر مورد نظر رو اجرا وارد کرد تایمر خاموش بشه و اگه زمان تایمر سپری شد بازم تایمر خاموش بشه و روال درخواستی اجرا بشه
Timer timer1 = new Timer();
timer1.Enabled = true;
timer1.Interval = 30000;
timer1.Tick += new EventHandler(timer1_Tick);
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Enabled = false;
MyRoutin();
}
مهیار.
پنج شنبه 04 تیر 1394, 19:26 عصر
سلام
این کد رو امتحان کنید
ConsoleKeyInfo cki;
do {
Console.WriteLine("\nPress Any Key");
// call Method A() here
while (Console.KeyAvailable == false)
Thread.Sleep(30000); // Loop until input is entered.
cki = Console.ReadKey(true);
Console.WriteLine("You pressed the '{0}' key.", cki.Key);
} while(Console.ReadKey(true));
}
با سلام
من این کد رو امتحان کردم خطا میده تو این خط :
} while(Console.ReadKey(true));
مهیار.
جمعه 05 تیر 1394, 02:56 صبح
سلام
کد بالا باعث توقف کل برنامه میشه و نمیشه کاراکتری وارد کرد. بنظرم بهتره از یه تایمر 30 ثانیه ای استفاده کنی اگه فرد کارکتر مورد نظر رو اجرا وارد کرد تایمر خاموش بشه و اگه زمان تایمر سپری شد بازم تایمر خاموش بشه و روال درخواستی اجرا بشه
Timer timer1 = new Timer();
timer1.Enabled = true;
timer1.Interval = 30000;
timer1.Tick += new EventHandler(timer1_Tick);
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Enabled = false;
MyRoutin();
}
این هم اینجا خطا میگیره :
132602
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.