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

سؤال في مشروع عن اوقات الصلاة

بدأه mdf في 6 يوليو 2011 · 20 رد · 2,152 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

timesalat.rarالسلام عليكم ورحمة الله وبركاته.......لدي مشروع لمواقيت الصلاة ....وأخذت المعادلاة من احدى البرامج وهي نفس المعادلات الموجوده في هذا الرابط http://qasweb.org/qasforum/index.php?showtopic=177 ...لكن لا اعرف كيف استفيد من المعادلة ......يعني اخرج اوقات الصلاة على الفورم......؟ والباقي على الصلاة الفجر 2 ساعة مثلاً؟ المشروع في المرفقات

البرنامج الذي أخذت منه المعادلات

http://www.4shared.com/file/_LwZMRaW/Watch.html

تم تعديل هذه المشاركة بواسطة mdf في 6 يوليو 2011 في 02:29

#2

هل أوضح اكثر من هيك

#3

اخي يجب اولا توضيح طريقة التصميم .. هل هي طريقة ساعة رقمية يقل الوقت كلما اقترب من موعد الصلاة ؟

مثلا ينبه الى صلاة الظهر اذا كانت هي الاقرب .. وبعدها الى العصر وهكذا .؟؟

ام تريد ان تعرض كل الاوقات مرة واحدة ؟؟

قرأت المعادلات وهي ليست بالصعبة مجرد كتابة وتطبيق .. ابدأ بها من اول معادله لانه حسب ماواضح ان الثانية تعتمد على الاولى .. والثالثة على الثانية وهكذا ..

عملية عرضها على الفورم بسيطه ..

مثلا اول معادلة لاستخراج D .. بعد ان تنفذها .. اعرضها علىLabel

Label1.Text = D ;

وبالنسبة للمتغيرات Y ,M , d اليوم والشهر والسنة المطلوبة في اول معادلة يمكنك اخذها من كلاس DateTime .. حيث يوفر الكثير من الدوال والمتغيرات الخاصة بالتواريخ ..

مثلا ..

  string date = DateTime.Now.Date.ToString() ;
            int D = int.Parse(DateTime.Now.Date.Day.ToString());
            int Y = int.Parse(DateTime.Now.Date.Year.ToString());
            int M = int.Parse(DateTime.Now.Date.Month .ToString());


           MessageBox.Show(M.ToString() + "/" + Y.ToString());

الكود البسيط اعلاه يقوم بتعريف متغير date على انه سلسلة نصية تخدمك في تعريف التاريخ .. لكن من الممكن ان تستغني عنها لانني اردت فقط ان اظهر لك كيف يمكن ان تعرف متغير التاريخ .

المتغيرات الثلاثة المتبقية هي عبارة عن متغيرات اليوم والسنة والشهر .. والتي تحتاجها في معادلتك الاولى ..

لكن هنا لا تنسى شئ .. السي شارب حساسة جدا من ناحية الـ DataType .. يعني اول ما يبدأ الصنف DateTime بالعمل .. فانه يحتاج ان يحول من صيغته String الى int لكي تستطيع التعامل معه رياضيا وتطبيق المعادلات .. لذلك لديك اعلاه المتغيرات الثلاثة محولة بالطريقة الكاملة ..اعتمد عليها كما هي ..

لكن عندما تكتمل المعادلة مثلا .. تقوم بطباعتها او عرضها .. يجب ان ترجعها الى نوعها الاصلي وهو String .. كما مبين ايضا في نهاية الكود ..

اقرأ هذه الاشياء وطبق المعادلات عليها .. وان شاءلله تستفيد منها جيدا ..

تحياتي العطرة لك ....

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#4
سنان محمد صالح كتب:

اخي يجب اولا توضيح طريقة التصميم .. هل هي طريقة ساعة رقمية يقل الوقت كلما اقترب من موعد الصلاة ؟

مثلا ينبه الى صلاة الظهر اذا كانت هي الاقرب .. وبعدها الى العصر وهكذا .؟؟

ام تريد ان تعرض كل الاوقات مرة واحدة ؟؟

قرأت المعادلات وهي ليست بالصعبة مجرد كتابة وتطبيق .. ابدأ بها من اول معادله لانه حسب ماواضح ان الثانية تعتمد على الاولى .. والثالثة على الثانية وهكذا ..

عملية عرضها على الفورم بسيطه ..

مثلا اول معادلة لاستخراج D .. بعد ان تنفذها .. اعرضها علىLabel

Label1.Text = D ;

وبالنسبة للمتغيرات Y ,M , d اليوم والشهر والسنة المطلوبة في اول معادلة يمكنك اخذها من كلاس DateTime .. حيث يوفر الكثير من الدوال والمتغيرات الخاصة بالتواريخ ..

مثلا ..

  string date = DateTime.Now.Date.ToString() ;
            int D = int.Parse(DateTime.Now.Date.Day.ToString());
            int Y = int.Parse(DateTime.Now.Date.Year.ToString());
            int M = int.Parse(DateTime.Now.Date.Month .ToString());


           MessageBox.Show(M.ToString() + "/" + Y.ToString());

الكود البسيط اعلاه يقوم بتعريف متغير date على انه سلسلة نصية تخدمك في تعريف التاريخ .. لكن من الممكن ان تستغني عنها لانني اردت فقط ان اظهر لك كيف يمكن ان تعرف متغير التاريخ .

المتغيرات الثلاثة المتبقية هي عبارة عن متغيرات اليوم والسنة والشهر .. والتي تحتاجها في معادلتك الاولى ..

لكن هنا لا تنسى شئ .. السي شارب حساسة جدا من ناحية الـ DataType .. يعني اول ما يبدأ الصنف DateTime بالعمل .. فانه يحتاج ان يحول من صيغته String الى int لكي تستطيع التعامل معه رياضيا وتطبيق المعادلات .. لذلك لديك اعلاه المتغيرات الثلاثة محولة بالطريقة الكاملة ..اعتمد عليها كما هي ..

لكن عندما تكتمل المعادلة مثلا .. تقوم بطباعتها او عرضها .. يجب ان ترجعها الى نوعها الاصلي وهو String .. كما مبين ايضا في نهاية الكود ..

اقرأ هذه الاشياء وطبق المعادلات عليها .. وان شاءلله تستفيد منها جيدا ..

تحياتي العطرة لك ....

مشاء الله عليك تفاعل طيب منك ........

لكن الذي اقصد في الاول هو طباعة الاوقات وزمن اوقات الاذان فيها.....مشروع في المرفقات //attachment/119087....وهو نفس المعادلات التي في الروابط .....لكن أختصار على نفس والابتعداد عن الاخطا مثل وضع الاقواس .....استعنت بمعدلات احدى المشاريع.......لكن هناك كود لم افهمه جيداً وهو في الاسفل

//Esha_Time = Sun_Set + 1.5 || Esha_Time = Sun_Set + 2.0; 
            if (EshaMethod == 0) if (!isRAMADHAN)  Esha_Time = Sun_Set + 1.5F;
                else Esha_Time = Sun_Set + 2.0F;

تم تعديل هذه المشاركة بواسطة mdf في 9 يوليو 2011 في 01:11

#5
mdf كتب:

مشاء الله عليك تفاعل طيب منك ........

لكن الذي اقصد في الاول هو طباعة الاوقات وزمن اوقات الاذان فيها.....مشروع في المرفقات //attachment/119087....وهو نفس المعادلات التي في الروابط .....لكن أختصار على نفس والابتعداد عن الاخطا مثل وضع الاقواس .....استعنت بمعدلات احدى المشاريع.......لكن هناك كود لم افهمه جيداً وهو في الاسفل

//Esha_Time = Sun_Set + 1.5 || Esha_Time = Sun_Set + 2.0; 
            if (EshaMethod == 0) if (!isRAMADHAN)  Esha_Time = Sun_Set + 1.5F;
                else Esha_Time = Sun_Set + 2.0F;

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

#6
System Down كتب:

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

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

تم تعديل هذه المشاركة بواسطة mdf في 11 يوليو 2011 في 00:34

#7

اخي العزيز اقترح عليك ان تبدأ بالعمل بالتواقيت بابسبط صورة ..

يعني تبدأ بالصلوات بشكلها الاعتيادي وتترك الحالات الخاصة في رمضان او غير شهر رمضان ..

وعندها اي مشكلة تواجهك يصبح حلها ممكنا اكثر ..

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

للك ابدأ بتطبيق المعادلات البسيطة .. ابدأ بتجهيز الاذان مثلا .. تعلم كيف تصمم مؤقت بسيط قبل ان تصمم مؤقت للصلاة .. يعني برنامج مؤقت يرن عن وقت يتم تحديده من قبل المستخدم ومستقبلا من الممكن ان تدمجه مع برنامجك المطلوب كخدمة اضافية ..

بعدها ستجد نفسك قادر اكثر على ترتيب المعادلات وفهمها ..

تحياتي العطرة ...

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#8
سنان محمد صالح كتب:

اخي العزيز اقترح عليك ان تبدأ بالعمل بالتواقيت بابسبط صورة ..

يعني تبدأ بالصلوات بشكلها الاعتيادي وتترك الحالات الخاصة في رمضان او غير شهر رمضان ..

وعندها اي مشكلة تواجهك يصبح حلها ممكنا اكثر ..

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

للك ابدأ بتطبيق المعادلات البسيطة .. ابدأ بتجهيز الاذان مثلا .. تعلم كيف تصمم مؤقت بسيط قبل ان تصمم مؤقت للصلاة .. يعني برنامج مؤقت يرن عن وقت يتم تحديده من قبل المستخدم ومستقبلا من الممكن ان تدمجه مع برنامجك المطلوب كخدمة اضافية ..

بعدها ستجد نفسك قادر اكثر على ترتيب المعادلات وفهمها ..

تحياتي العطرة ...

أخي ابو محمد المشكله ليست كذا .....الكود المذكور هو سبب مشكله يعني فيه خطأ لا اعرف من اين اتى (!isRAMADHAN)بعد ماتفتح المشروع راح يقول خطأ سويت تجاهل له زي ماقلت اصبح الكود معتمد عليه فيه بعض الحسابات.

//Esha_Time = Sun_Set + 1.5 || Esha_Time = Sun_Set + 2.0; 
            if (EshaMethod == 0) if (!isRAMADHAN)  Esha_Time = Sun_Set + 1.5F;
                else Esha_Time = Sun_Set + 2.0F;

اما برنامج مؤقت هذا سبق ان عملته باللغة vb.net يعمل تحديث رفرش...........لكن البرنامج هذا مجنني لا نافع كذا ولا نافع كذا لي ساعتان وان احاول فيه......وانا طريقتي وهي المتغييرات لمنطقه ما public static double Long=2121, Lat=1111, Zone=3; اساس اشوف المعادلات إذا كانت ممتازة .....ندخل على قواعد البيانات xml ابسط

لكن تكفى يا سنان مساعدتك....انا زهكت

#9
mdf كتب:

أخي ابو محمد المشكله ليست كذا .....الكود المذكور هو سبب مشكله يعني فيه خطأ لا اعرف من اين اتى (!isRAMADHAN)بعد ماتفتح المشروع راح يقول خطأ سويت تجاهل له زي ماقلت اصبح الكود معتمد عليه فيه بعض الحسابات.

كان عليك قول هذا من البداية! :lol:

ما هو الخطأ الذي يظهر لك؟ وإذا لم تكن تعرف من أين أتت isRamadan فقم بعملية Find All لتجد جميع الأماكن التي ذكرت فيها.

#10
System Down كتب:

كان عليك قول هذا من البداية! :lol:

ما هو الخطأ الذي يظهر لك؟ وإذا لم تكن تعرف من أين أتت isRamadan فقم بعملية Find All لتجد جميع الأماكن التي ذكرت فيها.

يااخي اقرأ الموضوع في الاول......لكن ابو محمد رد علي بمشاركتة ......لكن طلعت الخطاً من هذا الموضوع.......

لكن من ثلاث ايام وانا احاول جاهداً في اخراج النتائج....لكن دون جدوء.....

منتظر ردك يا ابومحمد

#11

ابو محمد هههههههههههههههههههههههههه

والله اضحكتني ...

محمد هو اسم الجد ..

طيب ...

قرأت الكود وهو نوعا ما صحيح .. لكن العين ليست كومبايلر ..

ارسل المشروع لي لكي اقرأه قليلا وارى اين النقص لربما نه ليس معرف او هنالك مشكلة لم تنتبه لها انت ...

منتظرك ردك يا ابو mdf هههههههههههه

سأترك الرد السابق واتاسف لك طبعا

لم انتبه الى انك قد وضعت البرنامج في ردك الاول اسف العتب على النظر

والومك ايضا لانك وضعته في بداية الرد .. الان لا اعرف كيف انتبهت له ..

ساحاول قراءته وارى ما المشكلة ..

تحياتي العطرة ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#12

اخي العزيز قرأت الكود وهو بسبط نوعا ما .. المشكلة كما توقعتها سابقا .. المشكلة هي انك تستخدم متغير الاختبار هل هو شهر رمضان لكن من دون تعريف هذا المتغير مسبقا ..

IsRamdan = True Or False

..

لذلك من الممكن ان تعيد تعريفه لكن المشكلة التي هي ليست بالتعريف .. هي كيف ستجعله يعرف اذا كان رمضان اولا ..

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

 bool isRAMADHAN = true;
            if (EshaMethod == 0)
                if (!isRAMADHAN)
                    Esha_Time = Sun_Set + 1.5F;

                else
                    Esha_Time = Sun_Set + 2.0F;

شاهد اول سطر عرفت المتغير على انه من النوع البولياني الذي يقبل الصح والخطأ وافترضت انه صح من البداية لماذا ؟؟ ..

لان الشرط الاساسي ( لم اعدل عليه ) يفترض اذا لم يكون رمضان يستعمل معدلة الجمع مع 1.5 ... والدليل استخدم ! التي تعني النفي ..

IF (!isRamad)  

// True will Be False 
// False Will Be True

يمكنك عكسها في البداية صح او خطأ حسب ميكيانيكية البرنامج ..

الان المشكلة محلوله برمجيا ان شاءلله .. لكن بقي عليك شئ .. وهو كيف يمكن ان تعرف ان اليوم هو يوم ليس من اشهر رمضان الكريم حتى يكون هذا المتغير False ...

فكر في ذلك ..

تحياتي العطرة .. وابو محمد بالخدمة ..

تم تعديل هذه المشاركة بواسطة سنان محمد صالح في 12 يوليو 2011 في 22:07

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#13
سنان محمد صالح كتب:

ابو محمد هههههههههههههههههههههههههه

والله اضحكتني ...

محمد هو اسم الجد ..

طيب ...

قرأت الكود وهو نوعا ما صحيح .. لكن العين ليست كومبايلر ..

ارسل المشروع لي لكي اقرأه قليلا وارى اين النقص لربما نه ليس معرف او هنالك مشكلة لم تنتبه لها انت ...

منتظرك ردك يا ابو mdf هههههههههههه

سأترك الرد السابق واتاسف لك طبعا

لم انتبه الى انك قد وضعت البرنامج في ردك الاول اسف العتب على النظر

والومك ايضا لانك وضعته في بداية الرد .. الان لا اعرف كيف انتبهت له ..

ساحاول قراءته وارى ما المشكلة ..

تحياتي العطرة ..

أليس محمد هو الوالد و صالح هو الجد......يبدو انك تستخدم معادلات

سنان محمد صالح كتب:

اخي العزيز قرأت الكود وهو بسبط نوعا ما .. المشكلة كما توقعتها سابقا .. المشكلة هي انك تستخدم متغير الاختبار هل هو شهر رمضان لكن من دون تعريف هذا المتغير مسبقا ..

IsRamdan = True Or False

..

لذلك من الممكن ان تعيد تعريفه لكن المشكلة التي هي ليست بالتعريف .. هي كيف ستجعله يعرف اذا كان رمضان اولا ..

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

 bool isRAMADHAN = true;
            if (EshaMethod == 0)
                if (!isRAMADHAN)
                    Esha_Time = Sun_Set + 1.5F;

                else
                    Esha_Time = Sun_Set + 2.0F;

شاهد اول سطر عرفت المتغير على انه من النوع البولياني الذي يقبل الصح والخطأ وافترضت انه صح من البداية لماذا ؟؟ ..

لان الشرط الاساسي ( لم اعدل عليه ) يفترض اذا لم يكون رمضان يستعمل معدلة الجمع مع 1.5 ... والدليل استخدم ! التي تعني النفي ..

IF (!isRamad)  

// True will Be False 
// False Will Be True

يمكنك عكسها في البداية صح او خطأ حسب ميكيانيكية البرنامج ..

الان المشكلة محلوله برمجيا ان شاءلله .. لكن بقي عليك شئ .. وهو كيف يمكن ان تعرف ان اليوم هو يوم ليس من اشهر رمضان الكريم حتى يكون هذا المتغير False ...

فكر في ذلك ..

تحياتي العطرة .. وابو محمد بالخدمة ..

راح ابدا الان بشكل متدرج.......المعادلة هي نفس المعادلة من نفس الموقع هذا http://qasweb.org/qasforum/index.php?showtopic=177 .....ممتاز لكن بزيادة الكود الذي يعرف عن رمضان

//Esha_Time = Sun_Set + 1.5 || Esha_Time = Sun_Set + 2.0;  
            if (EshaMethod == 0) if (!isRAMADHAN)  Esha_Time = Sun_Set + 1.5F; 
                else Esha_Time = Sun_Set + 2.0F;

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

البرنامج الذي أخذت منه المعادلة......أرجو تنزيله اساس يتضح الامور

http://www.4shared.com/file/_LwZMRaW/Watch.html

واسف على الاطاله.....

تم تعديل هذه المشاركة بواسطة mdf في 13 يوليو 2011 في 00:21

#14

lاسمي الكامل سنان قحطان محمد صالح ..

بالنسبة لشرحك الصراحة اطلعت عليه لكن لم افهمه جيدا .. انت البرنامج عندك الان طبيعي ..

الصراحة انا لااعرف بالفروقات بين تقويم ام القرى ان الاخريات او الفرق بين اليوم المحول من الميلادي الى الجولياني .........

انت فكر بطريقة التحويل .. او تستطيع بداية ان تكمل نسخة اعتيادية من دون شرط شهر رمضان ...

بعدها اضف هذه الطريقة بمعادلة خاصة بك كما تفهمها .. ليس من الضروري ان تبقى على نفس الطريقة التي اتبعها غيرك

تحياتي العطرة ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#15
سنان محمد صالح كتب:

lاسمي الكامل سنان قحطان محمد صالح ..

بالنسبة لشرحك الصراحة اطلعت عليه لكن لم افهمه جيدا .. انت البرنامج عندك الان طبيعي ..

الصراحة انا لااعرف بالفروقات بين تقويم ام القرى ان الاخريات او الفرق بين اليوم المحول من الميلادي الى الجولياني .........

انت فكر بطريقة التحويل .. او تستطيع بداية ان تكمل نسخة اعتيادية من دون شرط شهر رمضان ...

بعدها اضف هذه الطريقة بمعادلة خاصة بك كما تفهمها .. ليس من الضروري ان تبقى على نفس الطريقة التي اتبعها غيرك

تحياتي العطرة ..

أنا حاولت التعديل على الكود في الفورم وحدث مشكلة لا اعلم ماسبب؟

في المرفقاتtimesalat.rar

#16

منتظر.....ردودكم

#17

مازلت منتظر

#18

على فكرة المشروع موجود في المرفقات ....اريد معرفة سبب الخطأ

#19

أنا حاولت التعديل على الكود في الفورم وحدث مشكلة لا اعلم ماسبب؟

في المرفقات //attachment/119514

#20
mdf كتب:

أنا حاولت التعديل على الكود في الفورم وحدث مشكلة لا اعلم ماسبب؟

في المرفقات //attachment/119514

الشهر عليكم مبارك

ومنتظر حل المشكله

#21

اسف يا اخي كنت قد نسيت الموضوع ..

لكن ماهي مشكلتك بالضبط ممكن تكتبها من دون تحميل لربما اصبحت اوضح ؟؟

لانني حملت من مشروعك اكثر من نسخة وتاهت الامور عندي ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…