PDA

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



saradashti
دوشنبه 02 اسفند 1395, 22:48 عصر
سلام

یک برنامه به زبان C# دارم مینویسم که از ورودی مدت زمان اجرای برنامه را از کاربر میگیره (مثلا 100 ثانیه) و برنامه یکسری کارهای مختلف را در این بازه زمانی باید انجام بده و بعد از گذشتن این مدت زمان مثلا 100 ثانیه ای، برنامه متوقف میشه و گزارش و نتایج کارهای انجام شده را روی فرم به کاربر نشون میده.

حالا چطور باید اجرای کدها در یک بازه زمانی را بنویسم؟؟

Mahmoud.Afrad
دوشنبه 02 اسفند 1395, 23:51 عصر
یک backgroundworker نیاز دارید. در رویداد dowork کارهایی که نیاز دارید انجام بشه رو قرار میدید. در رویداد complete گزارشگیری و اعلام نتیجه به کاربر.
یک تایمر نیاز دارید با Interval برابر عددی که از کاربر میگیرید. در رویداد tick هم backgroundworker و خود تایمر رو متوقف میکنید.
جایی هم که نیاز به شروع کار دارید backgroundworker و تایمر را فعال میکنید.

saradashti
سه شنبه 03 اسفند 1395, 00:36 صبح
یک backgroundworker نیاز دارید. در رویداد dowork کارهایی که نیاز دارید انجام بشه رو قرار میدید. در رویداد complete گزارشگیری و اعلام نتیجه به کاربر.
یک تایمر نیاز دارید با Interval برابر عددی که از کاربر میگیرید. در رویداد tick هم backgroundworker و خود تایمر رو متوقف میکنید.
جایی هم که نیاز به شروع کار دارید backgroundworker و تایمر را فعال میکنید.

ممنون از پاسخ سریعتون

یه سوال دیگه اینکه داخل سی شارپ اصلا شمارنده و یا حلقه ای که شمارندش بتونه براساس زمان باشه، وجود نداره؟
چون داخل برنامه من مرتب فعالیتهای مختلف در بازه های زمانی مختلف باید اجرا بشه که این مدت زمانها هم به صورت پویا در برنامه تولید میشه و همزمان هم میتونه تا N تا حلقه هایی که باید بعد از ثانیه های مختلف، متوقف شوند،در برنامه درحال فعالیت باشند!
درواقع علاوه بر زمان سراسری اجرای برنامه، یکسری زمانهای داخلی دیگه دارم که پویا ایجاد میشوند برای همین نیاز دارم یک حلقه با شمارنده ای بر منبای time (مثلا n ثانیه) داشته باشم.

group45
سه شنبه 03 اسفند 1395, 08:05 صبح
شما باید زمانهای جدید رو به زمان تایمر اضافخ کنید یا زمان تایمر رو از اول اجرا کنید