Visual Basic 6, haciendo calculadora, no funciona

Cerrado
Denunciar
Message postés
6
Date d'inscription
viernes, 15 de marzo de 2013
Estatus
Miembro
Última intervención
viernes, 15 de marzo de 2013
-
Message postés
11
Date d'inscription
lunes, 15 de julio de 2013
Estatus
Miembro
Última intervención
miércoles, 17 de julio de 2013
-
Hola,
Estoy haciendo una calculadora en Visual pero no logro hacer que funcione, tiene las operaciones básicas (suma, resta, multiplicación y división) y unos conversores (a euro, dolar estadounidense y dolar canadiense), los botones de los números los puse con una matriz para simplificar el proceso al igual que los operadores, el código es este

Option Explicit 
 Dim Signo As Integer 
 Dim Anterior As Double 

Private Sub Cmd_numero_Click(Index As Integer) 
'El valor del index queda como el valor de la caja de texto 
TxtCalc.Text = TxtCalc.Text + Cmd_numero(Index).Caption 
End Sub 

Private Sub Cmd_operador_Click(Index As Integer) 
Signo = Index 'si index es 0 sumas, si es 1 restas...... 
 Anterior = Val(TxtCalc.Text) 
 TxtCalc.Text = "" 
End Sub 

Private Sub Cmdigu_Click() 

Select Case Signo 'la variable signo te dice si sumas(0) si restas(1)...... 
 Case 0 
 TxtCalc.Text = Suma(Anterior, Val(TxtCalc.Text)) 'llamada a la función suma 
 Case 1 
 TxtCalc.Text = resta(Anterior, Val(TxtCalc.Text)) 
 Case 2 
 TxtCalc.Text = multiplicar(Anterior, Val(TxtCalc.Text)) 
 Case 3 
 TxtCalc.Text = Dividir(Anterior, Val(TxtCalc.Text)) 
 Case 4 
 TxtCalc.Text = Euro(Anterior, Val(TxtCalc.Text)) 
 Case 5 
 TxtCalc.Text = DolarAm(Anterior, Val(TxtCalc.Text)) 
 Case 6 
 TxtCalc.Text = DolarCan(Anterior, Val(TxtCalc.Text)) 
End Select 


End Sub 

Private Sub CmdNueva_Click() 
TxtCalc.Text = "" 
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 Function Euro(Numero As Integer, Operador As Integer) As Integer 
Euro = Numero / 16.29 
End Function 

Private Function DolarAm(Numero As Integer, Operador As Integer) As Integer 
DolarAm = Numero / 12.23 
End Function 

Private Function DolarCan(Numero As Integer, Operador As Integer) As Integer 
DolarCan = Numero / 12.23 
End Function 


Pero no logro que en los "case" me detecte la variable "Anterior" y me manda el error el tipo de argumento ByRef no coincide

Alguien sabe donde esta mi error y como solucionarlo??

Gracias de antemano

1 respuesta

Message postés
11
Date d'inscription
lunes, 15 de julio de 2013
Estatus
Miembro
Última intervención
miércoles, 17 de julio de 2013
4
Hola, en esta pagina podras encontrar una calculadora basica (suma, resta, multiplicacion y division) espero que te sirva.
https://pollitolpbbryan.wixsite.com/inicio!visual-basic-60/c20ju