السلام عليكم
لدي أداة DateTimePicker1 في المشروع وحاولت أسند إليها تاريخ هجري عن طريق الكود ووجدت أن هذا مستحيل
فأريد كود من خلاله أستطيع تعديل التاريخ او الارقام في الاداة مثلا لو اليوم 15 أغيره ل 20
السلام عليكم
لدي أداة DateTimePicker1 في المشروع وحاولت أسند إليها تاريخ هجري عن طريق الكود ووجدت أن هذا مستحيل
فأريد كود من خلاله أستطيع تعديل التاريخ او الارقام في الاداة مثلا لو اليوم 15 أغيره ل 20
اعتقد انك لابد تغيير اعدادات التاريخ من ميلادي الي هجري في الكنترول بانل الخاصة بالويندوز لكي تستطيع مشاهده التاريخ الهجري


اخوي محمد انا ما قصدت اظهار التاريخ الهجري انا ظاهر عندي التاريخ هجري على الأداة مشكلتي اني ابغى اغير او اسند لها تاريخ بالكود يدويا اقدر اغير في الاداة لكنني اريد اغير في الأداة بالكود
او باختصار انا لدي أداة MaskedTextBox1 يوجد بها تاريخ أريد تحويل هذا التاريخ لتاريخ ميلادي
أخوي محمد مشكور أنت سهلت علي توصيل المعلومة المطلوبة بالمشروع الي في الرابط
حتى أوضح لك الي أنا أبغاه
هذا الكود موجود في المشروع الي في الرابط
TextBox1.Text = eg(Now, "d dddd, MMMM yyyy")
أنا أريد أستبدل كلمة Now بتاريخ هجري ليتم تحويله لتاريخ ميلادي
أول شيء
ستضع هذه الداله والتي هي بدورها مسئوله عن تحويل التاريخ من ميلادي الي هجري
Function ToHijra(ByVal gDate As Date, Optional ByVal format As String = Nothing) As String
Return gDate.ToString(format, New Globalization.CultureInfo("ar-SA"))
End Functionبعد ذلك ستقوم باسناد الداله لمربع النص
TextBox1.Text = ToHijra(Now, "d dddd, MMMM yyyy")


لماذا تريد استبدال كلمة Now بتاريخ هجري اذا كان الكود المكتوب يعرض لك التاريخ الهجري ؟؟
ربما لا استطيع فهمك


أخوي الكود يقوم بتحويل التاريخ الحالي لتاريخ هجري
أنا لا اريد تحويل التاريخ الحالي أريد أن أقوم بتحويل أي تاريخ أقوم باسناده لكود لتاريخ هجري
أخوي أنت متأكد من عمل الكود لاحظ قمت بتجربة البرنامج المرفق الي ارسلته وايضا قمت بادخال نفس التاريخ الميلادي الي في الصورة وهو 02/10/82013
ولاحظ الخطأ في الصورة

أخوي ركز في الصورة عند السهم الأحمر تجد انني قمت بادخال تاريخ صحيح وهو 02/10/2013
السلام عليكم ورحمة الله وبركاته
أولاً: شكر خاص للأخ محمد تركى على متابعته الصابرة للموضوع وعلى مجهوده المتفانى
ثانياً: الأخ sharahly قم بتحويل القيمة التى فى MaskedTextBox إلى تاريخ باستخدام أى وظيفة تحويل لأن الدالة ToHijra تحتاج إلى تاريخ فحاول أولاً تخزين القيمة التى بمربع النص فى أى متغير نوعه تاريخ ثم استخدم هذا المتغير فى الدالة أو تحويلها فى نفس السطر مثل المثال التالى
TextBox2.Text = ToHijra(Convert.ToDateTime(MaskedTextBox1.Text), "d dddd, MMMM yyyy")
تم تعديل هذه المشاركة بواسطة ema2000_t في 24 أكتوبر 2013 في 00:52
أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا
Dr Sayed Tohamy
Programming Instructor
مدرب برمجة
---------------
EmaSoft2000
-------------------
أشكر الجميع بس لو تكرمت اخوي
ema2000_tانا اذا اسند القيمة لمتغير تاريخ سيتم تحويل الرقم في MaskedTextBox الى تاريخ ميلادي ومن ثم سيتم تحويله لتاريخ هجري وانا ما عندي مشكلة في هذه الحالة انا اريد العكس اريد تكون القيمة في ال MaskedTextBox تاريخ هجري مثلا 05/05/1434
من ثم اريد تحويل هذا التاريخ لتاريخ ميلادي اقوم بتخزينه في القاعدة
استطيع حل مشكلتي باستخدام DateTimePicker لكنني لا اريد استخدامها لان مشروعي معتمد كثيرا على MaskedTextBox ولا اريد التغيير
وعليكم السلام ورحمة الله وبركاته
هل تقصد التحويل من الهجري إلى الميلادي ؟؟
أتمنى أن يكون هذا ما تريده
Function ToEn(ByVal gDate As Date, Optional ByVal format As String = Nothing) As String
Dim arSA As CultureInfo = New CultureInfo("ar-SA")
arSA.DateTimeFormat.Calendar = New HijriCalendar()
Dim str As String
str = DateTime.ParseExact(gDate, "dd/MM/yyyy", arSA)
Return str
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If MaskedTextBox1.Text = "" Then Exit Sub
TextBox2.Text = ToEn(MaskedTextBox1.Text, "d dddd, MMMM yyyy")
End Subتحياتي ^_^
sharahely كتب:أخوي أنت متأكد من عمل الكود لاحظ قمت بتجربة البرنامج المرفق الي ارسلته وايضا قمت بادخال نفس التاريخ الميلادي الي في الصورة وهو 02/10/82013
ولاحظ الخطأ في الصورة
التاريخ المدخل مبين عند السهم الاحمر
02/10/2013
هل الكلام موجه لي ؟؟
هذا ليس الكود الذي كتبته ..
ثانياً هل تريد التحويل من الهجري إلى الميلادي أو العكس
المثال الذي وضعه الأستاذ محمد يحول من الميلادي إلى الهجري
والمثال الذي وضعته يحول من الهجري إلى الميلادي بشرط أن يكون التاريخ الهجري هكذا 02/08/1443
تحياتي ^_^
وعليكم السلام
ما هي مشكلتك أخي الكريم ؟؟
أنا أعمل على الفيحوال بيسك دوت نيت 2008 و 2010 ولا يوجد معي أي مشكلة
هذه الصورة من 2008
وهذه الصورة من 2010
تحياتي ^_^
شكرا للجميع
بالنسبة للأخ bahbah هل يمكن التعديل على المثال الخاص بك ليتم التحويل لو كانت الصيغة Long Date
ismail2012 كتب:شكرا للجميع
بالنسبة للأخ bahbah هل يمكن التعديل على المثال الخاص بك ليتم التحويل لو كانت الصيغة Long Date
ماذا تقصد بlong date
اقصد عندما يكون التاريخ بالصيغة "22 ذو الحجة, 1434" فهذه تسمى long date
أما هذه "22/12/1434" تسمى Short date