50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

علت خطا در تایمر ویژوال استادیو به زبان #C و راه های رفع این مشکل

درود ، من یه کرنومتر دقیق میخوام با سی شارپ بسازم. ولی در زمان های طولانی تایمر با اینتروال 1 میلی ثانیه خیلی خطا میده. علت چیه؟ روش های رفع این مشکل چیه؟

پرسیده شده در 1393/09/07 توسط

5 پاسخ

0

سلام دوست عزیز، اگه یه تصویر از خطا یا متن خطا رو قرار بدید بهتر میشه کمک کرد!

پاسخ در 1393/09/07 توسط
2

فرقی نمیکنه، TimeSpan به شما زمان سپری شده رو در قالب میلی ثانله، ثانیه، دقیقه و ساعت میده...

پاسخ در 1393/09/08 توسط
0

ممنون آقای احمدی ، ولی من با میلی ثانیه کار دارم...

پاسخ در 1393/09/08 توسط
0

منظورم از خطا ، خطای محاسباتی هست.

مثلاً با کرنومتر دستی 15 ثانیه میشه ولی با برنامه ای که نوشتم 20 ثانیه میشه.

من یه چیزایی شنیده بودم که تایمر ها خطا دارن... ولی نمیدونستم اینقدر!!! تازه فرض کنین زمان بیشتر میگذشت...

پاسخ در 1393/09/08 توسط
2

چرا از Timer؟ کلاس Timer یه کلاس Managed هست و نمیشه زیاد بهش تکیه کرد. کد زیر یه کورنومتر خیلی سادست که با یه Thread کار میکنه، خطا هم نداره:

private static DateTime startDate;

private static void Main(string[] args)
{
    Console.WriteLine("Press any key to start...");
    Console.ReadKey();
    startDate = DateTime.Now;
    Thread thread = new Thread(() =>
    {
        while (true)
        {
            var now = DateTime.Now;

            var diff = now - startDate;
            Console.Clear();
            Console.WriteLine(diff.ToString("g"));
        }
    });

    thread.Start();

    Console.ReadKey();
}

حالا شما میخوای ازش تو Windows Forms استفاده کن یا هر جای دیگه. چون بر اساس تاریخ سیستم کار میکنه، مشکلی ایجاد نمیکنه.

پاسخ در 1393/09/08 توسط

پاسخ شما