تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] مشكلة في Timer
#1
السلام عليكم ورحمة الله وبركاته
قمت بعمل Timer تنازلي يبدأ من الدقيقة 15 وينتهي عند 0 والتايمر شغال بشكل جيد لكن عندي مشكلة وهي عند خروجي من البرنامج والعودة مرة أخرى أجد التايمر يبدأ من جديد .
أريد أن يستمر التايمر بالعمل حتى بعد خروجي من البرنامج .

يعني لو كان التايمر على الدقيقة ( 11 ) وخرجت من البرنامج ورجعت بعد 5 دقائق يكون التايمر على ( 6 ) .

وشكرا لكم
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته
سؤالى لك حتى توضح ما تطلبه اخر الكريم
هل يمكنك قطع الكهرباء عن الكمبيوتر اثناء عمل موناج كمثال لفيديو
وعند عودتك فيما بعد وتشغيل الجهاز تجد ان الفيديو الذى كان يعمل منتاج انتى منه وجاهز للاستخدام ؟؟

الامر ينطبق هنا لنفس الامر المطلوب كيف سيعمل التايمر والعمل حيث ان البرنامج مغلق
لاتمام الامر هو وضع البرنامج فى وضع الاخفاء وليس الاغلاق مثل عند اغلاق البرنامج
ينزل للاسفل بجانب الساعة فيكون البرنامج يعمل لكن بدون رؤية على الشاشة وعد فتح البرنامج من جاب الساعة
تجد ما تتحدث عنه اتم كمثل برامج الحماية وما شبه
الرد }}}
تم الشكر بواسطة:
#3
شكرا لك اخي
لكن في بعض الالعاب لمن تنتهي جميع محاولاتك ما يسمح لك باللعب مرة اخرى الا بعد مثلا 30 دقيقة ويضع تايمر يستمر في العمل حتى بعد الخروج من اللعبة نهائيا

اللي فهمته من اجابتك انه لا يمكن للتايمر العمل بعد الخروج من البرنامج
الرد }}}
تم الشكر بواسطة:
#4
و عليكم السلام و رحمة الله و بركاته

يمكنك تخزين قيمة الفترة في إعدادات البرنامج أو في سجل ويندوز (الريجيستري)

المثال في المرفقات

.rar   Static Timer.rar (الحجم : 13.98 ك ب / التحميلات : 12)


(16-06-20, 08:32 PM)ASUS2020 كتب : شكرا لك اخي
لكن في بعض الالعاب لمن تنتهي جميع محاولاتك ما يسمح لك باللعب مرة اخرى الا بعد مثلا 30 دقيقة ويضع تايمر يستمر في العمل حتى بعد الخروج من اللعبة نهائيا

اللي فهمته من اجابتك انه لا يمكن للتايمر العمل بعد الخروج من البرنامج

في هذه الحالة يتم تخزين وقت بدء اللعب في الريجيستري في ألعاب الجهاز
أما الألعاب عبر الشبكة يتم تخزين الوقت على السيرفر
و عند متابعة اللعب يتم طرح الوقت من الوقت الحالي
الرد }}}
تم الشكر بواسطة:
#5
استاذ محمد
الله يرفع قدرك ويزيدك من فضله
شكرا لك على المساعدة
الكود حاولت أعدل عليه لكن لم تنجح محاولاتي
الا يوجد حل اخر
الرد }}}
تم الشكر بواسطة: Mohamad Anan
#6
السلام عليكم و رحمة الله و بركاته

في حدث form closing
قم بتخزين الوقت الحالي في قاعدة البيانات

و عند بدء البرنامج مرة أخرى، قم بطرح الوقت المخزن بقاعدة البيانات من الوقت الحالي و و استخدم الفارق في تحديد مدة ال timer المتبقية عن طريق الكود 

كمثال: مدة التايمر 20 دقيقة
عند طرح الوقت المخزن من الوقت الحالي = 7 دقائق 
اذن المتبقي 13 دقيقة و بالتالي timer1.interval = 13*60*1000


عند فتح البرنامج مرة أخرى نضع هذا الكود في حدث form load
dim x t1 as date = datetimepicker1.value    (فرضا بأنك تعرض وقت الاغلاق في datetimepicker1) 
dim x as integer = DateDiff(DateInterval.Minute, DateTimePicker1.Value, Date.Now)
dim y as integer = 20 - x (القيمة 20 هي قيمة وقت التايمر كمثال)
timer1.interval = y*60*1000



ملحوظة: كتبت الاكواد من الذاكرة فقط لأشرح فكرة، فاعذرني لو كان هناك خطأ في الكتابة
الرد }}}
تم الشكر بواسطة:
#7
(17-06-20, 07:13 AM)ASUS2020 كتب : استاذ محمد
الله يرفع قدرك ويزيدك من فضله
شكرا لك على المساعدة
الكود حاولت أعدل عليه لكن لم تنجح محاولاتي
الا يوجد حل اخر

يمكنك تخزين وقت البدء في إعدادات البرنامج

المثال في المرفقات


.rar   Static Timer 2.rar (الحجم : 14.69 ك ب / التحميلات : 5)
الرد }}}
تم الشكر بواسطة:



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


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