السلام عليكــم ورحمـة الله وبركاتــه ،،
كنت قد رايت موضوع التشييك على التكست بوكس قبل التخزين في موضوع سابق و عندها اتتني الحمية على كتابة هذا الموضوع المهم نوعا ما
الموضوع يتلخص اننا جميعنا قبل استدعاء Function التخزين نحتاج الى عملية الـ Validate
فربما يكون الـ User قد نسي ادخال معلومة ضرورية و اساسية عندها سوف نجبره على ادخال هذه القيمة غصب عنه بين قوسين خاوة اذا اراد ان
يخزن يجب عليه ادخال قيمة
لذا اليكم هذا الـ Function
الشروط لاستخدامه
اولا :
الـ TextBox التي تريد ان تتفحصها و تشيك عليها ضع في خاصية الـ Tag كلمة Must :blink: و هذه الكلمة انا اخترتها بامكانك كتابة اي كلمة اخرى و لكن بشرط ان تلحقها بالفنكشن bValidate
ثانيا :
ليس شرط و لكني افضله من الناحية الجمالية للـ Form , و ايضا من اجل تسريع عمل الـ Function التالي
الا و هو وضع جميع الـ Control بـِ GroubBox او حتى في Panel
الفنكشن تتبعوه فهو يلف على جميع الكنترول التي في الاب الـ GroubBox أو Panel حسبما بعثت انت الاب للـ Function
,و اذا كان هذا الـ Control
TextBox أو ComboBox
فانه يرى هل هنالك في خاصية الـ Tag كلمة Must
اذا كان الجواب نعم فهذا يعني انه يجب ان يفص هل قيمتها فارغة اذا كانت نعم فانه يلونها لون مختلف
انا اخترته Color.LightSalmon
و اذا اردت تغيير الون لونه انت حر
:huh:
ملاحظات : * ممكن يكون الاب الـ From نفسه و لكن هذا ياخذ و قت اكثر للفحص
* سوف نتحدث عن الاستدعاء في نهاية هذا الموضوع
* للمبرمج الذي لا يعرف اين خاصية الـ Tag موجودة , هي موجودة عند خصائص
الـ Control نفسه بالقرب من خصائصه الـ Name و الـ Text و ......... و عادتا
اذا كان الترتيب الف بائي تجدها فوق الخاصية Text مباشرة
' bValidate هذا الفنكشن العجيب الغريب لعمل مراقبة لصلاحيات الادخال داخل التكست و الكمبو بوكس 'و لتفعيل هذا الفنكشن الخطوة الؤولى قم ببعث الاب لجميع الكنترولات التي تريد أن تراقب صلاحيات ادخالها ' عند كل كنترل تريد عمل صلاحيات عليه must الخطوة الثانية قم بوضع الكلمة Public Function bValidate(ByVal container As Object) As Boolean Dim fReturn As Boolean = True For Each cont In container.Controls If TypeOf cont Is TextBox Then If cont.Tag = "Must" AndAlso cont.Text.trim = "" Then cont.BackColor = Color.LightSalmon fReturn = False End If End If If TypeOf cont Is ComboBox Then If cont.Tag = "Must" AndAlso cont.selectedIndex < 0 Then cont.BackColor = Color.LightSalmon fReturn = False End If End If Next Return fReturn End Function
اما عن كيفية استدعاء هذا الفنكشن فهي كالتالي :wacko:
'افترض ان كل الكنترول من نوع تكست بوكس خاصتك موجودة داخل الاب GroubBox1
If bValidate(GroubBox1) = True Then 'ضع هنا كودك الاعتيادي و الذي يفترض ان يكون كود الحفظ End If
اعتقد ان الموضوع بسيط لذالك لا تتردد ان تسال اي سؤال غامض بالنسبة لك :P