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

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

مغلق
بدأه MSVS في 24 فبراير 2007 · 6 رد · 4,014 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كثيراً ما نشتكى مشاكل التاريخ الهجري و الميلادي .

استخدمت فئات مثل CultureInfo :


Public Function HijjryDate(ByVal gDate As Date, Optional ByVal format As String = Nothing) As String

Return gDate.ToString(format, New Globalization.CultureInfo("ar-SA"))

End Function

Public Function GregorianDate(ByVal gDate As Date, Optional ByVal format As String = Nothing) As String

Return gDate.ToString(format, New Globalization.CultureInfo("ar-eg"))

End Function

ولم تكن منضبطة

و استخدمت الفئة UmAlQuraCalendar و الفئة GregorianCalendar :



Dim hijFull As String

Dim umq As New System.Globalization.UmAlQuraCalendar
Dim hijDay As Integer = umq.GetDayOfMonth(strDate)
Dim hijMonth As Integer = umq.GetMonth(strDate)
Dim hijYear As Integer = umq.GetYear(strDate)
hijFull = CheckDigit(hijDay.ToString) + "/" + CheckDigit(hijMonth.ToString) + "/" + hijYear.ToString
Return (hijFull)

End Function

Public Function UmAlQuraToGregorian(ByVal strDate As String) As String

Dim grg As New System.Globalization.GregorianCalendar
Dim grgDay As Integer = grg.GetDayOfMonth(strDate)
Dim grgMonth As Integer = grg.GetMonth(strDate)
Dim grgYear As Integer = grg.GetYear(strDate)
Dim grgFull As String = CheckDigit(grgDay.ToString) + "/" + CheckDigit(grgMonth.ToString) + "/" + grgYear.ToString
Return (grgFull)

End Function
Public Function GregorianToUmAlQura(ByVal strDate As String) As String

أخي سوف تبكي عليك العيون * * * وتـسـأل عـنك دمـوع المـئـين

فإن جف دمعي سيبكي الغمام * * * يـرصـع قـبرك بــالـياسـمـيـن

أخـي مـا يـأسـنـا ولـن نيـأسـا * * * وما طال في القلب لبث الأسى

ومـا حـل أفــئــدة الــمــــؤمـن * * * سـوى أمـل في الـجنـان رسـى

أخي فانتظر ولتعش في غـد * * * سـيـنـبـثـق الأمـل الـسـرمـد

فـإن مـزقـتـنـا سني الــحـيـاة * * * فإنـا مع الـنصـر فـي مـوعــد

#2

شكرا اخى على الكود فعلا كنا محتجين الموضوع ده

#3

العفو

ولكن يجب التنبه لصيغة التاريخ يجب أن تفصل بـ /

كذلك الدالة تحتاج لتطوير لتكون أكثر سلاسة .

كأن تدمج الوظيفتين فتكون دالة واحدة فقط و يكون هناك وسيط من نوع Boolean يحدد النحويل من هجري لميلادي أو العكس .

كذلك وسيط لشكل مخرجات التاريخ

هناك المزيد من الأفكار ...

والله الموفق

أخي سوف تبكي عليك العيون * * * وتـسـأل عـنك دمـوع المـئـين

فإن جف دمعي سيبكي الغمام * * * يـرصـع قـبرك بــالـياسـمـيـن

أخـي مـا يـأسـنـا ولـن نيـأسـا * * * وما طال في القلب لبث الأسى

ومـا حـل أفــئــدة الــمــــؤمـن * * * سـوى أمـل في الـجنـان رسـى

أخي فانتظر ولتعش في غـد * * * سـيـنـبـثـق الأمـل الـسـرمـد

فـإن مـزقـتـنـا سني الــحـيـاة * * * فإنـا مع الـنصـر فـي مـوعــد

#4

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

#5

اهلا اخوي

الف الف شكر على الموضوع

ياحبذا لو ترفق لنا الموضوع بملف فيجول صغير

ببرنامج صغير

حتى نستوعب اكثر

لاني بصراحه ماني عارف وين اضع الكود بالضبط

والشغلة تهمني كثيراا

اتمنى لك التوفيق

#6

تفضل

بالمرفق مثال

HijjeyToGregorian.rar

أخي سوف تبكي عليك العيون * * * وتـسـأل عـنك دمـوع المـئـين

فإن جف دمعي سيبكي الغمام * * * يـرصـع قـبرك بــالـياسـمـيـن

أخـي مـا يـأسـنـا ولـن نيـأسـا * * * وما طال في القلب لبث الأسى

ومـا حـل أفــئــدة الــمــــؤمـن * * * سـوى أمـل في الـجنـان رسـى

أخي فانتظر ولتعش في غـد * * * سـيـنـبـثـق الأمـل الـسـرمـد

فـإن مـزقـتـنـا سني الــحـيـاة * * * فإنـا مع الـنصـر فـي مـوعــد

هذا الموضوع مغلق.

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

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

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

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

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