نمایش نتایج 1 تا 7 از 7

نام تاپیک: کارکردن تایمر بعد از اتمام برنامه

  1. #1

    کارکردن تایمر بعد از اتمام برنامه

    دوستان سلام. یه برنامه نوشتم که حدود دو دقیقه طول میکشه تا خروجی بده. یه تایمر گذاشتم که از زمانی که دکمه اجرا زده میشه تا پایان برنامه آن رو شمارش کنه و زمان دقیق اجرای برنامه رو کاربر ببینه. اما مشکل اینجاس که تایمر عمل نمیکنه و بعد از اتمام برنامه، شروع به کار میکنه. دوستان میتونن راهنمایی کنن؟

     int seconds = 0;
    int minutes = 0;
    int hours = 0;
    private void timer1_Tick(object sender, EventArgs e)
    {
    if (seconds == 60)
    {
    seconds = 0;
    if (minutes == 60)
    {
    minutes = 0;
    hours++;
    }
    else
    {
    minutes++;
    }
    }
    else
    {
    seconds++;
    }
    label1.Text = (hours > 9 ? hours + "" : "0" + hours) + ":"
    + (minutes > 9 ? minutes + "" : "0" + minutes) + ":"
    + (seconds > 9 ? seconds + "" : "0" + seconds);
    }



    private void btn_EXE_Click(object sender, EventArgs e)
    {

    if (timer1.Enabled)
    {
    timer1.Enabled = false;
    button1.Text = "ادامه";
    }
    else
    {
    timer1.Enabled = true;
    button1.Text = "توقف";
    }

    شروع اجرای برنامه ...
    .
    .
    .
    پایان برنامه

    }

  2. #2
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,172

    نقل قول: کارکردن تایمر بعد از اتمام برنامه

    سلام

    پیشنهاد میکنم برای ارزیابی زمان انجام یک فرآیند از Stopwatch استفاده کنید. در زمان شروع برنامه اون را start کنید و در هر جای برنامه که نیاز بود اون را stop کنید و از مقدار elapsed میتونید برحسب معیارهای مختلف خروجی بگیرید (ساعت، دقیقه و یا ثانیه و ...). کلاس Stopwatch در فضای System.Diagnostic قرار دارد:

    using System.Diagnostics;


    void StopwatchUsingMethod()
    {
    var timer = new Stopwatch();
    timer.Start();


    //کدهای برنامه


    timer.Stop();


    TimeSpan timeTaken = timer.Elapsed;
    string result= "Time taken: " + timeTaken.ToString(@"m\:ss\.fff");
    }


    لینک زیر را ببینید:
    https://docs.microsoft.com/en-us/dot...h?view=net-6.0

    اگر در یک کلاس متغیر را در سطح فرم تعریف کنید میتونید از متدهای مختلف start کنید و در متدهای دیگه اون را stop کنید.

  3. #3
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    1,646

    نقل قول: کارکردن تایمر بعد از اتمام برنامه

    سلام.
    توجه کنید، زمان اجرای برنامه در StartTime از Process موجود هست.

    https://docs.microsoft.com/en-us/dot...cess-starttime

  4. #4

    نقل قول: کارکردن تایمر بعد از اتمام برنامه

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

  5. #5

    نقل قول: کارکردن تایمر بعد از اتمام برنامه

    نقل قول نوشته شده توسط ROSTAM2 مشاهده تاپیک
    سلام.
    توجه کنید، زمان اجرای برنامه در StartTime از Process موجود هست.

    https://docs.microsoft.com/en-us/dot...cess-starttime

    دوست عزیز ممنون. متوجه نشدم از این چجوری باید استفاده کنم. فکر میکنم به thread مربوط میشه میتونم ازش استفاده کنم.

  6. #6
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    1,646

    نقل قول: کارکردن تایمر بعد از اتمام برنامه

    من هم سوال شما رو درست متوجه نشدم! تایمر رو برای مدت زمان اجرای برنامه می خوای؟!
    آخرین ویرایش به وسیله ROSTAM2 : پنج شنبه 27 مرداد 1401 در 09:47 صبح

  7. #7
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,172

    نقل قول: کارکردن تایمر بعد از اتمام برنامه

    نقل قول نوشته شده توسط csharpdoost مشاهده تاپیک
    دوست عزیز ممنون. متوجه نشدم از این چجوری باید استفاده کنم. فکر میکنم به thread مربوط میشه میتونم ازش استفاده کنم.
    بله اگر برنامه شما در Thread جاری درگیر باشه و بخواهید در UI اطلاعات را همزمان نمایش بدید باید در یک Thread دیگه عملیات مجزا را انجام بدید و بعد توسط delegate یک شیء به ویژگی های اون دسترسی داشته باشید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •