منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف يتم معرفة التاريخ المدخل اذا كان اكبر من تاريخ الجهاز
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاتة
كيف يتم معرفة التاريخ المدخل على شكل dd/MM/yyyy اذا كان اكبر من تاريخ الحالي للجهاز يعطي رسالة ولا ينتقل من مربع ادخال التاريخ حاولت ايجاد الحل ولكن لم اجد حل صحيح مائه في المائة
-
مثال بسيط على السريع....
كود :
If Date.ParseExact("28/04/2014", "d/M/yyyy", Globalization.CultureInfo.InvariantCulture) > Date.Today Then
    MsgBox("التاريخ المدخل أكبر من تاريخ اليوم")
End If
اخ 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 تظهر رسالة خظأ كما في الصورة المرفقة
هل من مجيب
-
جرب التالي
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim provider As Globalization.CultureInfo = Globalization.CultureInfo.InvariantCulture

    Dim d1 As Date = Date.ParseExact(Date.Now.ToString("d/M/yyyy", provider), "d/M/yyyy", provider)
    Dim d2 As Date = Date.ParseExact("15/5/2014", "d/M/yyyy", provider)

    If d2 > d1 Then
        MsgBox("التاريخ المدخل أكبر من تاريخ اليوم")
    End If

End Sub
يمكنك استخدام الدوال التالية

كود :
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

يمكنك ‘ادة كتابة الدوال ل تتناسب مع طريقة ادخال التواريخ أو الوقت