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

أرجو المساعدة في الكود.....

مغلق
بدأه Mr.Abdulilah في 20 ديسمبر 2005 · 6 رد · 578 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

===================================================================

لقد وضعت button وأيضا وضعت 2 من TextBox

وأريد من البرنامج أن يعمل جمع للعددين

وكتبت هذا الكود في Button فأين الخطأ ????

 
 	 string a,s;
 	 int q,w,e; 
          
 	 a = textBox1.Text; 
 	 s = textBox2.Text;  

 	 q = Int32.Parse(a);
 	 w = Int32.Parse(s); 

 	 e = a  +  s; 
  

 	 MessageBox.Show("it is {0}",e);

========================================================================

#2

استخدم الكود التالي

int a,b,c;

a = Convert.ToInt32(textbox1.text);
b = Convert.ToInt32(textbox2.text);

c = a + b;

messagebox.show("it's "+c);
#3

معذرة ... في خطوة ال messgaebox

messagebox.show("it's "+c.tostring());

وليس ما كتبتة

#4

شكرا على مساعدتك لي يأخ C#please

#5

أخي الكريم هناك تحويل ضمين وتحويل صريح لجميع المتحولات وكذلك العمليات المنفذه على المتحولات:

التحويل الضمني: تقوم اللغة بتحويل ضمني للمتحول عندما ترى أن جميع البينات التي سوف يقوم بتحويلها لن تفقد أي شئ مثلاً على ذلك عند تحويل من متحول Int إلى متحول Long يتم التحويل بشكل آلي دون أي تدخل منك أم العكس يقوم لمجمع بإصدار إستثاء

   Int I = 0;
   Long lng = 0;

   lng = I; // هنا يتم التحويل بشكل ضمني دون إصدار أي خطأ
   I = lng; // هنا سوف يتم إصدار خطأ في التحويل لأنه لاينظر إلى محتويات التحولات بل إلى النوع عند يرى تحويل مثل هذا النوع هنا سوف يتم خسار في المعلومات حتماً لأنه لا يمكن نسخ 8 بايت إلى 4 بايت دون خسارة بينات شئ منطقي

والتحويل الصريح يتم من قبل المستخدم أي أنك تعلم أن سوف تخسر بيانات أو أن التحويل الذي تقوم به أمن أو أن خسارة البيانات لن تأثر على النتائج.

أما بالنسبة للخطأ الذي ضهر لك فهو ناتج عن التحويل الضمني لنحلل الكود الذي قت بكتابه

e = a  +  s;

تقوم بجمع متحولين من نوع نص ومن ثم إسناد القيمه إلى متحول رقمي لا يمكن هذا لأن اللغة لا تنظر إلى محتويات المتحولات كما كان في ال VB6 بل كما ذكرنا سابقاً إلى النوع لذلك أصدر المجمع خطأ مفاده لا يمكن التحويل من نص إلى رقم دون أن يكون تحويل صريح فهنا يجب أن تد خل لمعرفتك المسبقه بأن محتويات النص عبارة عن أرقام لذلك يجب تحويل العباره إلى مايلي:

     e = int.Parse(a) + int.Parse(s);

والخطأ الثاني الذي ترتكبه هو بتمرير البرمترات إلى MessageBox.Show أنت تقوم بتمرير نص ليضهر في في صندوق الرسالة وتقوم بتمرير المتحول من نوع رقم ليكون عنوان الرسالة وليكون تحويل المتحول الرقم إلى نص ضمنياً لذلك كان عليك إستدعاء الوظيفة ToString من المتحول الرقمي أما إذا كان قصدك إظهار الناتج في صندوق الرسالة فاستعمل الكود التالي:

      MessageBox.Show( String.Format( "it is {0} ", e ) );

أتمنى لك التوفيق

لا تفعل إلا ما تستطيع أن تقوله ولا تقول إلا ما تسطيع أن تفعله

اللهم علمنا ما ينفعنا ونفعنا بما علمتنا وهب لنا من لدنك ولياً مرشدا

كلما أدبني الدهر أراني نقص عقلي ... وإذا ما زدت علماً زادني علماً بجهلي

أخوكم في الله أبو المجد

هيا نتعلم بعض المبادء لنطرق باب الإحتراف ************** جديد الدروس ( Application Domains and Assemblies)

التوقيت في دمشق:

<embed src="http://www.clocklink.com/clocks/0006-Gray.swf?TimeZone=R1T" width="200" height="240" wmode="transparent" type="application/x-shockwave-flash">

#6
الممتاز كتب:
بسم الله الرحمن الرحيم

===================================================================

لقد وضعت button  وأيضا وضعت 2 من TextBox

وأريد من البرنامج أن يعمل جمع للعددين

وكتبت هذا الكود في Button فأين الخطأ ????

 
  	string a,s;
  	int q,w,e; 
          
  	a = textBox1.Text; 
  	s = textBox2.Text;  

  	q = Int32.Parse(a);
  	w = Int32.Parse(s); 

  	e = a  +  s; 
  

  	MessageBox.Show("it is {0}",e);

========================================================================

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

أخي العزيز لماذا قمت بالتحويل إذا ما دمت سوف تجمع a , s

ونحن لا نجمع كلمات ولكن نجمع أرقام لذلك يجب عليك أن تجمع q , w

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#7

كلام الأساتذة صحيح

وعلى فكرة المMessage Box ممكن يعرض string وال int على حد سواء

يعني مش غلط كتابة

MessageBox.show("the sum is"+e);

لكن الغلط في اني أجمع 2 strings وأرجعهم على int

والشي الثالث انك لازم تكون حريص في استخدامك لل identifiers

يعني انت مسمي متغير ب(e) هين لازم تكون متأكد انه مبتتعرضش مع الparameters لدالة الButton_click

لأنه لما تعمل دالة لbutton في السي شارب بيبنيلك دالة بتعمل عليها delegationل click event مثل هي

private void button1_Click(object sender, System.EventArgs e)
{
}

واللي بيسمحلنا نحط فيها الكود

فاستخدام dentifier اسمه e ممكن يعمل مشاكل

يعني أول شي غير الe لأي اسم تاني وليكن sum

sum=q+w \\مش a+s


 	 MessageBox.Show("it is "+sum);

تم تعديل هذه المشاركة بواسطة eng_gh في 21 ديسمبر 2005 في 19:17

هذا الموضوع مغلق.

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