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

كيف يمكنني معرفة عدد أيام الشهر الهجري

بدأه أبورنه في 4 أكتوبر 2008 · 7 رد · 2,982 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ..

بحث في المنتدى ولم أجد موضوع مشابه على حد بحثي ..

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

/index.php?showtopic=32296

لذلك سألت مرة أخرى

:lol:

ومحتاجه ضروري جزاكم الله خير ...

#2

السلام عليكم ورحمة الله

الكود المطلوب هو :

	Dim MYYear As Integer
	Dim MYMonth As Integer

	Dim TMP1Date As Date
	Dim TMP2Date As Date

	Calendar = vbCalHijri

	MYYear = Year(Date)
	MYMonth = Month(Date)

	TMP1Date = DateSerial(MYYear, MYMonth, 1)
	TMP2Date = DateAdd("D", -1, DateAdd("M", 1, TMP1Date))

	MsgBox DateDiff("D", TMP1Date, TMP2Date) + 1

مع العلم أنه بهذا سيتم تغيير التقويم في برنامجك كله إلى الهجري .. وإن أردت تغييره الى الميلادي قم بوضع هذا السطر أسفل الكود السابق

	Calendar = vbCalGreg

لكن برده إتأكد منه لإنه بيطلعلي رمضان كل سنه 30 يوم.

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

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#3

آسف على التأخير ..

ولكن الكود فيه مشكلة ..

الحساب غير مضبوط ..

وياليت أنت أو أحد الأخوان يساعدني وشكراً ...

وجزاكم الله خير ...

#4

لو تكرمت ذكر مكان الخلل بالظبط أو ذكر مثال يوضح نتيجة خطأ وما هي النتيجة المطلوبة

وإسمحلي يا أخي كلمة الحساب غير مظبوط وحدها لا تكفي بالنسبة لي على الأقل .. لأني لو لاحظت الخلل كنت عالجته قبل إعتماد الرد السابق

وتقبل تحياتي

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

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#5

انظر هذا الموضوع

/index.ph...t=0#entry891194

#6
أبورنه كتب:
ولكن وجدت هذا الموضوع وغريبة أن المشرفين قاموا بإقفاله مع إن الإجابة كانت خاطئة ...

/index.php?showtopic=32296

المواضيع القديمة يتم إغلاقها تلقائيًا ..

سبحان الله وبحمده ... سبحان الله العظيم

#7

أقصد ان الحساب غير صحيح

شاهدت التقويم وقمت بالمقارنه ...

ليس صحيح حسابه لعدد الأيام يعني بعض الأشهر عددها يختلف عن ماهو موجود في التقويم

حتى انك كتبت (لكن برده إتأكد منه لإنه بيطلعلي رمضان كل سنه 30 يوم)

فأنت عارف ان هناك مشكلة

ألا يوجد كود دقيق

اقتباس
المواضيع القديمة يتم إغلاقها تلقائيًا ..

مشكور اخوي ليس لدي علم بذلك ..

احسب انكم تقفولن المواضيع انتم وليس تلقائي ..

#8

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

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


GetHijriMonthDiff 1429, 11
End Sub
Public Function GetHijriMonthDiff(ByVal hYear As Long, ByVal hMonth As Long)
Dim MinDate As Date
Dim MaxDate As Date
Dim TMPCalendar As VbCalendar

TMPCalendar = Calendar

Calendar = vbCalHijri

MinDate = DateSerial(hYear, hMonth, 1)
MaxDate = DateAdd("D", -1, DateAdd("M", 1, MinDate))

Calendar = vbCalGreg

MsgBox MinDate & vbNewLine & MaxDate, , DateDiff("D", MinDate, MaxDate) + 1

Calendar = TMPCalendar
End Function
Private Sub Form_Load()

وبعد تجريب الكود بدقه أكتر إكتشفت انه الكود بيطلع الشهور .. واحد 30 واللى بعده 29 واللى بعده 30 وهكذا

والحقيقة بتكون انه ممكن يكونوا شهرين 30 وراء بعض او 29 وراء بعض

من وجهة نظري انه مش هينفع إطلاقا المطلب ده والا كانوا لغوا رؤية الهلال كل شهر

الموضوع بقى متعلق بعلم الغيب دلوقتى :wacko:

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

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

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

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

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

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

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