تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة عدم دقة توقيت التايمر
#1
Sad 
السلام عليكم ورحمة الله وبركاته

عندي مشكله

عندما وضعت التايمر على 1000 يعني يعمل كل ثانيه
اجد بعد عدة ساعات عدم دقة الثوان
فهل هناك طريقه ادق من التايمر في العمل كل ثانية تماما ؟

وشكرا مقدما
الرد
تم الشكر بواسطة:
#2
إقتباس :اجد بعد عدة ساعات عدم دقة الثوان

فهل هناك طريقه ادق من التايمر في العمل كل ثانية تماما ؟

ممكن مزيد من توضيح المشكلة لو سمحت يعني ما هو الكود الموجود داخل التيمر وما هو الاختلاف الحاصل بالضبط 
لعل تجد المساعدة ان شاء الله
الرد
تم الشكر بواسطة: أسعد
#3
(17-04-21, 12:29 AM)أبو عبدالله الحلواني كتب : ممكن مزيد من توضيح المشكلة لو سمحت يعني ما هو الكود الموجود داخل التيمر وما هو الاختلاف الحاصل بالضبط 
لعل تجد المساعدة ان شاء الله

جزاك الله خير على التفاعل

هذا مثال
ضع اثنان لايبل وهذا الكود
PHP كود :
Public Class Form1

    Dim sw 
As New Stopwatch
    Dim n 
As Integer

    
Private Sub Form1_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        Timer1
.Interval 1000
        Timer1
.Start()
        
sw.Start()
    
End Sub

    
Private Sub Timer1_Tick(sender As ObjectAs EventArgsHandles Timer1.Tick
        n 
+= 1
        Label1
.Text n
        Label2
.Text sw.Elapsed.TotalSeconds
    End Sub

End 
Class 
ستلاحظ بعد وقت من الزمن اختلاف الارقام الظاهره في كل لايبل
بالرغم ان التايمر على 1000 يعني ثانية
الرد
تم الشكر بواسطة:
#4
إقتباس :ستلاحظ بعد وقت من الزمن اختلاف الارقام الظاهره في كل لايبل

بالرغم ان التايمر على 1000 يعني ثانية


المشكلة ليست في التيمر ولكن في الاستوبوتش فانه يظهر القيمة بالملي ثانية 
اكتب الكود بهذا الشكل وستري الفرق ان شاء الله

PHP كود :
Label2.Text CInt(sw.Elapsed.TotalSeconds
وهذا المرفق بعد التعديل


الملفات المرفقة
.rar   TestTimer.rar (الحجم : 153.56 ك ب / التحميلات : 7)
الرد
تم الشكر بواسطة: asmarsou , أسعد , اسامه الهرماوي
#5
(17-04-21, 06:33 PM)أبو عبدالله الحلواني كتب : المشكلة ليست في التيمر ولكن في الاستوبوتش فانه يظهر القيمة بالملي ثانية 
اكتب الكود بهذا الشكل وستري الفرق ان شاء الله

PHP كود :
Label2.Text CInt(sw.Elapsed.TotalSeconds
وهذا المرفق بعد التعديل

اشكرك جدا على مشاركتك

انا عامل في الكود الذي عندي CInt ولكن أزلتها في المثال السابق ليتضح سبب عدم تساوي الثوان بعد مدة من خلال مراقبة الملي ثانية

المقصود بعد مدة من الوقت مع تجاهل الملي ثانية سترى ان هناك ثانية تم تجاوزها ثم بعد مدة ثانية يتم تجاوزها وهكذا

عندما يتم تشغيل الكود اصبحت النتيجة بعد 36 ثانية
Tiimer value: 37
StopWatch Value: 38
وبعد مده اصبحت النتيجه
Tiimer value: 197
StopWatch Value: 200

قم بتشغيل المرفق الذي ارفقتموه وانتظر بعد حوالي الدقيقة الى دقيقتين سترى ان الآرقام قد اختلفت ولم تعد متساوية

هذا ما قصدته

ولكم جزيل الشكر
الرد
تم الشكر بواسطة:
#6
إقتباس :قم بتشغيل المرفق الذي ارفقتموه وانتظر بعد حوالي الدقيقة الى دقيقتين سترى ان الآرقام قد اختلفت ولم تعد متساوية

هذا ما قصدته




كلام حضرتك صحيح!

ولكن طالما ان المشكلة لم تعد بالتيمر  وصار التيمر بريء من تهمة عدم الانضباط Big Grin

فلماذا لا تصرح بفكرتك لربما يكون الوصول اليها بطريقة اخري أقرب لما تريد 
ودع عنك عبأ مطابقة المختلفين  Rolleyes

أو حاول زيادة سرعة التيمر أيضا ليعمل بالملي ثانية وانتهي الأمر
الرد
تم الشكر بواسطة: أسعد
#7
(19-04-21, 08:01 PM)أبو عبدالله الحلواني كتب : كلام حضرتك صحيح!

ولكن طالما ان المشكلة لم تعد بالتيمر  وصار التيمر بريء من تهمة عدم الانضباط Big Grin

فلماذا لا تصرح بفكرتك لربما يكون الوصول اليها بطريقة اخري أقرب لما تريد 
ودع عنك عبأ مطابقة المختلفين  Rolleyes

أو حاول زيادة سرعة التيمر أيضا ليعمل بالملي ثانية وانتهي الأمر

اشكرك اخي ابو عبد الله

الفكرة هي إجراء قدح Trigger (ان صح التعبير) لحدث Event كل ثانية تماما وعدم تفويت أي ثانيه

قد يكون هناك أمر بديل عن استخدام التايمر متربط بساعة اللوحة الجهاز أو ساعة نظام التشغيل ولكن لا أعرف الطريقه

وشكرا لكم
الرد
تم الشكر بواسطة:
#8
السلام عليكم

اخي اعتقد ان اجراء حدث مهما كان صغير يستهلك جزء من الوقت واعتقد الفرق عندك في مرور الوقت هو اجراء الحدث حتى لو استهلك جزء من الف جزء من الثانية

والله أعلم

تقبل مروري
الرد
تم الشكر بواسطة: أسعد
#9
(20-04-21, 05:37 AM)messry كتب : السلام عليكم

اخي اعتقد ان اجراء حدث مهما كان صغير يستهلك جزء من الوقت واعتقد الفرق عندك في مرور الوقت هو اجراء الحدث حتى لو استهلك جزء من الف جزء من الثانية

والله أعلم

تقبل مروري

وعليكم السلام اخي messry

اشكرك اخي
الرد
تم الشكر بواسطة:
#10
طيب هل هناك حل لهذه المشكلة ؟
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في تحويل كود من c# الى vb.net aldery 0 22 منذ 8 ساعة مضت
آخر رد: aldery
  [VB.NET] مشكلة في برنامج vb.net aliabdullah 3 172 13-05-21, 10:19 AM
آخر رد: Fantastico
  [VB.NET] مشكلة بالكريستال لا يريد التنصيب AhmedNagib 1 105 10-05-21, 01:27 AM
آخر رد: ابو انس
  مشكلة عندالتعامل مع (My.Application.CommandLineArgs) عبدالله الصافي 12 754 21-04-21, 03:17 PM
آخر رد: عبدالله الصافي
  مشكلة تحديث برنامجي عن تحزيمه ببرنامج Smart Install Maker alfaiz678 2 205 18-04-21, 12:42 PM
آخر رد: alfaiz678
  مشكلة في اضافة centent فيه boundary bden1 0 153 17-04-21, 07:13 PM
آخر رد: bden1
  مشكلة بزيدة قيمة المتغير داخل التيمر أبو عبدالله الحلواني 5 308 17-04-21, 12:22 AM
آخر رد: أبو عبدالله الحلواني
  مشكلة في زيادة كمية الصنف الي الفاتورة المبيعات عبدالكريم برشدان 1 205 16-04-21, 07:15 AM
آخر رد: عبدالكريم برشدان
  [VB.NET] مشكلة في تقارير مريم علي 2 227 15-04-21, 09:52 PM
آخر رد: messry
  [VB.NET] مشكلة مطلوب حلها Lathe1 2 249 09-04-21, 02:38 PM
آخر رد: Lathe1

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم