2011-12-03 3 views
0

im ayant un problème dans mon projet de calculatrice ASP .NET. J'utilise VB10, tous les codes fonctionnent, sauf pour le bouton égal. Lorsque mon entrée est 1 + 1, le résultat ne s'affichera pas dans la zone de texte. J'ai essayé une autre solution mais je n'ai toujours pas affiché le résultat. Merci d'avance.calculatrice de base asp.net

Voici mon code:

Partial Class webcalc 
    Inherits System.Web.UI.Page 
    Dim total As Double 
    Dim total1 As Double 
    Dim myOP As String 
    Dim sign As Integer 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    End Sub 

    Protected Sub btn0_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn0.Click 
     txtOutput.Text = txtOutput.Text + btn0.Text 
    End Sub 

    Protected Sub btn1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn1.Click 
     txtOutput.Text = txtOutput.Text + btn1.Text 
    End Sub 

    Protected Sub btn2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn2.Click 
     txtOutput.Text = txtOutput.Text + btn2.Text 
    End Sub 

    Protected Sub btn3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn3.Click 
     txtOutput.Text = txtOutput.Text + btn3.Text 
    End Sub 

    Protected Sub btn4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn4.Click 
     txtOutput.Text = txtOutput.Text + btn4.Text 
    End Sub 

    Protected Sub btn5_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn5.Click 
     txtOutput.Text = txtOutput.Text + btn5.Text 
    End Sub 

    Protected Sub btn6_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn6.Click 
     txtOutput.Text = txtOutput.Text + btn6.Text 
    End Sub 

    Protected Sub btn7_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn7.Click 
     txtOutput.Text = txtOutput.Text + btn7.Text 
    End Sub 

    Protected Sub btn8_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn8.Click 
     txtOutput.Text = txtOutput.Text + btn8.Text 
    End Sub 

    Protected Sub btn9_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn9.Click 
     txtOutput.Text = txtOutput.Text + btn9.Text 
    End Sub 

    Protected Sub btndot_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btndot.Click 
     txtOutput.Text = txtOutput.Text + btndot.Text 
    End Sub 

    '============================================OPERATIONS============================================================ 

    Protected Sub btnplus_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnplus.Click 
     total = Double.Parse(txtOutput.Text) 
     txtOutput.Text = " " 
     myOP = "+" 
     sign = 1 

    End Sub 

    Protected Sub btnmin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnmin.Click 
     total = Double.Parse(txtOutput.Text) 
     txtOutput.Text = " " 
     myOP = "-" 
     sign = 2 

    End Sub 

    Protected Sub btnmul_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnmul.Click 
     total = Double.Parse(txtOutput.Text) 
     txtOutput.Text = " " 
     myOP = "*" 
     sign = 3 

    End Sub 

    Protected Sub btndiv_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btndiv.Click 
     total = Double.Parse(txtOutput.Text) 
     txtOutput.Text = " " 
     myOP = "/" 
     sign = 4 
    End Sub 

    Protected Sub btndel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btndel.Click 
     txtOutput.Text = " " 
    End Sub 

    Protected Sub btneq_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btneq.Click 
     Call eq() 

    End Sub 

    Public Sub eq() 
     Select Case myOP 

      Case Is = "+" 
       total1 = total + Double.Parse(txtOutput.Text) 
       'txtOutput.Text = total1.ToString() 
       total = 0 

      Case Is = "-" 
       total1 = total - Double.Parse(txtOutput.Text) 
       txtOutput.Text = total1.ToString() 
       total = 0 

      Case Is = "*" 
       total1 = total * Double.Parse(txtOutput.Text) 
       txtOutput.Text = total1.ToString() 
       total = 0 

      Case Is = "/" 
       total1 = total/Double.Parse(txtOutput.Text) 
       txtOutput.Text = total1.ToString() 
       total = 0 


     End Select 

    End Sub 
End Class 

Répondre

1

semble fonctionner très bien pour moi si je change votre sélection cas comme celui-ci:

myOP = CType(ViewState("myOP"), String) 
total = CType(ViewState("total"), Double) 

Select Case myOP 
     Case "+" 
      total1 = total + Double.Parse(txtOutput.Text) 
      'txtOutput.Text = total1.ToString() 
      total = 0 

     Case "-" 
      total1 = total - Double.Parse(txtOutput.Text) 
      txtOutput.Text = total1.ToString() 
      total = 0 

     ..... 
     .....  
End Select 

et changement que vous bouton opérateur événement click comme celui-ci:

Protected Sub btnplus_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnplus.Click   
     total = Double.Parse(txtOutput.Text) 
     ViewState("total") = total 
     txtOutput.Text = " " 
     myOP = "+" 
     ViewState("myOP") = myOP 
     sign = 1 

End Sub 
+0

ok monsieur merci, mais quand je l'ai exécuté le résultat ne s'affiche pas dans le txtOutput.J'utilise Google Chrome comme navigateur. – steph22

+0

oh je vois pourquoi, j'ai testé votre code sur la console .. la raison en est quand jamais poster revient la valeur des variables myOP, réinitialisation totale par défaut .. En fait, vous devez enregistrer ces valeurs dans la variable Session ou ViewState, s'il vous plaît avoir regarder la réponse éditée de la mienne – Waqas

+0

merci beaucoup monsieur, ça marche. maintenant je sais que je devrais le sauver en utilisant le viewstate.thanks nouveau – steph22