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

كيف يمكنني استخدام تقويم لبرنامجي غير تقويم الويندوز

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

السلام عليكم

مرفق مثال يقوم بعرض تاريخ اليوم عن طريق استخدام الدالة Today.

يكون ناتج الدالة تاريخ هجري إذا كان التقويم المستخدم في لوحة التحكم هجري.

1191157368_02.jpg

ويكون الناتج تاريخ ميلادي إذا كان التقويم المستخدم في لوحة التحكم ميلادي.

1191157327_01.jpg

السؤال: كيف يمكنني أن أعرض التاريخ بالهجري حتى لو كان تقويم الويندوز ميلادي والعكس...؟

وشكراً سلفاً.

CalendarProblem1.zip

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#2

هناك حلان.

1. يمكنك تغيير الـculture المستخدم في برنامجك إلى culture يستخدم التقويم الهجري مثل السعودية

System.Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("ar-sa")

2. أو استخدام مكتبة تقويم أم القرى التي تأتي مع دوت نت 2.

System.Globalization.UmAlQuraCalendar

#3
اقتباس
يمكنك تغيير الـculture المستخدم في برنامجك إلى culture يستخدم التقويم الهجري مثل السعودية

ألف شكر على الرد والتفاعل ولكن أخي أنا وضعت في حدث Load للنموذج الكود التالي:

System.Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("ar-sa")

وفي الحدث Click للزر الكود التالي:

MsgBox(Today)

وتقويم الويندوز ميلادي.

عند التجريب والنقر على الزر لا يزال يرسل التاريخ بالميلادي حسب إعدادت الويندوز. لم يتغير أي شيء.

اقتباس
أو استخدام مكتبة تقويم أم القرى التي تأتي مع دوت نت 2.

System.Globalization.UmAlQuraCalendar

في الحقيقة لا أعلم كيف أستخدم هذا الClass ولا أي class يختص بالتقويمات على الرغم من أني قرأت MSDN وفيها كيف تقسم الفترات الزمنية... إلخ... طيب كيف أستخدم التقويم؟ أين الدالة التي ترجع تاريخ اليوم حسب ذلك التقويم زي الدالة Today؟

معلش يا أخي تعبتك معي

أنا أفضل الطريقة الأولى ولكنها لم تعمل معي.

وشكرا مرة أخرى

أخوك

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#4

السلام عليكم

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

التحويل من هجري الى ميلادي

عرف متغير من نوع تقويم ام القرى

Dim umq As New System.Globalization.UmAlQuraCalendar

عرف متغير من نوع تاريخ و ضع فيه تاريخ اليوم و طبعا ميلادي

Dim gregDate As Date = Now.Date

عرف متغير من نوع مصفوفة و ضع فيه اليوم و من ثم كرر للشهر و السنة لماذا سياتي الجواب في الاسفل

Dim hijDay As String = umq.GetDayOfMonth(gregDate)

Dim hijMonth As String = umq.GetMonth(gregDate)

Dim hijYear As String = umq.GetYear(gregDate)

اذا كان الشهر اقل من 9 ضيف صفر قبل ال 9

If hijMonth < 9 Then

hijMonth = "0" + hijMonth

End If

اذا كان اليوم اقل من 9 ضيف صفر قبلها

If hijDay < 9 Then

hijDay = "0" + hijDay

End If

و هنا خذ التقويم الهجري زي ما تحب يعني بالصيغة اللي انت تراها مناسبة

hijFull = hijYear + "/" + hijMonth + "/" + hijDay

ملاحظة :

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

ال sql server 2000 لا يقبل التاريخ الهجري فيستبدل بنص و تضع فيه التاريخ و تستفسر بنفس الصيغة

لعكس العملية من هجري الى ميلادي كالتالي

Dim gregDay As String '= umq.GetDayOfMonth(gregDate)

Dim gregMonth As String ' = umq.GetMonth(gregDate)

Dim gregYear As String '= umq.GetYear(gregDate)

gregYear = Date.Now.Year

gregMonth = Date.Now.Month

gregDay = Date.Now.Day

If gregMonth < 9 Then

gregMonth = "0" & gregMonth

End If

If gregDay < 9 Then

gregDay = "0" & gregDay

End If

greg = gregYear & "/" & gregMonth & "/" & gregDay

اتمنى للجميع التوفيق و السداد و ان يرفع الامة الاسلامية الى مصافي العالم

#5

لكي تعم الفائدة إن شاء الله

Me.Label1.Text = Now.ToString("dd MMMM yyyy")
Me.Label2.Text = Now.ToString("dd MMM yyyy", New Globalization.CultureInfo("ar-SA"))

اتمنى ان يكون الكود واضح

الأول يطبع التاريخ الميلادي مثال:18 تشرين الاول 1976

الثاني يطبع التاريخ الهجري الموافق مثال :01 شوال 1424

تم تعديل هذه المشاركة بواسطة blackeyes في 8 نوفمبر 2007 في 02:11

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

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

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

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

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

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