PDA

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



nazanin366
پنج شنبه 29 خرداد 1393, 23:26 عصر
سلام.می خوام کاربر از تو برنامه یه اس ام اس بفرسته بعد میخوام قابلیت مثل گوشی داشته باشه یعنی بگه از تو این پیام چقدر کاراکتر مونده تا این پیام تکمیل شه.هرچی دارم سرو کله میزنم اصن نمیشه.کلا کچلم کرد.مرحمتی بفرمایید

aliagamon
جمعه 30 خرداد 1393, 00:33 صبح
منظورتونو نمیفهمم ... خب طول رشته رو بگیر و از طول حد اکثری پیامک کم کن ... نمیفهمم مشکلتون چیه ؟

nazanin366
جمعه 30 خرداد 1393, 00:41 صبح
منم اول فکر میکردم به همین راحتیه ولی وقتی بری توش اونوقت میفهمی چه نکات ریزی داره.تو تعداد پیام مشکلی ندارم ولی تو تعداد کاراکترهای باقیمانده واقعا موندم

Hadoop
جمعه 30 خرداد 1393, 03:22 صبح
چجوری رفتی توش که به مشکل برخوردی ؟

الان مشکل اینه که چطور عدد ۱۴۰ رو از string.length تفریق کنم؟

shahryari
جمعه 30 خرداد 1393, 10:03 صبح
پیامک فارسی حدودا 70 کاراکتره
طول کاراکترهای یک تکست باکس (شامل عدد و حروف و فاصله) با textBox1.text.length بدست میاد
در رویداد textChange تکس باکس میتونید تعداد تایپ شده رو از طول پیامک کسر و باقیمانده شو نمایش بدی

120334


مثال:
int baghimande = 70 ;
private void textBox1_TextChanged(object sender, EventArgs e)
{
progressBar2.Maximum = 70;
baghimande = 70 - textBox1.Text.Length;
progressBar2.Value = textBox1.Text.Length;
label1.Text = "تعداد کاراکتر باقیمانده: " + baghimande.ToString();
}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (baghimande == 0)
{
if (e.KeyChar != '\b')
{
e.Handled = true;
}
}
}

nazanin366
جمعه 30 خرداد 1393, 10:40 صبح
مساله اینجاس که کاربر میتونه چند تا پیام هفتاد کاراکتری رو یه جا ارسال کنه.منم همین کارها را انجام دادم ولی اگه طول تکست شد مثلا 75 بعد بخوام از 70 کم کنیم میشه -5 که جور در نمیاد

shahryari
جمعه 30 خرداد 1393, 11:39 صبح
اگر به کدهای بالا توجه کنید در رویداد کی پرس این موضوع حل شده و کاربر بیش از 70 کارکتر نمیتونه وارد کنه
یک کار دیگه هم میتونی انجام بدی
maxLength تکست باکس رو برابر 70 بذار

nazanin366
جمعه 30 خرداد 1393, 12:11 عصر
دوستان کاربر میتونه بیش تر از 70 کاراکتر وارد کنه.به ازای هر 70 کاراکتر 1 واحد به تعداد پیام اضافه میشه.

shahryari
جمعه 30 خرداد 1393, 12:15 عصر
دوستان کاربر میتونه بیش تر از 70 کاراکتر وارد کنه.به ازای هر 70 کاراکتر 1 واحد به تعداد پیام اضافه میشه.

بیشتر عملیات ریاضیه تا برنامه نوسی

nazanin366
جمعه 30 خرداد 1393, 12:19 عصر
بیشتر عملیات ریاضیه تا برنامه نوسی
اره.گفتم شاید کسی تجربه شو داشته باشه

shahryari
جمعه 30 خرداد 1393, 12:52 عصر
دوست عزیز شما باید فقط و فقط چند عمل ریاضی ساده انجام بدید

120344




public int pm()
{
double d = (textBox1.Text.Length -1) / 70 ;
return (int)Math.Round(d) + 1;
}

private void textBox1_TextChanged(object sender, EventArgs e)
{
label1.Text = "تعداد کاراکتر: " + textBox1.Text.Length;
label2.Text = "تعدادپیام: " + pm().ToString();
}

nazanin366
جمعه 30 خرداد 1393, 13:33 عصر
دوست عزیز شما باید فقط و فقط چند عمل ریاضی ساده انجام بدید

120344




public int pm()
{
double d = (textBox1.Text.Length -1) / 70 ;
return (int)Math.Round(d) + 1;
}

private void textBox1_TextChanged(object sender, EventArgs e)
{
label1.Text = "تعداد کاراکتر: " + textBox1.Text.Length;
label2.Text = "تعدادپیام: " + pm().ToString();
}

می خوام به صورت معکوس اینکار رو انجام بدم یعنی به کاربر بگه دیگه چند تا کاراکتر برای این پیام مونده.دقیقا عین موبایل

aliagamon
جمعه 30 خرداد 1393, 16:57 عصر
خب این کاری نداره دیگه شما همه چیو دارین تو کد بالا دیگه تعداد پیام ها ضرب در 70 منهی طول رشته ...

label3.Text = "کاراکتر باقی مانده: " + ((pm()*70)-int.Parse(textBox1.Text.Length)).ToString();