PDA

View Full Version : شمارش تعداد کاراکترهای متن ارسال پیامک



korosh00
سه شنبه 03 دی 1392, 12:24 عصر
سلام
من می خوام موقع نوشتن مطالب تعداد کاراکترها شمارش بشن خود تو قسمت changetext من نوشتم که این کار را می کرد خوب حالا وقتی طرف نوشته هارا پاک میکنه کاراکترها همون شمارش قبلی را دارند یعنی تعدادشون کم نمیشه .
خلاصه من می خوام مثل ارسال پیامک تعداد کاراکترها به 71 که رسید در یک تکس باکس بنویسه 2 و همینطور که به 141 تا رسید بنویسه 3 و الی آخر این را چجوری بنویسم ؟
توجه موقع پاک کردن هم برعکس کار را انجام بده یعنی کم کنه .
ممنون

a_mzadeh
سه شنبه 03 دی 1392, 12:44 عصر
سلام؛ احتمالا مشکل از تابعی هست که برای changetext تعریف کردی، اگر بتونی کدت رو اینجا بذاری بهتر میشه نظر داد.

korosh00
سه شنبه 03 دی 1392, 15:31 عصر
البته تکنیکی به ذهنم نرسیده فعلا از این استفاده می کنم که منطقی هم نیست
تا کارم راه بیفته



string


s = textBox3.Text;



int l = s.Length;

label6.Text =

Convert.ToString(l);





if (l > 70)

{

label9.Text =

"2";



int aa = 140 * Convert.ToInt32(label9.Text);

label11.Text =

Convert.ToString(aa);

}



if (l > 140)

{

label9.Text =

"3";



int aa = 140 * Convert.ToInt32(label9.Text);

label11.Text =

Convert.ToString(aa);

}



if (l > 210)

{

label9.Text =

"4";



int aa = 140 * Convert.ToInt32(label9.Text);

label11.Text =

Convert.ToString(aa);

}



if (l > 280)

{

label9.Text =

"5";



int aa = 140 * Convert.ToInt32(label9.Text);

label11.Text =

Convert.ToString(aa);

}



if (l > 350)

{

label9.Text =

"6";



int aa = 140 * Convert.ToInt32(label9.Text);

label11.Text =

Convert.ToString(aa);

}



if (l > 420)

{

label9.Text =

"7";



int aa = 140 * Convert.ToInt32(label9.Text);

label11.Text =

Convert.ToString(aa);

}



if (l > 490)

{

label9.Text =

"8";



int aa = 140 * Convert.ToInt32(label9.Text);

label11.Text =

Convert.ToString(aa);

}



if (l > 560)

{

label9.Text =

"9";



int aa = 140 * Convert.ToInt32(label9.Text);

label11.Text =

Convert.ToString(aa);

}



if (l > 630)

{

label9.Text =

"10";



int aa = 140 * Convert.ToInt32(label9.Text);

label11.Text =

Convert.ToString(aa);

}



if (l > 700)

{

label9.Text =

"11";



int aa = 140 * Convert.ToInt32(label9.Text);

label11.Text =

Convert.ToString(aa);

}



if (l > 770)

{

label9.Text =

"12";



int aa = 140 * Convert.ToInt32(label9.Text);

label11.Text =

Convert.ToString(aa);

}

a_mzadeh
سه شنبه 03 دی 1392, 16:50 عصر
اون قسمتی که میخوای label9.Text رو مقدار دهی کنی اینطوری تغییرش بده:
label9.Text = (l/70).toString();
ٔدلیل که بعد از پاک کردن کاراکترها مقدار label9 درست نشون داده نمیشه این هست که شما از
if (l > 70)
به بیشتر رو چک کردی باید قبلش اینو هم بذاری:
if (l > 0)
...

korosh00
سه شنبه 03 دی 1392, 22:50 عصر
دست شما درد نکنه من می خوام از کارکتر 1 که شروع میشه در یک لیبل بنویسه 1 و وقتی به 71 رسید بنویسه 2 ولی الان وقتی از 70 گذشت تازه مینویسه 1 قبلش صفر میگذاره .

الان این کل کد منه
تکس باکس 3 که متن داخلش نوشته میشه
لیبل 6 تعداد کاراکترها را محاسبه میکنه
لیبل 9 تعداد پیامک را محسابه می کنه
لیبل 11 قیمت را محاسبه می کنه اینم کد هام

string


s = textBox3.Text;



int l = s.Length;



int aa =1;

label6.Text =

Convert.ToString(l);



if (l > 0)

{



if (aa > 0)

{

label9.Text = (l / 70).ToString();

aa = 140 *

Convert.ToInt32(label9.Text);

label11.Text =

Convert.ToString(aa);

}

}


ممنون هستم راهنمایی کنید راهنمایی قبلی خیلی کارساز بود

a_mzadeh
چهارشنبه 04 دی 1392, 12:02 عصر
خوب فکر می‌کنم اینطوری درست بشه:

label9.Text = ((l / 70)+1).ToString();

korosh00
چهارشنبه 04 دی 1392, 15:58 عصر
اون +1 تو هر بار یکی میره جلو یعنی دفعه اول که داره محاسبه میکنه به 71 که برسه میزنه تعداد پیامک 2 دفعه بعدی باید 141 باشه که یکی رفته جلو به 142 برسه تعداد را میزنه 3 همین طور که طرف تایپ کنه تعداد 210 کاراکتر را محسابه نمیکنه 210+3 تا
منظورم را متوجه شدید ؟
تعداد 1پیامک 70 کارکتر
تعداد 2 پیامک 140 تا باید بشه این 141 محسابه می کنه
تعداد 3 210 تا باشه که 212
تعداد 4 پیامک را 2113
همین طور هی یکی اضافه می کنه

korosh00
چهارشنبه 04 دی 1392, 22:24 عصر
سلام لطفا یکی این قضیه را حل کنه ممنون هستم .

simorgh-hossein
پنج شنبه 05 دی 1392, 14:25 عصر
آخه وقتی کاربر روی TextBox میخواد انگلیسی تایپ کنه تعداد کاراکترها زیاد میشن !
اینو از کجا باید تشخیص داد ؟؟؟
یا وقتی که اول شروع متن ، عدد باشه انوقت تعداد کاراکترها مثل کاراکترهای انگلیسی حساب میشن !!!!
اینارو باید چطوری تشخیص دهیم ؟؟؟ ( البته واسه اعداد میشه کاری کرد ولی حروف فارسی و انگلیسی رو نمیدونم چیکار کنیم ! )

راستی بنظرتون اگه بخواییم این کارو با js انجام دهیم بهتر نیست ؟؟؟ :متفکر: