PDA

View Full Version : ساخت یک جمع و تفریق ساده...نمیدونم خب ):



arman_holy
شنبه 06 اردیبهشت 1393, 00:13 صبح
سلام دوستان
من یه برنامه ی شبیه ساز خودپرداز می خوام بسازم.تو یه کار کوچیک ولی کاربردی گیر کردم.

118358

حالا با توجه به تصویر می خوام کاربر یکی از دکمه های رادیویی که انتخاب کنه و با زدن دکمه برداشت از موجودی که پایین قرار داره کم بکنه{mojudi.text}
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
اینم کدی هست که من نوشتم :افسرده:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\



Private Sub bardasht_Click(sender As Object, e As EventArgs) Handles bardasht.Click
If r1.Enabled = True Then
mojudi.Text = (mojudi.Text) - (r1.Text)
ElseIf r2.Enabled = True Then
mojudi.Text = (mojudi.Text) - (r2.Text)
ElseIf r3.Enabled = True Then
mojudi.Text = (mojudi.Text) - (r3.Text)
ElseIf r4.Enabled = True Then
mojudi.Text = (mojudi.Text) - (r4.Text)
Else
mojudi.Text = (mojudi.Text) - (text_del.Text)
End If
End Sub

arman_holy
شنبه 06 اردیبهشت 1393, 00:16 صبح
این دکمه "موجودی" برای به روز کردن گذاشتم....گفتم که ابهام نشه یه وقت براتون :لبخندساده:

mortezasar
شنبه 06 اردیبهشت 1393, 00:22 صبح
سلام دوست عزیز ایراد کار شما اینجاست که اومدی رشته ها رو از هم کردی نه عدد رو
باید بیای و این رشته ها رو به عدد تبدیل کنی و بعد عملیات ریاضی روش انجام بدی ضمنا متغیر هایی که میخوای حاصل رو توش بریزی هم باید از نوع عدد باشن نه رشته

mortezasar
شنبه 06 اردیبهشت 1393, 00:28 صبح
long mandehesab = (long.Parse(mojudi.Text) - long.Parse(r1.Text));



Dim mandehesab As Long = (Long.Parse(mojudi.Text) - Long.Parse(r1.Text))

من خودم سی شارپ کارم اما باید از این راه بری برای تبدیل به عدد و انجام عملیات ریاضی الان توی متغیر مانده حساب یه عدده مانده حساب رو نشون میده

محمد آشتیانی
شنبه 06 اردیبهشت 1393, 00:34 صبح
سلام
درستش اینه



Private Sub bardasht_Click(sender As Object, e As EventArgs) Handles bardasht.Click
If r1.Checked = True Then
mojudi.Text = Cint(mojudi.Text) - Cint(r1.Text)
ElseIf r2.Checked = True Then
mojudi.Text = Cint(mojudi.Text) - Cint(r2.Text)
ElseIf r3.Checked = True Then
mojudi.Text = Cint(mojudi.Text) - Cint(r3.Text)
ElseIf r4.Checked = True Then
mojudi.Text = Cint(mojudi.Text) - Cint(r4.Text)
Else
mojudi.Text = Cint(mojudi.Text) - Cint(text_del.Text)
End If
End Sub


البته علت اصلی مشکل اینجا به خاطر تبدیل نکردن string به integer نبود باید از پراپرتی Checked استفاده میکردی.

موفق باشید

mortezasar
شنبه 06 اردیبهشت 1393, 00:41 صبح
دوست عزیز شما که نمیتونی دو رشته رو از هم تفریق کنی دوستمون نوع داده رو رشته تعریف کردن و میخوان مثل عدد باهاش رفتار کنن

محمد آشتیانی
شنبه 06 اردیبهشت 1393, 00:48 صبح
سلام
دوست عزیز شما سی شارپ کار کردی و احتمالا اطلاع نداری که VB.Net خیلی از تبدیل نوع ها رو خودش اتوماتیک انجام میده ، اینجا هم البته اتوماتیک انجام میشه ، ولی خب بهتره که شخص خودش این کار رو انجام بده (همونطور که تو کد اصلاح شده عرض شد)



موفق باشید

mortezasar
شنبه 06 اردیبهشت 1393, 01:00 صبح
آفرین به وی بی

arman_holy
شنبه 06 اردیبهشت 1393, 09:59 صبح
مرسی مرسی مرسی درست شد!:لبخندساده::قلب:

اینجا فقط یه مشکلی هست :
چیکار کنم وقتی کاربر روی textbox کلیک میکنه اون 4 تا رادیویی از حالت checked در بیان؟؟؟؟

vrbahrami
یک شنبه 07 اردیبهشت 1393, 17:59 عصر
سوآل کردن عیب نیست ، کلاس گذاشتن عیبه
زکات علم به یاد دادن آن است