Programar una calculadora en visual basic
Hola,espero que te sirva para algo...
Lo que les presento a continuación es la forma de como programar una calculadora con las funciones aritméticas básicas (suma, resta, multiplicación y división), en el ambiente de programación de visual.
Lo primero que vamos a hacer y que solo por esta ves les voy a enseñar es entrar al visual studio 2010 como se muestra en la siguiente imagen.
Al entrar vamos a dar click en nuevo proyecto.
ok, luego de eso seleccionamos la opción windows form de visual basic.
ok, luego de lo anterior les aparecerá el área de trabajo de visual basic, a su lado izquierdo verán la caja de herramientas o “toolbox” en ingles, que es donde se encuentran todos los instrumentos que se utilizan en visual para crear lo que es la interfaz gráfica de un programa
muy bien, si ven las imágenes un poco pequeñas pueden dar click sobre ellas y les aparecerán un poco mas grandes
luego vamos a irnos a propiedades para cambiarle el nombre al formulario, en este caso le vamos a poner Calculadora en la casilla que dice Text
como notan, ya se ha cambiado el nombre del formulario por “Calculadora”
Ahora si vamos a lo que es el diseño de la interfaz gráfica de nuestra Calculadora, lo único que tenemos que hacer es buscar un textbox en la caja de herramientas a nuestro lado izquierdo, seleccionarlo y arrastrarlo hasta el formulario, y lo mismo hacemos con los botones, ocuparemos un solo textbox y 17 botones, también por mas rapidez si lo desean ya cuando han arrastrado el botón al formulario, lo pueden seleccionar y darle copiar y pegar, para crear mas botones
ok, como vemos en la imagen, ya tengo los botones y el textbox acomodados, uds pueden acomodarlos de la manera que ustedes quieran, yo en mi caso lo haré como lo ven en la imagen anterior,,,
bueno, el siguiente paso será cambiarle los nombres a los botones,al igual que hicimos con el formulario para cambiarle el nombre, seleccionamos el boton, nos vamos a propiedades y en text procedemos a ponerle a los botones, (1, 2, 3, 4, 5, 6, 7, 8, 9, 0), (=, +, -, *, /, CE)
de manera que nos quede de la siguiente forma =
ok, seguimos, un buen detalle que seria bueno indicarles, es que por estética de programación y para que resulte mas fácil entender el código, tanto para nosotros como para los que vean nuestro código, es cambiarle los nombres a los botones en la casilla que dice Name en propiedades y que por default trae “Buttom1” y al textbox tambien en la casilla name que por default trae “TextBox1”, en mi caso les pondre al TextBox, “txtResultado” y a los botones “btn1, etc”, eso si que sean nombres significativos, que se entienda por ejemplo btn que es un botón y txt que es un textbox, asi como se muestra en la siguiente imagen
ok, otro detalle es que como estamos programando una calculadora, las únicas entradas que tendrá el programa serán los botones, así que en el textbox en propiedades vamos a irnos a la casilla enabled y cambiamos “true” por “false”, esto se los digo porque si editamos en el textbox el programa se nos va a caer, esta parte no se las voy a mostrar en una imagen porque espero que ya sepan como cambiarlo!
AHORA SI, vamos a entrar a lo que es programación, para poder escribir código y hacer que nuestra calculadora sea funcional, vamos al botón cero y le damos doble click, y se nos mostrara lo siguiente
Public Class Form1
Private Sub btn0_Click(sender As System.Object, e As System.EventArgs) Handles btn0.Click
End Sub
End Class
y dentro del private sub vamos a escribir el siguiente codigo,
Public Class Form1
Private Sub btn0_Click(sender As System.Object, e As System.EventArgs) Handles btn0.Click
txtResultado.Text = txtResultado.Text & “0”
End Sub
End Class
y en imagen se muestra de la siguiente manera,
luego procedemos a hacer lo anterior a todos los botones excepto los botones se suma, resta, multiplicación, división e igual,,, como se muestra en la siguiente imagen
para los que se pregunten para que sirve esta linea de código
txtResultado.Text = txtResultado.Text & “1”
ese código nos servirá para que al momento de hacer click sobre la tecla “1” se nos muestre en el textbox y nos permita también escribirlo varias veces como por ejemplo al escribir 112,,,
OK, ahora vamos a programar el botón CE, igualmente damos doble click en el botón y aparecera el siguiente codigo, en mi caso en propiedades -> Name le puse el nombre de btnCE, por eso sale con ese nombre,,,,
Private Sub btnCE_Click(sender As System.Object, e As System.EventArgs) Handles btnCE.Click
End Sub
End Sub
luego escribimos el siguiente código dentro del private sub
txtResultado.Clear() ‘(esto nos permitira borrar lo que hay en el textbox)
txtResultado.Text = “0” ‘(esto nos permitira mostrar un “cero” cuando borremos lo que hay en el textbox)
txtResultado.Text = “0” ‘(esto nos permitira mostrar un “cero” cuando borremos lo que hay en el textbox)
tal y como se muestra a continuación
ya entonces podemos correr por primera ves nuestra calculadora, para ver si realmente funcionan los botones de los número y el de CE, de mi parte ya lo corrí y todo va bien!
OK, Ahora quiero que declaremos unas variables globales, que nos permitirán almacenar los datos para poder hacer las operaciones, vean la siguiente imagen,,,
declare la variable “Dim operacion As Double” para almacenar el tipo de operación que vamos a realizar
1->para suma
2->para multiplicación
3->para resta
4->para división
luego declara las variables dato y datoB para almacenar los valores que vamos, ya sea a sumar, multiplicar, restar o dividir, son de tipo double porque la calculadora nos permitira hacer los calculos de valores decimales y si los declaramos como enteros la calculadora no nos servira y el programa se caera,,,
por ultimo declare la variable “Dim resultado As Double” para almacenar el resultado de las operaciones,,,
OK, ahora ya casi terminando, procedemos a dar doble click a los botones de suma, resta, división, y multiplicación
y escribimos el siguiente código que muestro en la siguiente imagen
dato = Val(txtResultado.Text) ,,, esta linea de código lo que hace es extraer el valor que hay en el textbox y almacenarlo en la variable dato,,,
operacion = 2 ,,, luego acá lo que hacemos es asignar el tipo de operación en este caso dijimos anteriormente que 2 era para multiplicación
LUEGO DE LO ANTERIOR, nos vamos al botón de “=” , damos doble click y escribimos el siguiente código
datoB = Val(txtResultado.Text),,, esto nos va a permitir extraer el segundo valor que se desee sumar, multiplicar, restar o dividir
Select Case operacion
Case 1
resultado = dato + datoB
Case 2
resultado = dato * datoB
Case 3
resultado = dato – datoB
Case 4
resultado = dato / datoB
End Select
Case 1
resultado = dato + datoB
Case 2
resultado = dato * datoB
Case 3
resultado = dato – datoB
Case 4
resultado = dato / datoB
End Select
con el select case se obtiene el valor que tenga la variable operacion en ese momento y escoge uno de los casos que sea, si tiene el valor 3 se va al case 3 y se realiza una resta
txtResultado.Text = resultado,,, acá mostramos el resultado en el textbox
y ya con esto nuestra calculadora es completamente funcional!!!!
PARA LOS QUE QUIEREN Y PARA MEJORAR LA PROGRAMACIÓN DE LA CALCULADORA, podemos hacer lo siguiente que yo realice,,,
después del txtResultado.Text = resultado,,, escribimos,,, operacion = 0
y para terminar escribimos el siguiente código en cada uno de los botones de los números, desde el o hasta el 9
al escribirlo lo tenemos que hacer antes de la linea de código txtResultado.Text = txtResultado.Text & “1”
y no,s quedaría asi,,
If operacion = 0 Then
txtResultado.Clear()
operacion = 8
End If
txtResultado.Clear()
operacion = 8
End If
txtResultado.Text = txtResultado.Text & “1”
tal y como podemos notar en la siguiente y ultima imagen,,
y así hemos terminado nuestra calculadora básica en visual basic
hay les dejo los codigos...
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 función 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 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 función 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














No hay comentarios:
Publicar un comentario