PDA

View Full Version : سوال: جمع کردم اعداد در تکست باکس



morika
شنبه 26 تیر 1389, 16:58 عصر
سلام

لطفا اول به عکس نگاه کنید!
من می خوام برنامم اینجوری باشه که:
وقتی تو تکس باکس بالایی عددی نوشته میشه پی در پی با اعداد بعدیش جمع زده بشه تا زمانی که تو تکست باکس بالایی از دکمه Space استفاده شه. وقتی کاربر دکمه فاصله رو زد تکست پایین جمع اعداد قبل رو ول کنه و یه کاراکتر - خط فاصله چاپ کنه بعد دوباره اعدادر که بعداز فاصله تو تکست بالایی زده میشه رو از صفر با هم جمع کنه. این کارو ادامه بده تا اعداد کاربر تموم بشه.
میشه این کارو کرد؟

خیلی ممنون

hero4000
شنبه 26 تیر 1389, 17:32 عصر
دوست عزيز شما اول بايد تکست باکس اوبيت رو با تابع Split تقسيم کني ( کاراکتر جدا کنندت رو هم Space بزار)

بعد کاراکترهاي اون رشته هاي جدا شده رو يکي يکي مرور کن و با هم جمع بزن

nasim bahari
شنبه 26 تیر 1389, 17:33 عصر
سلام............

هیچ کاری نیست که کامپیوتر نتونه انجام بده......مگر اینکه برنامه ریزانش نتونن اون رو مناسب برنامه ریزی کنن

1- یک متغییر که وظیفه چک کردن شروع عدد مورد نظر رو داره نیاز داری. که با وارد کردن هر عدد یکی به مقدارش اضافه بشه و با پاک کردن هم یک مقدار ازش کم بشه..........

2- حال شما در KeyPress عددی که جایگاهش با متغییر مورد نظر یکی می باشد رو بدست می آری و جمع می کنی . البته باید فراموش نکنی که وقتی BackSpace فشرده شد باید عدد مورد نظر رو از حاصل جمع کم کنی که برای این کار می تونی همیشه وقتی عدد جدیدی وارد می شود اون رو توی یک متغییر به صورت موقت نگهداری کنی..............

3- اگر Spase فشرده شد عملیات جمع تمام شود یک Dash تایپ شود و ..........

امید وارم که به جوابت رسیده باشی................اگه نه...........بازم در خدمتیم.......

morika
شنبه 26 تیر 1389, 17:42 عصر
سلام............

هیچ کاری نیست که کامپیوتر نتونه انجام بده......مگر اینکه برنامه ریزانش نتونن اون رو مناسب برنامه ریزی کنن

1- یک متغییر که وظیفه چک کردن شروع عدد مورد نظر رو داره نیاز داری. که با وارد کردن هر عدد یکی به مقدارش اضافه بشه و با پاک کردن هم یک مقدار ازش کم بشه..........

2- حال شما در KeyPress عددی که جایگاهش با متغییر مورد نظر یکی می باشد رو بدست می آری و جمع می کنی . البته باید فراموش نکنی که وقتی BackSpace فشرده شد باید عدد مورد نظر رو از حاصل جمع کم کنی که برای این کار می تونی همیشه وقتی عدد جدیدی وارد می شود اون رو توی یک متغییر به صورت موقت نگهداری کنی..............

3- اگر Spase فشرده شد عملیات جمع تمام شود یک Dash تایپ شود و ..........
راستش اصلا از بند 1و2 چیزی نفهمیدم. به علاوه خوب اگه کار ما توم شد و کاراکتر dash هم چاپ شد. چجوری بقیه جمع رو بعداز dash ادامه بدیم جوری که اصلا با جمع قبل dash کاری نداشته باشه؟
امید وارم که به جوابت رسیده باشی................اگه نه...........بازم در خدمتیم.......

راستش اصلا از بند 1و2 چیزی نفهمیدم. به علاوه خوب اگه کار ما توم شد و کاراکتر dash هم چاپ شد. چجوری بقیه جمع رو بعداز dash ادامه بدیم جوری که اصلا با جمع قبل dash کاری نداشته باشه؟

hero4000
یک شنبه 27 تیر 1389, 08:25 صبح
دوست عزيز من که راهشو بهت گفتم

اين کد برنامه




Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
TextBox2.Text = ""
Dim s() As String
Dim sum As Long = 0
s = Split(TextBox1.Text, " ")
For Each st As String In s
sum = 0
For Each c As Char In st
sum += Val(c)
Next
TextBox2.Text &= sum.ToString & " - "
Next
End Sub

nima898
یک شنبه 27 تیر 1389, 13:20 عصر
s = Split(TextBox1.Text, " ")

میتونستید اینطور بنویسید:

s = Split(TextBox1.Text)

sina_saravi1
یک شنبه 27 تیر 1389, 13:40 عصر
اون طور که من از اسمش فهمیدم میخوای ابجد ر به دست بیاری

به لینک بهت میدهم ببین کارتو راست و ریست میکنه
اگه سوالی هم ازش داری بپرس جواب میدم

http://www.purtahan.tk/post/3