بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاتة
كيف يتم معرفة التاريخ المدخل على شكل dd/MM/yyyy اذا كان اكبر من تاريخ الحالي للجهاز يعطي رسالة ولا ينتقل من مربع ادخال التاريخ حاولت ايجاد الحل ولكن لم اجد حل صحيح مائه في المائة
اخ vbnet بارك الله فيك على المثال البسيط التاريخ الاول 28/04/2014 التنسيق له dd/MM/yyyy نفس ما اريد ولكن تاريخ اليوم الحالي Date.Today التنسيق له MM/dd/yyyy كيف يتم تنسيق تاريخ اليوم الحالي بنفس التاريخ الاول المدخل بارك الله فيك
(27-04-14, 12:46 PM)vbnet كتب : [ -> ]-
مثال بسيط على السريع....
كود :
If Date.ParseExact("28/04/2014", "d/M/yyyy", Globalization.CultureInfo.InvariantCulture) > Date.Today Then
MsgBox("التاريخ المدخل أكبر من تاريخ اليوم")
End If
أخ vbnet بارك الله فيك تنسيق التاريخ الاول كما اريد dd/MM/yyyy اما تنسيق تاريخ اليوم الحالي Date.Today تنسيقه يظهر MM/dd/yyyy ولتوضيح اكثر يتم ادخال التاريخ عن طريق مربع ادخال MaskedTextBox بتنسيق dd/MM/yyyy هكذا ـــــــــــــ/ــــ/ــــ اذا قملنا بادخال التاريخ التالي 21/04/2014 تظهر رسالة خظأ كما في الصورة المرفقة
يمكنك استخدام الدوال التالية
كود :
Friend Function CompareDates(fisrtDate As DateTime, seconddate As DateTime) As Boolean
' Check if fisrt Date is greater than the second date
If DateTime.Compare(fisrtDate, seconddate) > 0 Then
Return True
End If
Return False
End Function
' compare the current date time
Friend Function CompareDates(dateToCheck As DateTime) As Boolean
Return CompareDates(dateToCheck, DateTime.Now)
End Function
و يتم استخدام الدوال من داخل الكود بالشكل التالي
كود :
Dim futureDate As DateTime = New DateTime(2022, 12, 12)
Dim Isgreater As Boolean = CompareDates(futureDate)
If Isgreater Then
' do something with code
End If
يمكنك ‘ادة كتابة الدوال ل تتناسب مع طريقة ادخال التواريخ أو الوقت