الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اريد من اهل الخبرة شرح هذا الكود

بدأه Dr Tamer في 30 يونيو 2010 · 3 رد · 947 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

اقوم باستخدام كود لكتابة ارقام فقط داخل مربعات النصوص الكود ناجح ويعمل بكفاءة ولكنى انقلة ولم استطع فهم الكود او معناه

لذلك وحرصا منى على الا اكون ناقلا بدون فهم ارجو ان يقوم احد المحترفين فى اللغة بشرح هذا الكود لى ويكون جزاؤة على الله

الكود

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

int IsNumber = 0;

int.TryParse(e.KeyChar.ToString(), out IsNumber);

if (IsNumber == 0)

{

e.Handled = true;

}

#2

الدالة التي تكتب فيها تنفذ عندما يتم الضغط على أي زر داخل مربع النص والسطر الأول منه على ما أعتقد واضح فأنت تعرف متغير من نوع int وتعطيه الاسم IsNumber

السطر الثاني من الدالة :

int.TryParse(e.KeyChar.ToString(), out IsNumber);

يقوم بوضع الرقم المدخل من المستخدم إلى المتغير IsNumber وإن لم يكن المدخل رقماً أي أنه كان حرفاً فإن الدالة تضع الرقم صفر في المتغير IsNumber

الجملة الشرطية واضحة وهي أننا نقول إذا كانت قيمة المتغير 0 فإننا نطلب من الدالة تجاهل ضغط المستخدم أي أن الحرف لن يظهر على أداة مربع النص .

------------------------------------------

لاحظ أخي الفاضل أنك لاتقبل من المستخدم إلا عدداً صحيحاً ولا يحتوي على الرقم 0 لأنه أيضا ممنوع :)

إن كان هذا ما تريده فالدالة ممتازة حيث تحقق ما تريده من المستخدم أما إن كنت تريد إدخال رقم فقط والتأكد من أن المستخدم لم يدخل إلا رقماً فيوجد طريقة أفضل وأخف من ذلك :)

خصوصاً إن كنت تسمح للمستخدم بإدخال القيم السالبة والفاصلة العشرية .

وإليك الطريقة باختصار :

أولاً : إن كنت تريد أعداد صحيحة :

قم بإلغاء الدالة الموجودة لديك وضع الكود التالي في زر التحقق :

int n;
if (int.TryParse(textBox1.Text,out n)==false)
{
         // ضع الكود الذي تريد تنفيذه عند وجود خطأ هنا
}
else
{
         // ضع الكود الذي تريد تنفيذه عندما يدخل المستخدم العدد بشكل صحيح هنا
}

ثانياً : إن كنت تريد أعداد حقيقية ( بوجود الفاصلة العشرية ) فهذا هو الكود البديل يوضع أيضا داخل زر التحقق :

float n;
if (float.TryParse(textBox1.Text,out n)==false)
{
         // ضع الكود الذي تريد تنفيذه عند وجود خطأ هنا
}
else
{
         // ضع الكود الذي تريد تنفيذه عندما يدخل المستخدم العدد بشكل صحيح هنا
}

تحياتي لك :)

#3
hfsh80 كتب:

الدالة التي تكتب فيها تنفذ عندما يتم الضغط على أي زر داخل مربع النص والسطر الأول منه على ما أعتقد واضح فأنت تعرف متغير من نوع int وتعطيه الاسم IsNumber

السطر الثاني من الدالة :

int.TryParse(e.KeyChar.ToString(), out IsNumber);

يقوم بوضع الرقم المدخل من المستخدم إلى المتغير IsNumber وإن لم يكن المدخل رقماً أي أنه كان حرفاً فإن الدالة تضع الرقم صفر في المتغير IsNumber

الجملة الشرطية واضحة وهي أننا نقول إذا كانت قيمة المتغير 0 فإننا نطلب من الدالة تجاهل ضغط المستخدم أي أن الحرف لن يظهر على أداة مربع النص .

------------------------------------------

لاحظ أخي الفاضل أنك لاتقبل من المستخدم إلا عدداً صحيحاً ولا يحتوي على الرقم 0 لأنه أيضا ممنوع :)

إن كان هذا ما تريده فالدالة ممتازة حيث تحقق ما تريده من المستخدم أما إن كنت تريد إدخال رقم فقط والتأكد من أن المستخدم لم يدخل إلا رقماً فيوجد طريقة أفضل وأخف من ذلك :)

خصوصاً إن كنت تسمح للمستخدم بإدخال القيم السالبة والفاصلة العشرية .

وإليك الطريقة باختصار :

أولاً : إن كنت تريد أعداد صحيحة :

قم بإلغاء الدالة الموجودة لديك وضع الكود التالي في زر التحقق :

int n;
if (int.TryParse(textBox1.Text,out n)==false)
{
         // ضع الكود الذي تريد تنفيذه عند وجود خطأ هنا
}
else
{
         // ضع الكود الذي تريد تنفيذه عندما يدخل المستخدم العدد بشكل صحيح هنا
}

ثانياً : إن كنت تريد أعداد حقيقية ( بوجود الفاصلة العشرية ) فهذا هو الكود البديل يوضع أيضا داخل زر التحقق :

float n;
if (float.TryParse(textBox1.Text,out n)==false)
{
         // ضع الكود الذي تريد تنفيذه عند وجود خطأ هنا
}
else
{
         // ضع الكود الذي تريد تنفيذه عندما يدخل المستخدم العدد بشكل صحيح هنا
}

تحياتي لك :)

بل تحياتى لك على اهتمامك وشكرا جزيلا للشرح فقد فهمتة فعلا وشكرا على تكملة الشرح الف الف الف شكر

#4

اليك ما أفعله انا فى حالة وجود كود غير مفهوم بالنسبة لى

أأخذ الـ Method التى لا اعرفها او الـ Class وابحث عنها فى MSDN او فى Google

غالباً تكون صفحة MSDN بها كل المعلومات الكافية

بعد الإنتهاء من التعرف على كل الـ Methods والـ Classes الغير مفهومة يتبقى فقط قراءة الـ flow او الـ Algorithm الخاص بالكود

فى النهاية يصبح الكود مفهوم بنسبة 100%

جرب تلك الطريقة وسوف تفيدك

Formerly PYTHON

الراجل الحر .. حر و لو زمانه جار

يمشى ف طريقه .. لا يخشى الشوك ولا لحجار

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…