Visual Basic 6, haciendo calculadora, no funciona

Cerrado
Argih Mensajes enviados 6 Fecha de inscripción viernes, 15 de marzo de 2013 Estatus Miembro Última intervención viernes, 15 de marzo de 2013 - Modificado por Carlos-vialfa el 2/04/2013, 16:10
bryan pollito Mensajes enviados 11 Fecha de inscripción lunes, 15 de julio de 2013 Estatus Miembro Última intervención miércoles, 17 de julio de 2013 - 15 jul 2013 a las 05:30
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

Consulta también:

1 respuesta

bryan pollito Mensajes enviados 11 Fecha de inscripción lunes, 15 de julio de 2013 Estatus Miembro Última intervención miércoles, 17 de julio de 2013 4
15 jul 2013 a las 05:30
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
0