• 0

كيف أحدّد الصلاة التالية والوقت المتبقي لها؟

أحاول برمجة تطبيق للصلاة بلغة C# ، وجدت هذه الخوارزمية لحساب أوقات الصلاة، ولا أعرف كيف أحدد ما هي الصلاة التالية وكم الوقت المتبقي لها؟

فهل من مساعدة؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 2

لقد أجريت تعديلًا على البرنامج الأساسي الذي يأتي مع هذه الخوارزمية، انظر إلى التعديل التالي الذي يعطيك اسم الصلاة القادمة حسب توقيت مدينة حلب:

class Program
    {
        static void Main(string[] args)
        {
            PrayerTime p = new PrayerTime();
            double lo = 36.202;
            double la = 37.1343;
            int y = 0, m = 0, d = 0, tz = 0;

            DateTime cc = DateTime.Now;
            y = cc.Year;
            m = cc.Month;
            d = cc.Day;
            tz = TimeZone.CurrentTimeZone.GetUtcOffset(new DateTime(y, m, d)).Hours;
            tz = 3;
            String[] s;
            DateTime[] prayerTimes;
            string[] salaNames = { "Fager", "Shorok", "Zuhur", "Asser", "Maghrib", "Maghrib", "Ishaa" };
            int usefullIndex = -1;

            p.setCalcMethod(4);
            p.setAsrMethod(4);
            s = p.getDatePrayerTimes(y, m, d, lo, la, tz);

            prayerTimes = new DateTime[s.Length];

            for (int i = 0; i < s.Length; ++i)
            {
                Console.WriteLine(s[i]);
                prayerTimes[i] = DateTime.Parse(s[i]);
            }
            
            for (int i = 0; i < prayerTimes.Length; ++i)
            {
                var span = cc - prayerTimes[i];

                if(span.TotalHours < 0)
                {
                    usefullIndex = i;
                    break;
                }

            }

            Console.WriteLine("The next Sala is: {0}", salaNames[usefullIndex]);
        }

 

2 اشخاص أعجبوا بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن