|
أخى الكريم بالنسبة للمشاريع الأخرى من فضلك انتظرنى حتى اتاحة الفرصة لى من حيث الوقت لأنى فى عملى حاليا وهذا سيحتاج لبعض الوقت
|
أتمنى أن يرزقك الله الوقت وأن يعينك على ذلك .. ونحن في انتظارك ..
------------------------------------------------------------------------------
===========================================
بالنسبة للكود الذي كتبته لدي الكثير من التعليقات عليه ::
1- أولا وكما ذكرت فإنه من الأفضل استخدام تقنية المقاطعة مع السويتشات حتى نوفر الكثير من الأوامر .. ونجعل الكود أكثر بساطة ولا نكون مجبرين على تكرار عملية الاختبار باستمرار .
===========================================
2- عندما رأيت الكود الذي كتبته أخي وليد فوجئت بهذاالعدد الرهيب من جمل IF ..
لقد استخدمت 66 جملة IF في مشروعك ..
وكما يقول خبراء البرمجة أن استخدام عدد كبير من الجمل الشرطية مثل جمل iF يعتبر عيب خطير في الكود ويجب بقدر الإمكان الإقلال منه ..
فإن قلة عدده يدل على احتراف المبرمج .. أخي الكريم هذا المشروع لا يحتاج إلى هذا العدد الكبير من جمل IF فربما لإنجاز مثل هذا المشروع نحتاج فقط لحوالي من 10 إلى 13 جملة IF فقط .
===========================================
3- الملحوظة الثالثة : : أهم ميزة لابد أن تكون في برنامج الساعة هي الدقة ولكنك تقول : :
|
ستجد نسبة خطأ فى الدقة لكن صغير حوالى كل 20 دقيقة تقريبا خطأ عدة ثوانى تأخير أو تقديم
|
لو افترضنا أن هذا الكلام صحيح .. فهذه دقة سيئة .. لماذا ؟؟ لأنه في الساعة الواحدة سيكون هناك نسبة خطأ 3 ثواني .. وفي اليوم الواحد ستكون نسبة الخطأ حوالي 72 ثانية وفي الشهر الواحد ستكون نسبة الخطأ 36 دقيقة أي أنه في السنة ستكون نسبة الخطأ حوالي سبع ساعات (7.2) وهذا رقم ضخم ..
هذا طبعا لن يكون هوه وحده نسبة الخطأ .. فهناك عوامل أخرى فمثلا الكريستال يوجد به نسبة خطأ ... كما أنه هناك زمن تنفيذ الأوامر فكل أمر سيحتاج لوقت معين لتنفيذه هذا أيضا سيجعل نسبة الخطأ تزداد وتزداد .
وإن عملية حساب زمن تنفيذ الأوامر عملية معقدة وليست سهلة خصوصا في اللغات الحديثة مثل لغة البيزك ولغة السي .. ونفرض جدلاً أننا استطعنا حساب زمن تنفيذ الأوامر ( وسنعدل في زمن الديلاي ليتماشى مع ذلك ) فستواجهنا مشكلة أكبر وهو أننا لن نستطيع معرفة ما سينفذه البك بالضبط من أوامر نظراً لوجود جمل IF الكثيرة فربما ينفذ البك ما بداخل هذه الجملة وبالتالي سيستغرق زمنا قدره كذا وكذا .. وربما لا ينفذ جملة iF تلك فربما تتحقق وربما لا يتحقق الشرط .. إذن سنخدل في عمليات معقدة جداً جداً ..
لذلك لابد من استخدام تقنيات أخرى في عملية التوقيت .
يتبع إن شاء الله.. الآن أنا منتظر ردك .
============================================
وفقنا الله جميعا لما يحب ويرضى ورزقنا وإياكم العلم النافع والعمل الصالح
والسلام عليكم ورحمة الله وبركاته .