تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
التاكد من صحة الرقم القومى عند الادخال
#1
السلام عليكم ورحمه الله تعالى وبركاته
الاخوه الكرام كل عام وانتم بخير
ارجو من الساده الاساتذه الافاضل المساعده فى اتمام هذ العمل 
مرفق ملف للعمل عليه هو عبااره عن شاشه لادخال الرقم القومى الخاص بالموظف 
وهو يعمل جيد ولكن اريد التحقق من صحة ادخال الرقم لقومى بطريقه صحيحه
بحيث اذا كان المستخدم ادخل الرقم القومى بضوره غير صحيحه تظهر رساله تفيد بان الادخال غير صحيح 
 لتجنب الاخطاء حيث ان الرقم القومى يتم استخراج منه بيانات الموظف كا تاريخ الميلاد وسن المعاش ونوع الجنس ذكر او انثي ومحافظة الميلاد
وعند الادخال بطريقه غير صحيحه تتسبب فى وجود خطأ عن استخراج البيانات
وجزاكم الله عنا كل خير
الرد }}}
تم الشكر بواسطة:
#2
تفضل :


الملفات المرفقة
.zip   Test_Number_CS.zip (الحجم : 78.21 ك ب / التحميلات : 54)
الرد }}}
#3
كود :
       private void button1_Click(object sender, EventArgs e) {
           this.Txt_Emp_Govern.Clear();
           this.Txt_Emp_typ.Clear();
           this.Txt_Emp_Birth.Clear();
           this.Txt_Day.Clear();
           this.Txt_Mon.Clear();
           this.Txt_Year.Clear();
           this.Txt_Emp_Pension.Clear();

           if (!CheckRakamKomy(this.Txt_Emp_Number.Text.Trim())) {
               MessageBox.Show("الادخال غير صحيح");
               return;
           }

           this.Txt_Emp_Govern.Text = ClassFuctions.GetMohafza(this.Txt_Emp_Number.Text); //المحافظه//
           this.Txt_Emp_typ.Text = ClassFuctions.GetGender(this.Txt_Emp_Number.Text);  //النوع//
           this.Txt_Emp_Birth.Text = ClassFuctions.GetBirthDate(this.Txt_Emp_Number.Text).ToString("yyyy/MM/dd"); //تاريخ الميلاد//
           this.Txt_Day.Text = ClassFuctions.GetAgeDays(Convert.ToDateTime(this.Txt_Emp_Birth.Text)).ToString();   //حساب السن يوم//
           this.Txt_Mon.Text = ClassFuctions.GetAgeMonths(Convert.ToDateTime(this.Txt_Emp_Birth.Text)).ToString(); //حساب السن شهر//
           this.Txt_Year.Text = ClassFuctions.GetAgeYears(Convert.ToDateTime(this.Txt_Emp_Birth.Text)).ToString();  //حساب السن سنه//
           this.Txt_Emp_Pension.Text = Convert.ToDateTime(this.Txt_Emp_Birth.Text).AddYears(60).AddDays(-1).ToString("yyyy/MM/dd"); //سن المعاش//

       }

       private bool CheckRakamKomy(string RakamKomy) {
           if (!new System.Text.RegularExpressions.Regex(@"^\d{14}$").IsMatch(RakamKomy)) return false;

           int[] Mohafza = { 1, 2, 3, 4, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 88 };
           if (Array.IndexOf(Mohafza, Convert.ToInt32(RakamKomy.Substring(7, 2))) < 0) return false;

           int c = Convert.ToInt32(RakamKomy.Substring(0, 1));
           if (c < 2 || c > 4) return false;

           string y = (((17 + c) * 100) + Convert.ToInt32(RakamKomy.Substring(1, 2))).ToString();
           string m = RakamKomy.Substring(3, 2), d = RakamKomy.Substring(5, 2);
           DateTime tmp;
           if (!DateTime.TryParse(string.Format("{0}/{1}/{2}", y, m, d), out tmp)) return false;

           return true;
       }
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , asemshahen5 , حريف برمجة , amonem
#4
(28-07-19, 11:47 PM)asemshahen5 كتب : تفضل :

شكر ليك على مجهودك الرائع
جعله الله فى ميزان حسناتك
وبارك الله  لك فى اهلك وذريتك

(29-07-19, 12:03 AM)AAAAAAAAA كتب :
كود :
       private void button1_Click(object sender, EventArgs e) {
           this.Txt_Emp_Govern.Clear();
           this.Txt_Emp_typ.Clear();
           this.Txt_Emp_Birth.Clear();
           this.Txt_Day.Clear();
           this.Txt_Mon.Clear();
           this.Txt_Year.Clear();
           this.Txt_Emp_Pension.Clear();

           if (!CheckRakamKomy(this.Txt_Emp_Number.Text.Trim())) {
               MessageBox.Show("الادخال غير صحيح");
               return;
           }

           this.Txt_Emp_Govern.Text = ClassFuctions.GetMohafza(this.Txt_Emp_Number.Text); //المحافظه//
           this.Txt_Emp_typ.Text = ClassFuctions.GetGender(this.Txt_Emp_Number.Text);  //النوع//
           this.Txt_Emp_Birth.Text = ClassFuctions.GetBirthDate(this.Txt_Emp_Number.Text).ToString("yyyy/MM/dd"); //تاريخ الميلاد//
           this.Txt_Day.Text = ClassFuctions.GetAgeDays(Convert.ToDateTime(this.Txt_Emp_Birth.Text)).ToString();   //حساب السن يوم//
           this.Txt_Mon.Text = ClassFuctions.GetAgeMonths(Convert.ToDateTime(this.Txt_Emp_Birth.Text)).ToString(); //حساب السن شهر//
           this.Txt_Year.Text = ClassFuctions.GetAgeYears(Convert.ToDateTime(this.Txt_Emp_Birth.Text)).ToString();  //حساب السن سنه//
           this.Txt_Emp_Pension.Text = Convert.ToDateTime(this.Txt_Emp_Birth.Text).AddYears(60).AddDays(-1).ToString("yyyy/MM/dd"); //سن المعاش//

       }

       private bool CheckRakamKomy(string RakamKomy) {
           if (!new System.Text.RegularExpressions.Regex(@"^\d{14}$").IsMatch(RakamKomy)) return false;

           int[] Mohafza = { 1, 2, 3, 4, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 88 };
           if (Array.IndexOf(Mohafza, Convert.ToInt32(RakamKomy.Substring(7, 2))) < 0) return false;

           int c = Convert.ToInt32(RakamKomy.Substring(0, 1));
           if (c < 2 || c > 4) return false;

           string y = (((17 + c) * 100) + Convert.ToInt32(RakamKomy.Substring(1, 2))).ToString();
           string m = RakamKomy.Substring(3, 2), d = RakamKomy.Substring(5, 2);
           DateTime tmp;
           if (!DateTime.TryParse(string.Format("{0}/{1}/{2}", y, m, d), out tmp)) return false;

           return true;
       }
شكر ليك على مجهودك الرائع
جعله الله فى ميزان حسناتك
وبارك الله  لك فى اهلك وذريتك
الرد }}}
تم الشكر بواسطة: asemshahen5 , حريف برمجة , ابراهيم ايبو



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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم