PDA

View Full Version : به هم خوردن چیدمان رشته حاوی حروف فارسی با قرارگیری spaceها متوالی در انتها



nima.ni
پنج شنبه 12 مرداد 1391, 11:51 صبح
با سلام

پست قبلی من به دلیل نامناسب بودن عنوان حذف شده من هم یک پست جدید با همان محتوا ایجاد کردم اگه این کار نادرسته لطفا بهم بگید و اما مشکل من:

من باید کاراکترهای یک رشته وارد شده توسط کاربر در textbox را بخونم و بین هر کارکتر یک ویرگول قرار بدم و به ازای هر20 کاراکتر نیز یک خط جداکننده( | )قرار بدم .کاراکترهای متن نیز یا حروف فارسی هستند یا space. مشکل از اینجا شروع می شه که کاربر در انتها یک رشته چندین spaceدرج کند واگه فرض کنیم رشته (سلام چطوری ) باشد _در واقع بعد از چطوری چند space وجود داشته باشه _رشته به جای ذخیره به شکل

(س,ل,ا,م, ,چ,ط,و,ر,ی, , , , , , , ,) به شکل (, , , , , , , ,س,ل,ا,م, ,چ,ط,و,ر,ی) ذخیره می شود.

لطفا کمک کنید.ممنون.

nima.ni
شنبه 14 مرداد 1391, 09:35 صبح
دوستان لطفا کمک کنید . :افسرده:

nima.ni
سه شنبه 17 مرداد 1391, 19:50 عصر
یعنی هیچ کس جواب این سوال رو نمی دونه؟:عصبانی++::عصبانی++:

Y_Safaiee
سه شنبه 17 مرداد 1391, 19:58 عصر
سلام دوست من

خدمت شما



int cnt=0;
foreach (char ch in textBox3.Text.Trim())
{
textBox4.Text += ch.ToString()+",";
cnt++;
if (cnt == 20)
{
textBox4.Text += "|";
cnt = 0;
}

}


Trim هم فاصله های اضافه اول رشته رو برمیداره هم آخر رشته رو یعنی اگه اینطوری باشه " سلام چطوری " این دستور نوشته رو به این "سلام چطوری" تبدیل میکنه.


موفق باشی
بایت بایت

nima.ni
چهارشنبه 18 مرداد 1391, 11:01 صبح
ممنون از توجهتون
ولي من نمي خوام spaceها انتها حذف شود و دقيقا مي خوام مثلا اگر messageboxباشد متن (س,ل,ا,م, ,چ,ط,و,ر,ی, , , , , , , ,)را نمايش بدهد.

mehran788
چهارشنبه 18 مرداد 1391, 15:51 عصر
اگه از messagebox استفاده می کنی نمی دونم.ولی اگه جواب رو توی لیبل یا همچین چیزی می ریزی،Right To Left رو Yes کن.

Y_Safaiee
چهارشنبه 18 مرداد 1391, 16:18 عصر
سلام دوست من

با کمی کنکاش تو مسیج باکس میتونستی جواب سوالتو بدست بیاری

اینم کد اصلاح شده به همراه نمایش درست متن در مسیج باکس خدمت شما



int cnt=0;
string str="";
foreach (char ch in textBox3.Text)
{
str += ch.ToString()+",";

cnt++;
if (cnt == 20)
{
str += "| , ";
cnt = 0;
}

}

MessageBox.Show(str, "متن", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);



موفق باشی
بایت بایت