الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن التايمر...بليز

بدأه hidi في 4 ديسمبر 2008 · 5 رد · 599 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه

ممكن اعرف كيفية استخدام دالة التايمر لتنفيذ كود برمجي كل ثانية مثلا؟

انا لم استخدم التايمر من قبل في لغة السي بلص بلص

فهل يمكن ذلك؟

#2

السلام عليكــم ورحمـة الله وبركاتــه

هذا مثال يطبع رسالة كل ثانية

  1. #include<iostream>
  2. #include<ctime>
  3. using namespace std;
  4.  
  5. void wait ( int seconds )
  6. {
  7. clock_t endwait;
  8. endwait = clock () + seconds * CLOCKS_PER_SEC ;
  9. while (clock() < endwait) {}
  10. }
  11.  
  12.  
  13.  
  14. int main()
  15. {
  16.  
  17. for(int i=0;i<10;i++)
  18. {
  19. wait(1);
  20. cout<<"Arab team 2000"<<endl;;
  21.  
  22. }
  23.  
  24.  
  25. return 0;
  26. }
  27.  

وهنا للزيادة

tvquran_6.gif

#3

جزاك الله خير اخ فهد

بس ممكن لو شرح بسيط للكود

ولما نفذت الكود يطبع لمدة عشر ثواني وينهي البرنامج

انا بغاه يستمر..

وهل يمكن استخدام اكثر من تايمر بحيث واحد للثواني واحد للدقايق واحد للساعات

في الحقيقة انا سوف استخدم التايمر من اجل الرسم باستخدام مكتبات open gl

فسوف ارسم ساعة واريد تحريكها بالتايمر للثواني وتايمر للدقائق وتايمر للساعات

فياليت لو تشرح لي اكثر كيفية استخدام التايمر

تم تعديل هذه المشاركة بواسطة hidi في 5 ديسمبر 2008 في 14:29

#4
اقتباس
ارسم ساعة واريد تحريكها بالتايمر للثواني وتايمر للدقائق وتايمر للساعات

الدالة الموجودةفي المثال تستطيع تعديلها .

لكن بالنسبة للساعة يكفي ان تقراء كل ثانية الوقت وتاخذ منه الثانية والدقيقة والساعه.

الرابط الذي في نهاية مشاركة رقم 2 يشرح دوال الوقت تصفحه جيدا.

tvquran_6.gif

#5

وان كنت اثقلت عليك

فانا مبتدئة بلغة السي

فياليت تشرح لي الكود الذي في الاعلى

لان الموقع الذي وضعته بالانجليزي

ولك جزيل الشكر

#6
  1. clock_t endwait;
  2. endwait = clock () + seconds * CLOCKS_PE
  3. while (clock() < endwait) {}
  4.  

السطر الاول: عرفت متغير عداد من اجل وضع الوقت الذي اريد توقف الدالة فيه .

السطر الثاني: اخذ العداد الحالي clock() واضيف له العدد seconds * CLOCKS_PE

حيث CLOCKS_PE =1000 بمعني يساوي ثانية واحده.

واذا اردت مثلا خمس ثواني سوف اجعله بالشكل التالي:

endwait = clock () + 5 * CLOCKS_PE

السطر الثالث : يختبر هل وصل الوقت clock الي قيمة العداد endwait .

اذا اردت تسرع الوقت مثلا اقل من ثانية

  1. endwait = clock () + seconds * CLOCKS_PE/10
  2.  

او اقسم 100 سوف يكون اسرع وهكذا

tvquran_6.gif

مواضيع مشابهة