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


الملفات المرفقة
.zip   Test_Number_CS.zip (الحجم : 78.21 ك ب / التحميلات : 69)
الرد }}}
#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 , حريف برمجة , ابراهيم ايبو


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [كود] تحويل الرقم الى نص في الاكسل Aimen Darwish 0 1,117 08-01-21, 12:59 AM
آخر رد: Aimen Darwish
  مشروع استخراج بيانات الرقم القومى amonem 29 10,639 27-07-19, 02:33 AM
آخر رد: amonem
  [كود] كود لمنع الرقم العشوائي من التكرار issamsaidd 5 3,797 04-06-19, 06:47 PM
آخر رد: issamsaidd
  [سؤال] مشكلة عرض اجمالي تلقائي بمجرد كتابة الرقم في textbox ismail abdullah 6 3,187 26-12-17, 09:42 AM
آخر رد: ismail abdullah
  [سؤال] تصحيح كود التاكد ان التكست بوكس ليس فارغأ قاسم 4 2,309 13-11-17, 05:28 PM
آخر رد: قاسم
  سحب الرقم CountryLst D3sKm 4 2,627 10-12-16, 11:48 PM
آخر رد: D3sKm
  [سؤال] ضرب الرقم العشري المبرمج العبقري 2 2,101 14-03-16, 06:47 PM
آخر رد: المبرمج العبقري

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


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