منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : برنامج آلة حاسبة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
حاولت برمجة برنامج آلة حاسبة
نجحت فى تنفيذ عملية بسيطة فقط مثل 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
هذا سورس كود لالة حاسبة بالمرفقات
يمكنك الاستفادة منه
الوينرار مسيطر على الاغلبيةSmile
ممكن مثال مضغوط بـ winzip
ولا يهمك احلى ملف بال zip
شكراً أخى aljzazy لمحاولتك المساعدة
ولكن هدفى هو آلة حاسبة مثل الموجودة فى الأندرويد
بمعنى آخر تجرى العمليات الحسابية وهى موجودة على الشاشة
وليس مثل المثال المرفق يختفى الرقم بمجرد الضغط على أحدى العلامات الحسابية
والله منتهي الزوق هذا المنتدي
اخي aljzazy
ممكن نشغلها من الكي بورد
وايضا لي مشاركة
كمبوبوكس في الداتاجريد
برجاء الرد
محتاج مساعدة