المساعد الشخصي الرقمي

مشاهدة نسخة كاملة : تحويل التاريخ من الهجري إلى الميلادي والعكس


المبرمج عبدالكريم
06-06-07, 09:46 AM
بسم الله الرحمن الرحيم


تحويل التاريخ من الهجري إلى الميلادي والعكس

إليكم شرح كيفية عمل التحويل بين التاريخين بدون أي معادلات حسابية.

أولا : التحويل من التاريخ الميلادي إلى الهجري

Dim gDate As Date, hDate As String
gDate = InputBox("ادخل التاريخ الميلادي")
Calendar = vbCalHijri
hDate = gDate
Calendar = vbCalGreg
MsgBox "التاريخ يوافق " & hDate & "هجريا "

شرح الكود :

Dim gDate As Date, hDate As String

قمنا بالإعلان عن متغيرين :
الأول gDate من نوع Date خاص بالتاريخ المراد تحويله وهنا هو الميلادي (الإغريقي)
الثاني hDate من نوع String خاص بالتاريخ المراد التحويل إليه وهنا الميلادي
وسأذكر سبب جعل المتغير نصي لاحقا

السطر :

gDate = InputBox("ادخل التاريخ الميلادي")

لطلب التاريخ الميلادي من المستخدم وإدخاله في المتغير gDate

السطر :

Calendar = vbCalHijri

لتحويل نظام التقويم في برنامج إلى النظام الهجري (وهذه أهم نقطة في البرنامج)

السطر :

hDate = gDate

في هذه الحالة – وبعد أن غيرنا نظام التقويم – أصبح المتغير gDate يحتوي على التاريخ هجريا
لذلك أخذنا هذه القيمة في المتغير النصي hDate

السطر :

Calendar = vbCalGreg

أعدنا التقويم إلى النظام الميلادي
وأصبح الآن المتغير gDate يحتوي على التاريخ الذي أدخله المستخدم ميلاديا (عاد كما كان)
ولكن ماذا حصل للمتغير hDate ؟ هل تغير إلى النظام الميلادي؟ هل له علاقة بنظام التقويم؟
في الحقيقة لا ... والسبب هو أن المتغير hDate هو متغير نصي (String) وليس تاريخي (Date)
أي أنه لا علاقة له بنظام التاريخ.
وهذا هو تفسير سبب جعل المتغير hDate نصياً وليس من نوع Date

أخيرا :

MsgBox "التاريخ يوافق " & hDate & "هجريا "

وهي إظهار نتيجة التحويل في مربع رسالة ..

ثانياً : التحويل من التاريخ الهجري إلى الميلادي


بما أنك فهمت التحويل من التاريخ الميلادي إلى الهجري.

فسأقوم فقط بكتابة الكود :


Dim hDate As Date, gDate As String
Calendar = vbCalHijri
hDate = InputBox("ادخل التاريخ الهجري")
gDate = hDate
Calendar = vbCalGreg
MsgBox "التاريخ يوافق " & hDate & "ميلاديا "



بإمكانكم تجربة البرنامج بتحويل تاريخ ميلادي :
هجري : 21-6-1409
ميلادي : 28-1-1989

هذا وصلى الله وسلم على سيدنا محمد وعلى آله وصحبه أجمعين.

لا تنسوني من الدعاء .
أدعوا الله بأن يدخلني الجنة
وبأن يوفقني في ثالث ثانوي.

العولقي11
08-06-07, 12:04 AM
مشكور وجزاك الله الف خير

المحبة للعلم
08-06-07, 05:48 AM
مشكور اخي على الكود

ابوهتان
09-06-07, 10:52 PM
مشكور عزيزي على هذا الشرح
ولكن حبيت ياريت تعطينا طريقة تحويل التاريخ الهجري الى تاريخ أم القرى الموجود في تقويم ام القرى حيث يوجد اختلاف في بعض الشهور حيث تكون غير مطابقة أو غير متماشية مع تقويم ام القرى تلاقي شهر 30 يوم وشهر 29 يوم وهذه مشكلة واجهتها في برنامج شئون الموظفين الخاص بعملي وخصوصاً عند تسجيل الاجازات وانا جاري البحث عن الدالة ولو كانت موجودة عندك فأرسلها جزاك الله خير:confused:

sam78
11-07-07, 07:47 PM
السلام عليكم ورحمة الله
نفعكم الله بعلمكم ونفع به جميع من يقرأه أو سمع به
به يارب جنب جلود جميع أهل المنتدى وجميع المسلمين النار

المبرمج عبدالكريم
23-08-07, 06:45 PM
مشكور عزيزي على هذا الشرح
ولكن حبيت ياريت تعطينا طريقة تحويل التاريخ الهجري الى تاريخ أم القرى الموجود في تقويم ام القرى حيث يوجد اختلاف في بعض الشهور حيث تكون غير مطابقة أو غير متماشية مع تقويم ام القرى تلاقي شهر 30 يوم وشهر 29 يوم وهذه مشكلة واجهتها في برنامج شئون الموظفين الخاص بعملي وخصوصاً عند تسجيل الاجازات وانا جاري البحث عن الدالة ولو كانت موجودة عندك فأرسلها جزاك الله خير
الرد باقتباس
بإمكانك الذهاب الى موقع جميعة الفلك بالقطيف وستحصل على ما تريد ان شاء الله


السلام عليكم ورحمة الله
نفعكم الله بعلمكم ونفع به جميع من يقرأه أو سمع به
به يارب جنب جلود جميع أهل المنتدى وجميع المسلمين النار
آمين والجميع ان شاء الله

adelt123
25-08-07, 04:29 PM
مشكور اخي على الكود

بوارو
05-09-07, 03:08 AM
طيب وش بكون الفورم

المبرمج عبدالكريم
05-09-07, 10:04 AM
طيب وش بكون الفورم
لم أفهم سؤالك أخي ممكن توضح أكثر