تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف اجعل طريقة ادخال التاريخ صحيحه ومحددة
#1
السلام عليكم ورحمة الله وبركاته

كيف اجعل طريقة ادخال التاريخ بشكل صحيحه ومحدده
مثلاً :
عند ادخال تاريخ 30/30/1800
يتم عمل رفض للقيمة حيث ان عدد الشهور 12 شهر ولا يمكن قبول الرقم "30"
كذلك تاريخ السنه "1800" قديمة بالتالي لا يتم قبولها ..

اضافة الى تحديد maxdate و mindate لادخال التواريخ ..

علما اني استخدم MaskedTextBox لادخال التاريخ
اتمنى ان تكون وضحت مشكلتي لديكم

تحياتي لكم
الرد }}}
تم الشكر بواسطة:
#2
MaskedTextBox

DateTimePicker
PHP كود :
DateTimePicker1.Format DateTimePickerFormat.Custom
DateTimePicker1
.CustomFormat "yyyy/MM/dd"
DateTimePicker1.MinDate = New Date(199011)
DateTimePicker1.MaxDate = New Date(20501231

PHP كود :
Private Sub Button1_Click(ByVal sender As ObjectByVal e As EventArgsHandles Button1.Click
    MsgBox
(DateTimePicker1.Text)
End Sub 
الرد }}}
تم الشكر بواسطة:
#3
اعمل Clamp للمدخلات
حتي تتفادي الأخطاء
أي يجب أن تتأكد أن المدخلات تقع بين رقمين أنت تحددهم
بالنسبة للشهور فهي يجب أن تكون بين 1 و 12
وبالنسبة للأيام فهي يجب أن تقع بين 1 و 31
أما بالنسبة للسنه فهي يجب أن تكون بين mindate year و maxdate year

يمكنك استخدام الدالة التالية

PHP كود :
   Friend Function Clamp(value As Integermax As Integermin As Integer) As Integer
        Return 
(If(value maxmax, (If(value minminvalue))))
 
   End Function 

كود يوضح استخدام الدالة وهنا قمت بتمرير التاريخ يقيمة اكبر من عد الشهور المعتاد
وهنا الدالة ستعد بالرقم 12


PHP كود :
       Dim month As Integer 13
        Dim monthResult 
As Integer Clamp(month121
Retired
الرد }}}
تم الشكر بواسطة:
#4
(10-11-17, 03:13 PM)a.ahmed كتب : MaskedTextBox

DateTimePicker
PHP كود :
DateTimePicker1.Format DateTimePickerFormat.Custom
DateTimePicker1
.CustomFormat "yyyy/MM/dd"
DateTimePicker1.MinDate = New Date(199011)
DateTimePicker1.MaxDate = New Date(20501231

PHP كود :
Private Sub Button1_Click(ByVal sender As ObjectByVal e As EventArgsHandles Button1.Click
    MsgBox
(DateTimePicker1.Text)
End Sub 

مشكور عالرد اخ احمد ..
اداة جميلة ولكن هل استطيع ان اجعل الاداة فارغه عند التحميل الفورم
وهل استطيع ان اجعل ادخال التاريخ اجباري في هذه الاداة

وشكرا لك عالمجهود ..

(10-11-17, 03:15 PM)silverlight كتب : اعمل Clamp للمدخلات
حتي تتفادي الأخطاء
أي يجب أن تتأكد أن  المدخلات تقع بين رقمين أنت تحددهم
بالنسبة للشهور فهي يجب أن تكون بين 1 و 12
وبالنسبة للأيام فهي يجب أن تقع بين 1 و 31
أما بالنسبة للسنه فهي يجب أن تكون بين mindate year و maxdate year

يمكنك استخدام الدالة التالية

PHP كود :
   Friend Function Clamp(value As Integermax As Integermin As Integer) As Integer
        Return 
(If(value maxmax, (If(value minminvalue))))
 
   End Function 

كود يوضح استخدام الدالة وهنا قمت بتمرير التاريخ يقيمة اكبر من عد الشهور المعتاد
وهنا الدالة ستعد بالرقم 12


PHP كود :
       Dim month As Integer 13
        Dim monthResult 
As Integer Clamp(month121

مشكور اخي عالرد
حاولت اطبق الطريقة ولم تنجح معي ..
الرد }}}
تم الشكر بواسطة:
#5
اسمح لي أن أوضح لك شئ

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

,و لكي يكون الأمر أكثر سهولة لك قمت بإعادة صياعة للدالة كالتالي

PHP كود :
   Friend Function IsValidInput(value As Integermax As Integermin As Integer) As Integer
        Return 
(value = (If(value maxmax, (If(value minminvalue)))))
 
   End Function 
Retired
الرد }}}
تم الشكر بواسطة:
#6
اضافة الى ما قدمه الاخوه  مشكورين 
   
انظر التالي قد يفيدك 
PHP كود :
Public Function IsDate(ByVal Expression As Object) As Boolean 
المصدر  


https://msdn.microsoft.com/en-us/library...s.90).aspx
الرد }}}
تم الشكر بواسطة: أحمد فتح الرحمن
#7
مشكورين اخواني ما قصرتو استخدمت اداة datetimepicker
واتبعت طريقة الاخ a.ahmed
كذلك وضعت هذا الكود لجعل القيمة الافتراضية فراغ :


كود :
DateTimePicker1.Format = DateTimePickerFormat.Custom
        DateTimePicker5.CustomFormat = " "
DateTimePicker1.Value = Date.FromOADate(1 / 1 / 1950)
       DateTimePicker1.MinDate = New Date(1950, 1, 1)
       DateTimePicker1.MaxDate = New Date(2050, 12, 31)


وعند حدث KeyPress وضعت هذا الكود :
كود :
DateTimePicker1.CustomFormat = "yyyy/MM/dd"

تحياتي لكم جميعاً
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] طريقة تفعيل الشاشة الصغيرة في جهاز الكاشير MOHAMMED ALZWI 0 260 25-09-25, 02:17 PM
آخر رد: MOHAMMED ALZWI
  [سؤال] طريقة توسيط النص داخل اداة comboBox سمير1404 7 3,870 24-08-25, 01:01 PM
آخر رد: أبو خالد الشكري
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 665 24-04-25, 12:58 PM
آخر رد: foad8920
  طريقة طباعة ملف pdf بقاعدة بيانات sql heem1986 0 532 25-02-25, 09:31 AM
آخر رد: heem1986
  ادخال درجات الطلاب لقاعدة بيانات اكسس .. مساعدة Tajaldeen 9 2,758 07-02-25, 07:59 PM
آخر رد: الورد2
  مشكلة تنسيق التاريخ في تقرير الكريستال مصمم هاوي 4 702 07-02-25, 01:24 AM
آخر رد: عبد العزيز البسكري
  [VB.NET] كود ادخال المنظومه في اسبات محمد ملك 4 410 16-01-25, 10:31 PM
آخر رد: محمد ملك
  فحص حقل التاريخ اذا كان فارغ محمد خيري 4 470 14-01-25, 02:02 AM
آخر رد: محمد خيري
  مشكلة التاريخ اداة DateTimePicker Wolfalwolf20 2 492 06-01-25, 06:14 PM
آخر رد: aljzazy
  طريقة حفظ نسخة أحيتاطية من قاعدة بيانات sql محلية heem1986 2 504 01-01-25, 03:56 PM
آخر رد: heem1986

التنقل السريع :


يقوم بقرائة الموضوع: