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

حل مشكلت التاريخ الهجريHijri Date Solution

مغلق
بدأه server_programmer في 18 سبتمبر 2004 · 4 رد · 9,441 مشاهدة · في أرشيف قسم SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخوان المبرمجين أعزكم الله

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

أنا لا أخفيكم العلم كانت عندي نفس المشكلة بس حليتها حل نهائي و لله الحمد نسيت الصداع الي كانت مسببتة لي هذي المشكلة ،و أرتأيت ان أضع الحل على هذا الموقع أبتغاء رضاء الله و خدمة لأخواننا الي كانوا و ما زلوا يخدمونا و أكيد ما با يقصروا

لو أحتجنا لمساعدتهم

بالنسبة للتاريخ الهجري

طبعا الحاسب يتعامل مع التاريخ الميلادي فقط و التاريخ الهجري ناتج عن عملية حسابية غاية في التعقيد و للأسف الحاسب لا يعترف بالحسابات الهجرية ( جربوا و شوفوا على التاريخ 30 /2/ لأي سنة)

الفكرة ( لمبرمجي الفيجول بيسك بكل أصداراتة + VBA )

- تعمل حقل نصي لكل حقل تاريخ

فرضا لو معاك حقل أسمة Birth_Date ونوعه DateTime أضف لجانبة حقل نصي أسمة Birth_Date_HIJ

-لما يسجل المستخدم التاريخ الهجري في شاشة الأدخال يتم تحويل هذا التاريخ لميلادي في متغير

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

القيمة الموجودة في المتغير

- القيمة الي حطها المستخدم ( الهجرية ) تتسجل في الحقل النصي الي سويتة من شوية

عملية التحويل لها ثلاث دوال انا بفضل الله عملتها و نجحت بنسبة 100 %

فأن لكل حقل تاريخ حقل بجانبة نصي لحفظ التاريخ بشكل هجري

طبعا المستخدم من شاشات الادخال سيسجل تاريخ هجري

وعليكم أن تحولوا التاريخ المسجل لتاريخ ميلادي

ثم يحفظ التاريخ الميلادي الناتج في الحقل الي من النوع تاريخ و التاريخ الهجري في الحقل النصي

بالنسبة للأستعلام

العملية كالتالي

المستخدم سيسجل تاريخ هجري

و الدوال تحدد التاريخ المناسب بعد تحويلة لتاريخ ميلادي

ثم تستعلم عن طريق هذة القيم

و الحقول الناتجة من الأستعلام خلي الحقول النصية (الي تم تسجيل التاريخ الهجري فيها ) هي التي تظهر للمستخدم

بدل الحقول التي من نوع تاريخ التي تجري عليها العملية

و الدوال الي صممتها لهذة العملية هي كالتالي

-ToGregorianDate

و تستقبل تاريخ هجري و تحولة لتاريخ ميلادي

-ToHijriDate

و تستقبل تاريخ ميلادي و تحولة لتاريخ هجري

-ConvertDate

هذة الدالة الأساسية للدالتين السابقتين

و هي دالة التحويل نفسها

ضع الدوال السابقة في ملف Module و جرب

--------------------------------------------------الدوال -----------------------------------

Private Function ConvertDate(ByRef StringIn As String, ByRef OldCalender As Integer, ByVal NewCalender As Integer, ByRef NewFormat As String) As String

Dim SavedCal As Integer

Dim D As Date, s As String

SavedCal = Calendar

Calendar = OldCalender

D = CDate(StringIn)

Calendar = NewCalender

s = CStr(D)

ConvertDate = Format(s, NewFormat)

Calendar = SavedCal

End Function

Public Function ToHijriDate(ByVal GregorianDate As String) As String

Dim HijriDate As String, DateFormat As String

' DateFormat = "long date"

DateFormat = "dd/mm/yyyy"

HijriDate = ConvertDate(GregorianDate, vbCalGreg, vbCalHijri, DateFormat)

ToHijriDate = HijriDate

End Function

Public Function ToGregorianDate(ByVal HijriDate As String) As String

Dim GregorianDate As String, DateFormat As String

DateFormat = "dd/mm/yyyy"

GregorianDate = ConvertDate(HijriDate, vbCalHijri, vbCalGreg, DateFormat)

ToGregorianDate = GregorianDate

End Function

---------------------

أظن الفكرة واضحة

و هي ممتاز - من وجهة نظري - لعقدة التاريخ الهجري

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

لا تنسونا من الدعاء

و سلامتكم

1

وفوق كل ذي علم عليم

http://www.leaderstechnology.com

-------------------------------

#2

بارك الله فيك

والان سوف اعمل البرنامج ب VB.Net

تحياتي

#3

وفيك شكرا

وفوق كل ذي علم عليم

http://www.leaderstechnology.com

-------------------------------

#4

تحويل الدوال إلى vb.net

السلام عليكم

طلب بسيط وهو تحويل دوال vb إلى vb.net

مشكور أخي الكريم

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#5

طريقة تحويل التاريخ

أعضاء المنتدى

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

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

ووجدت الحل أقرب من شراك نعلي ، وهذا الأمر يقوم بعرض التاريخ الحالي إلى تاريخ هجري وإليكم هذا الأمر :

في أحد نماذج فيجوال بيسك ولنفترض النموذج الأساسي مثلا نكتب العبارة التالي :

Calendar=vbCalHijri

ولكن المشكلة التي وجهتني بعد ذلك كيف أحول تاريخاً ميلاديا مسجلا (كتاريخ) إلى تاريخ هجري

لا أدري هل الطريقة التي ذكرها أخونا تحل المشكلة أم لا ؟

تقبلوا تحياتي

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

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