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

مساعدة بتصحيح خطاء صغير في الكود

بدأه abeer Eng في 7 مايو 2009 · 0 رد · 283 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

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

اخواني انا عندي مشكله في الكود ياليت تساعدوني على حلها

الكود المطلوب منه يحسب عدد المسافات و يعرضها

و لكن طريقة الحساب لها شروط

1- ان تكون المسافات محصورة بين اثنين تاب او مبتدئه بتاب و منتهيه بنهاية السطر

'\t'--'\t'

يعني هنا المفروض النتيجه تكون

20

2- ان تكون بنهاية السطر

يعني لو حسب المسافات و خزنها وبدى يعد مسافا ثانيه و لقي بطريقه حرف على نفس السطر راح يصفر العداد

يعني مثلا

'\t'---'\t'- a

المفروض يكون عندي

temp=31

بس بما انه وجد حرف

راح يفضي السترينج اللي بنستخدمه لتخزين عدد المسافات

في برنامجي واجهتني مشكله وحد

2- لم استطع تطبيق شرط انه لو وجد اي حرف بعد المسافات او التاب يجب ان يفرغ عداد المسافات

temp

وضعت هذ1 الشرط

  if (str.Substring(i, 1) == " ")
							{

								count++;

							}
								if (str.Substring(i, 1) == "\t")

							{temp += count.ToString();


								count = 0;

							}
							if (i == str.Length - 1)
							{
								temp += count.ToString();

							}
						    else
							{
							   count = 0;
							   tabs = 0;
							  temp = "";
						   }

بمجرد وضعه لا يحسب اي شيء ابدا

ولكن بعد حذف يعمل الكود

و لكن لايحذف القيم اذا وجد حرف

ارجوا مساعدتكم :(

هذا هو برنامجي بين يديكم

int count = 0;
			int tabs = 0,index=0;
			string spaces = "",temp="";

			StreamReader sr = new StreamReader("w.txt");
			string str = sr.ReadLine();// يقراء سطر من الملف 
			MessageBox.Show(Convert.ToString(str.Length)); //يعرض طول الملف 
			while (str != null)/// لوب بما انه بيقراء راح يشتغل
			{

				//if (str.Length <= 80)
				//{
					// بداية اللوب
					for (int i = 0; i < str.Length; i++)// لوب بيبدى من صفر حتى يصل الى طول السطر الذي قرائه
					{
						if (tabs == 0)
						{
							if (str.Substring(i, 1) == "\t")
							{

								tabs = 1;
								index = i;

							}
						}
						if (tabs == 1 && index<i)
						{
							if (str.Substring(i, 1) == " ")
							{

								count++;

							}
								if (str.Substring(i, 1) == "\t")

							{temp += count.ToString();


								count = 0;

							}
							if (i == str.Length - 1)
							{
								temp += count.ToString();

							}
							else
							{
							   count = 0;
							   tabs = 0;
							  temp = "";
						   }

						}

					}
					// نهاية اللوب 
			   // }

				spaces += temp;
				count = 0;
				tabs = 0;
				temp = "";
				str = sr.ReadLine();
			}
			sr.Close();
			MessageBox.Show(spaces);

		}

تم تعديل هذه المشاركة بواسطة abeer Eng في 7 مايو 2009 في 15:01

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