Wednesday, October 10, 2007

نبذه عن البرنامج

برنامج و ذكر المؤمنين لمواقيت الصلاة والاذكار

الانترنت كلمه جديده في قواميس جميع اللغات ... كلمه مثل باقي الكلمات ولكن تحمل بين طياتها الكثير ... و الكثير من كل شئ و اي شئ .... الانترنت هو عالم واسع و واسع جدا يلفت انظار من يراه و يجذبهم بقوه الي داخله ... حتي اللذين سبقونا و ماتوا من عهد طويل ... اصبحوا احد اطراف هذا العالم ..... الذي ظهر بعدهم ... أمثال اينشتاين الذي تملأ مؤلفاته ألوف الصفحات .


منذ حوالي عده اشهر ماضيه و انا احلم و اتخيل بخيال و احلام اليقظه ...ان اسمع صوت الاذان يرتفع في هذا العالم المبهم ( الانترنت ) كصوت الاذان الذي يعلو و يسمو في سماء القاهرة وقت كل صلاه ً ... شعور رائع .... و لكن ما الطريق لتنفيذ ذلك !!!!!!! لا ادري ؟؟؟ إنها أمنيه بريئة ... مثل أماني كثيرة في نفسي مغلق عليها بأحكام في صندوق امنياتي الكبير ..... رأيت في هذه الفكرة الثواب الكبير اذا تحولت في يوم من الايام من دروب الخيال الي درب حقيقي ملموس ...


لم اصارح احد بهذه الفكرة وقتها الا القليل و القليل جدا ممن اثق فيهم ... حتي لا يأخذها احد غيري ... املاً في أن أجد أنا حل لهذه الفكرة و أنال ثواب كل من بعدي ... حتى لو طوروا عليها سيكتب لي ربي الثواب بإذنه تعالي ... و الحمد لله ... استطعت إيجاد حل للفكرة و اخذ هذا الحل المركز الأول في مسابقه البرمجيات الرمضانية في موقع VB4Arab الذي يشارك فيه مبرمجين عرب من أنحاء الوطن العربي الكبير.... هذا الحل جاء بعد فشل عدد من محاولاتي السابقة ليس بالقليل و لكن حقاً زال الم هذه المحاولات بعد أن انتهت بالنجاح من خلال برنامج "وذكر المؤمنين" ...


البرنامج ببساطه "وذكر المؤمنين" يعتمد علي وجود برنامج الماسنجر ام اس ان الشهير .... لأنه الشئ المشترك بين معظم مستخدمي شبكه الانترنت .... فيقوم بتحويل الرسالة الشخصية ( Personal message) إلي احد الجمل الثلاثة التالية عند وقت الصلاة :
"باقي دقائق علي صلاه - الصلاة الحالية "- ( قبل الصلاة بخمس دقائق ) .


"حان الآن وقت الصلاة حسب التوقيت المحلي لمدينه ... دوله .... "- ( أثناء الأذان ) .


"إن الصلاة كانت علي المؤمنين كتاباً موقوتاً "- ( لمده دقيقه بعد الأذان ) .



ثم تعود الرساله الشخصيه ( Personal message) بعد الرساله الاخير (ان الصلاه كانت علي المؤمنين .... ) الي الرساله السابقه التي كتبها المستخدم قبل الاذان .
البرنامج يقوم بحساب وقت الصلاه لاغلب بلدان و مدن العالم و حسب المذهب و بطرق الحساب المختلفه التي يتم اختيارها من اعدادات البرنامج .
البرنامج مدعم بخاصيه اخري مفيدة و لكنها خارج نطاق فكرة الاذان ... فهو يتيح لك عرض الرسالة الشخصية ( Personal message) بشكل عشوائي كل عشرة ثواني تقريبا من مجموعات و اقسام مختاره سابقاً في البرنامج .... مثلا ممكن ان تختار عرض اذاكر الصباح بشكل عشوائي خلال فترة الصباح ... و مثيلتها مع اذكار المساء ... من الممكن ان تختار مجموعه الاقوال المأثورة للعرض بنفس الطريقه .... ايضاً يمكنك اضافه ذكر لاحد الاقسام و تعديلها او الغاءها و يمكنك اضافه و تعديل قسم جديد ... البرنامج ما زال في وضع النسخه التجريبية Beta version


لذلك فبرجاء إرسال تعليقاتكم و أرائكم علي :


الموقع الالكتروني http://w-zakker.blogspot.com/


هذا البرنامج "وذكر المؤمنين"من تطوير و برمجه أحمد عيسوي


============================================


للمبرمجين فقط :




اجزاء البرنامج:


قبل اي شي هذا البرنامج مفتوح المصدر (open source)... حتي يتثني للجميع التعديل فيه ...او الاضافه او التعلم منه ...


اولاً مواقيت الصلاة:


يعتمد الجزء الخاص بمواقيت الصلاة على بعض المعادلات الرياضية التي يمكن من خلالها تحديد موعد الصلاة بالنسبة لدولة معينة بدقه كتبت لغه السي شارب, باقي العمل في الجزء الخاص بمواقيت الصلاة يعتمد بشكل رئيسي على تحديد Timer حتى يقوم بعرض الرسالة المراد عرضها في الوقت المحدد قبل الاذان وعند الاذان وبعده وكل هذا لتذكر المستخدم وجميع اصدقائه بالصلاة.


ثانياً الأذكار:


يعتمد الجزء الخاص بالأذكار على قاعدة بيانات تحتوي على العديد من الاذكار والحكم وغيرها مع امكانية الاضافة لها , وهذه الاذكار والحكم مقسمة إلى اقسام لسهولة التحكم بالعرض مثل ( اذكار , حكم , امثال , ....) مع امكانية اضافة ذكر تحت اي قسم منها او انشاء قسم جديد , بعد هذا يأتي دور واجة الاستخدام التي تتيح للمستخدم استغلال قاعدة البيانات والأضافة لها او التعديل فيها , وايضاً تحيد الاقسام التي يرغب في ان تعرض منها رسالته الشخصية والفترة بين الرسالة والاخرى.


الدوال الاساسيه :


تم تقسيم البرنامج علي عدده طبقات (Layers) سوف اقوم هنا بسرد اهم ما فيهم من Functions :



القراءه من الريجستري :


static


string
ReadValueR(string name)


لقراءه التفاصيل class RegistryLayer



الكتابه في الريجستري :


static void WriteValueR(string name, string value)


لقراءه التفاصيل class RegistryLayer




الحصول علي جميع الدول المدونه في ملف ال XML


public ArrayList getCountries()


لقراءه التفاصيل class TimingSetting






ارسال رساله شخصيه للماسنجر


public void start(string p_txt)


لقراءه التفاصيل class MSN_P_MSG



لاسترجاع الرساله الشخصيه للماسنجر و ايقاف رسائل البرنامج


public void stop()


لقراءه التفاصيل class MSN_P_MSG



لتحويل الزمن الي دقائق فقط


private int getMinutes(TimeSpan time)


لقراءه التفاصيل


class Form1



لحساب وقت الصلوات مع الشروق


TPrayerTime getPrayingTimes()


لقراءه التفاصيل class Form1



للحصول علي الصلاه القادمه بعد الصلاه الحاليه :


private NearestPray getNearsetPray()


لقراءه التفاصيل class Form1



للحصول الصلاه السابقه قبل الصلاه الحاليه :


private int getPreviousPray(int current)



لقراءه التفاصيل class Form1



للحصول علي ذكر عشوائي بالاعتماد علي المجموعه المختاره


private void setZekr()


لقراءه التفاصيل class Form1



لتحويل الرقم من النوع Double الي وقت


private DateTime FormatDoubleToTime(double dec)


لقراءه التفاصيل class TprayerTime







لتحويل الرقم من النوع Double الي وقت


private DateTime FormatDoubleToTime(double dec)


لقراءه التفاصيل class TPrayerTime




البرنامج غني جداً بال Functions الهامه التي تخدم توقيتات الصلاه و لكن لضيق الوقت سوف اكتفي بهذا ...


هذه النسخه من البرنامج حتي الان بيتا Beta و ما زال البرنامج تحت التطوير .