Necesitas crear una caja de texto Una matriz de diez botes de comandos para los nmeros Otra matriz de cuatro botones de comando para los operadores (+,-,/,*) Un comando para nueva operacin Un comando para el resultado (=)
CODIGO DEL FORMULARIO Private Sub Igual_Click() Select Case signo 'la variable signo te dice si sumas(0) si restas(1)...... Case 0 Text1.Text = suma(anterior, Val(Text1.Text)) 'llamada a la funcin suma Case 1 Text1.Text = resta(anterior, Val(Text1.Text)) Case 2 Text1.Text = multiplicar(anterior, Val(Text1.Text)) Case 3 Text1.Text = Dividir(anterior, Val(Text1.Text)) End Select End Sub Private Sub Nueva_Click() Text1.Text = "" End Sub Private Sub Operador_Click(Index As Integer) signo = Index 'si index es 0 sumas, si es 1 restas...... anterior = Val(Text1.Text) Text1.Text = "" End Sub Private Sub Numero_Click(Index As Integer) Text1.Text = Text1.Text + Numero(Index).Caption End Sub Private Function suma(Numero As Integer, Operador As Integer) As Integer suma = Numero + Operador End Function
Private Function resta(Numero As Integer, Operador As Integer) As Integer resta = Numero - Operador End Function Private Function multiplicar(Numero As Integer, Operador As Integer) As Integer multiplicar = Numero * Operador End Function Private Function Dividir(Numero As Integer, Operador As Integer) As Integer Dividir = Numero / Operador End Function Private Sub Salir_Click() Unload Me End Sub
Private Sub cmd0_Click() Clear Text1.Text = Text1.Text & "0" End Sub Private Sub cmd1_Click() Clear Text1.Text = Text1.Text & "1" End Sub Private Sub cmd2_Click() Clear Text1.Text = Text1.Text & "2" End Sub Private Sub cmd3_Click() Clear Text1.Text = Text1.Text & "3" End Sub Private Sub cmd4_Click() Clear Text1.Text = Text1.Text & "4" End Sub
Private Sub cmd5_Click() Clear Text1.Text = Text1.Text & "5" End Sub Private Sub cmd6_Click() Clear Text1.Text = Text1.Text & "6" End Sub Private Sub cmd7_Click() Clear Text1.Text = Text1.Text & "7" End Sub Private Sub cmd8_Click() Clear Text1.Text = Text1.Text & "8" End Sub Private Sub cmd9_Click() Clear Text1.Text = Text1.Text & "9" End Sub Private Sub cmdback_Click() Text1.Text = StrReverse(Mid(StrReverse(Text1.Text), 2)) End Sub Private Sub cmdc_Click() Form_Load End Sub Private Sub cmdce_Click() Text1.Text = "" End Sub Private Sub cmdinverse_Click() If Text1 <> "0" And Text1 <> "" Then Text1.Text = 1 / (Val(Text1.Text)) Else MsgBox "Divisin por cero" End If End Sub
Private Sub cmdmc_Click() M=0 lblmem.Caption = "" End Sub Private Sub cmdmp_Click() M = M + Val(Text1.Text) lblmem.Caption = "M" End Sub Private Sub cmdmr_Click() Text1.Text = M End Sub Private Sub cmdms_Click() M = Text1.Text lblmem.Caption = "M" End Sub Private Sub cmdpoint_Click() Text1.Text = Text1.Text & "." End Sub Private Sub cmdsign_Click() If blnsign = False Then Text1.Text = "-" & Text1.Text blnsign = True Else Text1.Text = Val(Mid(Text1.Text, 2)) blnsign = False End If End Sub
Flag = "minus" End Sub Private Sub cmdmultiply_Click() Cal Flag = "multiply" End Sub Private Sub cmddivide_Click() Cal Flag = "divide" End Sub
Private Sub cmdequal_Click() Select Case Flag Case "add" C = A + Val(Text1.Text) Text1.Text = C Case "divide" C = A / Val(Text1.Text) Text1.Text = C Case "multiply" C = A * Val(Text1.Text) Text1.Text = C Case "minus" C = A - Val(Text1.Text) Text1.Text = C End Select Flag = "" A=0 B=0 C=0 End Sub
'mnuItemPaste.Enabled = False Text1.Text = "" A=0 B=0 C=0 M=0 Flag = "" blnsign = False Cl = False End Sub Private Sub mnuItemCopy_Click() mnuItemPaste.Enabled = True End Sub luego en un modulo****************************************
Public A As Double Public B As Double Public C As Double Public M As Double Public Flag As String Public Cl As Boolean Public blnsign As Boolean
Sub Clear() If Cl = True Then Form1.Text1.Text = "" Cl = False End If End Sub Sub Cal() Select Case Flag Case "add" A = A + Val(Form1.Text1.Text) Case "minus" A = A - Val(Form1.Text1.Text) Case "multiply" A = A * Val(Form1.Text1.Text) Case "divide" If Val(Form1.Text1.Text) <> 0 Then A = A / Val(Form1.Text1.Text)