09-01-18, 03:51 AM
معرفة عدد العناصر التي سوف يتم اضافتها الى listbox فى 30 ثانية
هل من حل لمعرفة عدد هذه العناصر قبل اضافتها مع العلم عدد العناصر هنا مجهول ؟
هل من حل لمعرفة عدد هذه العناصر قبل اضافتها مع العلم عدد العناصر هنا مجهول ؟
(09-01-18, 09:32 PM)عبدالله الدوسري كتب : [ -> ]ممكن توضح اكثر؟
اذكر مثلاً لماذا تريد معرفة العدد؟
ولماذا في 30 ثانية ؟
وكيف يتم اضافتها ؟
أمور كثيرة مجهولة في سؤالك؟
عطنا نبذة من الكود الي تستخدمة مثلاً !!!!!!!!!!!!!!!!
(11-01-18, 06:09 PM)عبدالله الدوسري كتب : [ -> ]إذا كان الـــ Interval الخاص بــ Timer فرضاً مضبوط على 1000جزاك الله خير شكرآ علي الشرح
إذاً العدد هو عدد الثواني
إذا كان الــ Interval مختلف
إذاً العدد هو ( ( عدد الثواني مظروب في 1000 ) يقسم على قيمة الـــ Interval )
لكن!!!
هل تستطيع أن تحسب فرق الزمن بين الضغط على الزر وبين أول Tick الخاصة بالتايمر
ستكون أجزاء من الثانية تقدر ما بين 20 إلى 150 جزء من الثانية
حسابياً ما ذكرتة في الأعلى صحيح
لكن عملياً يمكن أن تخفق آخر Tick في إضافة عنصر جديد في الـــlistbox
يعني عندك 1 ممكن يكون خارج الحساب (إحتمال يحدث في فارق الزمن) إذا قمت بحساب فارق الزمن بين البداية وبين عدد الثواني المطلوب في كل Tick
أما إذا قمت بالعملية الحسابية منذ البداية وقمت بتعيين العدد حسب الطريقة التي ذكرت في الأعلى
عندها يمكنك في كل مرة Tick حساب ما إذا اكتمل عدد العناصر أو لا بدون حساب قارق الزمن
وهذا مثال :
المشروع :
(12-01-18, 01:22 AM)silverlight كتب : [ -> ]تحتاج الي متغير يعبر عن DateTime = Now
أيضا تحتاج الي متغير اخر عبارة عن DateTime أو TimeSpan وهو عباره المتغير الأول + 30 ثلنية
ثم وعندما قيمة المتغير الأول تساوي المتغير الثاني عليك أن تخرج من Loop الخاص باضافة العناصر الي الليست بوكس
ومن ثم تحسب عدد العناصر التي تم اضافتها الي الليست بوكس وهو يعبر عن الرقم الذي تريده
ملحوظة:
ممكن تستخدم متغير واحد يعبر عن التاريخ و ليس متغيران يعبران عن التاريخ والوقت
حل أخر
ممكن أيضا تستخدم الكلاس StopWatjch بديلا للتاريخ و الوقت
تقوم بتعريف متغير يعبر عن StopWatch ثم تعمل له Start
ثم تبدأ في اصافة العناصر الي الليست بوكس من خلال Loop
وعندما تصل قيمة الثواني في stopwatch الي 30 ثانية عليك ايقافه و الخروج من Loop ثم تحسب عدد العناصر التي تم اضافتها