السلام عليكــم ورحمـة الله وبركاتــه
ممكن اعرف كيفية استخدام دالة التايمر لتنفيذ كود برمجي كل ثانية مثلا؟
انا لم استخدم التايمر من قبل في لغة السي بلص بلص
فهل يمكن ذلك؟
السلام عليكــم ورحمـة الله وبركاتــه
ممكن اعرف كيفية استخدام دالة التايمر لتنفيذ كود برمجي كل ثانية مثلا؟
انا لم استخدم التايمر من قبل في لغة السي بلص بلص
فهل يمكن ذلك؟
السلام عليكــم ورحمـة الله وبركاتــه
هذا مثال يطبع رسالة كل ثانية
جزاك الله خير اخ فهد
بس ممكن لو شرح بسيط للكود
ولما نفذت الكود يطبع لمدة عشر ثواني وينهي البرنامج
انا بغاه يستمر..
وهل يمكن استخدام اكثر من تايمر بحيث واحد للثواني واحد للدقايق واحد للساعات
في الحقيقة انا سوف استخدم التايمر من اجل الرسم باستخدام مكتبات open gl
فسوف ارسم ساعة واريد تحريكها بالتايمر للثواني وتايمر للدقائق وتايمر للساعات
فياليت لو تشرح لي اكثر كيفية استخدام التايمر
تم تعديل هذه المشاركة بواسطة hidi في 5 ديسمبر 2008 في 14:29
اقتباسارسم ساعة واريد تحريكها بالتايمر للثواني وتايمر للدقائق وتايمر للساعات
الدالة الموجودةفي المثال تستطيع تعديلها .
لكن بالنسبة للساعة يكفي ان تقراء كل ثانية الوقت وتاخذ منه الثانية والدقيقة والساعه.
الرابط الذي في نهاية مشاركة رقم 2 يشرح دوال الوقت تصفحه جيدا.
وان كنت اثقلت عليك
فانا مبتدئة بلغة السي
فياليت تشرح لي الكود الذي في الاعلى
لان الموقع الذي وضعته بالانجليزي
ولك جزيل الشكر
السطر الاول: عرفت متغير عداد من اجل وضع الوقت الذي اريد توقف الدالة فيه .
السطر الثاني: اخذ العداد الحالي clock() واضيف له العدد seconds * CLOCKS_PE
حيث CLOCKS_PE =1000 بمعني يساوي ثانية واحده.
واذا اردت مثلا خمس ثواني سوف اجعله بالشكل التالي:
endwait = clock () + 5 * CLOCKS_PE
السطر الثالث : يختبر هل وصل الوقت clock الي قيمة العداد endwait .
اذا اردت تسرع الوقت مثلا اقل من ثانية
او اقسم 100 سوف يكون اسرع وهكذا