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

زيادة في حجم الكلمة

مغلق
بدأه زائرة عربية في 14 أكتوبر 2006 · 4 رد · 637 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

السلام عليكم،

عندي مشكلة :( وهي: عندما استخرج كلمه كلمه من ملف يضاف النو لين (سطر جديد) للكلمه.

مثلا: عندي ملف:

This is just a test

this is the second line

third

وهذا الكود

foreach(char chr in character)

{
					if((chr!= ' ') && (chr != '\n'))
						word += chr;
					else
					{
						this.textBox1.AppendText(word);
						this.textBox1.AppendText(System.Convert.ToString(word.Length));
						this.textBox1.AppendText("\n");
						word = null;

					}//end else
}//end for

فيكون الـoutput كالتالي:

This4

is2

just4

a1

test5

this4

is2

the3

second6

line5

third6

الكلمات الذي بالاحمر بيطلع ارقام عير صحيحه للـlength مع اني حددت ما يحسب الـ space ولا الـ new line :angry:

ايش الحل؟؟

وشكراً

-waf

#2

new line = \r\n

لا مستحيل غير الوقت

#3

جزاك الله خير

ولكن لسه ما مشيت معاي...

جربت:

if((chr!= ' ') && (chr != '\r'))

والنتيجة انه جعل الـ output :

This4

is2

just4

a1

test5

this5

is2

the3

second6

line5

third6

وكأنه بيضيف حرف زياده لاول كلمه من كل صطر

حربت

if((chr!= ' ') && (chr != '\r') && (chr != '\n'))

والنتيجه انه جعل الـ output:

This

is

just

a

test

this

is

the

second

line

third

المشكله، كان يضيف كلمه للمسافه بين الصطور

*ملاحظه: كان يطلع لي error اذا حاولت استخدم length للكلمه في الحاله الاخيره، واظن ان السبب لانه ما يقدر يحسب اي قيمه لهذه المسافه الفاضيه والله اعلم

وجزاكم الله خير على اي مساعده

#4

اجريت تعديلات بسيطه ، على الكود

			foreach (char chr in character)
			{
				if ((chr != ' ') && (chr != '\r') && (chr != '\n'))
					word += chr;
				else if(word!=null)
				{
					this.textBox1.AppendText(word);
					this.textBox1.AppendText(System.Convert.ToString(word.Length));
					this.textBox1.AppendText("\n");
					word = null;

				}//end else
			}//end for

ولكن يمكنك عمل ذلك عن طريق ( string.split ) :

			string myString = new string(character);
			char[] separator = {' ','\r','\n'};
			string[] words = myString.Split(separator,StringSplitOptions.RemoveEmptyEntries );
			foreach (string word in words)
				this.textBox1.AppendText(string.Format("{0}{1}\n", word, word.Length));

لا مستحيل غير الوقت

#5

:D جزاك الله خير على المساعده

الكود مشي معاي

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

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