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

رساله خطأ لم اجد لها حل

بدأه ميولي برمجي في 29 سبتمبر 2013 · 5 رد · 903 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ..

   A local variable named 'x' cannot be declared in this scope because it would give a different meaning to 'x', which is already used in a 'parent or current' scope to denote something else   

 

ممكن احد يفهمني مامعنى رساله الخطا السابقه ومالحل لها !

 

هذا هو الكود

 ; int x = 0
           (++ for (int x = 0; x < GridView1.Rows.Count; x
            {

               ;(() Total += Convert.ToDouble(GridView1.Rows[x].Cells[6].Text.ToString

             ; (lblTotal.Text = "مجموع المشتريات يساوي" + Total.ToString() + "of" + x.ToString() + "Product(s
            }
#2

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

 

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

فتكون حلقة التكرار هكذا

(++ for (x = 0; x < GridView1.Rows.Count; x

 

أرجو من الله التوفيق

9

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

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

EmaSoft2000

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

#3

لا يسمح باستخدام اكثر من متغير بنفس الاسم داخل نطاق واحد scope, و نطاق او مجال متغير ما هو الجزء من الكود الذي تستطيع استخدام هذا المتغير داخله و خارج هذا النطاق لا يكون المتغير متاح

و هنا بعض الروابط للمزيد https://www.google.com.eg/search?q=c%23+variable+scope#q=variables+scope+in+C%23

 

و بالنسبة للكود السابق: فقط احذف المتغير X في السطر الاول او غير اسمه

#4

شكرا شكرا شكرا لكم من أعماق قلبي

 

ولكن ظهرت مشكله أخرى في الكود الاسفل منه

Total += Convert.ToDouble(GridView1.Rows[x].Cells[6].Text.ToString
Input string was not in a correct format

 

مالحل ؟

#5

الرسالة تعني القيمة الموجودة في Cells[6] في row ما لا يمكن تحويلها ل double

و الحل هو التاكد من القيمة الموجودة قبل محاولة تحويلها و يمكن استخدام TryParse Method  لتفادي هذه المشكلة

Double total;
if (Double.TryParse(GridView1.Rows[x].Cells[6].Text, NumberStyles.Float, 
                    CultureInfo.InvariantCulture ,total))
{
  //value is valid double
}

تم تعديل هذه المشاركة بواسطة AhmedElbaz في 1 أكتوبر 2013 في 07:29

#6

شكرا تم حلها

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