منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] برنامج آلة حاسبة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] برنامج آلة حاسبة (/showthread.php?tid=34890)



برنامج آلة حاسبة - Doctor GME - 22-05-20

حاولت برمجة برنامج آلة حاسبة
نجحت فى تنفيذ عملية بسيطة فقط مثل 2 + 2
ولكن عند محاولة أداء عملية أعقد مثل:
2 + 2 + 2
أو مثلاُ
2 + 2 - 5 * 8
لم أنجح فى أدائها
وهذا كود البرنامج بالكامل
علماً بأن function هنا تعطى عند التنفيذ دائماً Invalid Operation

كود :
 Private Function DoMath(equation) As String
       Dim equationString As String = (equation)
       Dim lettersAloud() As Char = {"+", "-", "/", "*"}
       Dim mOperator As String = (equationString.IndexOfAny(lettersAloud))
       Dim num1 As String = (Mid(equationString, 1, mOperator - 1))
       Dim num2 As String = (Mid(equationString, mOperator + 1, equationString.Length))
       Dim answer As Double
       If (mOperator = ("+")) Then
           answer = (CInt(num1) + CInt(num2))
       ElseIf (mOperator = ("-")) Then
           answer = (CInt(num1) - CInt(num2))
       ElseIf (mOperator = ("*")) Then
           answer = (CInt(num1) * CInt(num2))
       ElseIf (mOperator = ("/")) Then
           answer = CInt(num1) / CInt(num2)
       Else
           Return ("Invalid Operation")
       End If
       Return (answer.ToString)
   End Function
   Private Sub buttons(sender As Object, e As EventArgs) Handles Btn0.Click, Btn1.Click, Btn2.Click, Btn3.Click, Btn4.Click, Btn5.Click, Btn6.Click, Btn7.Click, Btn8.Click,
       Btn9.Click

       If CalculatorText.Text = "" Then
           CalculatorText.Text = sender.text
       Else CalculatorText.Text = CalculatorText.Text & sender.text
       End If

   End Sub
   Private Sub BtnPoint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPoint.Click
       CalculatorText.Text += BtnPoint.Text
   End Sub
   Private Sub BtnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClear.Click
       CalculatorText.Clear()
       CalculatorResult.Clear()
   End Sub
   Private Sub BtnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPlus.Click
       CalculatorText.Text += "+"
   End Sub
   Private Sub BtnMinus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnMinus.Click
       CalculatorText.Text += "-"
   End Sub
   Private Sub BtnDivide_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDivide.Click
       CalculatorText.Text += "/"
   End Sub
   Private Sub BtnMultiply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnMultiply.Click
       CalculatorText.Text += "*"
   End Sub
   Private Sub BtnResult_Click(sender As Object, e As EventArgs) Handles BtnResult.Click
       CalculatorResult.Text = DoMath(CalculatorText.Text)
   End Sub



RE: برنامج آلة حاسبة - aljzazy - 22-05-20

هذا سورس كود لالة حاسبة بالمرفقات
يمكنك الاستفادة منه


RE: برنامج آلة حاسبة - سعود - 22-05-20

الوينرار مسيطر على الاغلبيةSmile
ممكن مثال مضغوط بـ winzip


RE: برنامج آلة حاسبة - aljzazy - 22-05-20

ولا يهمك احلى ملف بال zip


RE: برنامج آلة حاسبة - Doctor GME - 23-05-20

شكراً أخى aljzazy لمحاولتك المساعدة
ولكن هدفى هو آلة حاسبة مثل الموجودة فى الأندرويد
بمعنى آخر تجرى العمليات الحسابية وهى موجودة على الشاشة
وليس مثل المثال المرفق يختفى الرقم بمجرد الضغط على أحدى العلامات الحسابية


RE: برنامج آلة حاسبة - atefkhalf2004 - 23-05-20

والله منتهي الزوق هذا المنتدي
اخي aljzazy
ممكن نشغلها من الكي بورد
وايضا لي مشاركة
كمبوبوكس في الداتاجريد
برجاء الرد


RE: برنامج آلة حاسبة - atefkhalf2004 - 24-05-20

محتاج مساعدة