A medida que vamos adquiriendo conocimiento acerca de Visual Basic .NET, van aumentando las posibilidades de hacer mejores proyectos en nuestro IDE Visual Studio; como es de costumbre en la programación, al igual como el tradicional «Hola Mundo», se ha vuelto una costumbre hacer calculadoras en este lenguaje de programación, con el fin de afianzar los conocimientos. Por eso, el día de hoy, como de costumbre en este lenguaje, te traemos: Cómo hacer una calculadora en Visual Basic .NET
Cómo hacer una calculadora en Visual Basic .NET
Creación del diseño de nuestra calculadora
Para comenzar nuestro post de Cómo hacer una calculadora en Visual Basic .NET, en el formulario que hemos creado destinado para nuestra calculadora, vamos a arrastrar los elementos necesarios para hacer la calculadora. Básicamente son necesarios 17 «Buttons» correspondientes a los números y a las operaciones, y un «TextBox» para reflejar el resultado. Nos quedaría así:
Asignarle el «Name» a los elementos
Una vez tengamos todos los elementos en orden, es necesario asignarles un nombre a nuestros «Buttons» y a nuestro «TextBox» por cuestiones de orden y estandarización.
🌟 ¡Visita Nuestra Tienda para Programadores! 🌟Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!
En nuestro caso, los «Buttons» que cumplen la función de los números, llevan el «Name» de «bt1, bt2, btsuma, btigual ETC«. Nuestro «TextBox» llevará el «Name» de «tbresultado». Esto lo hacemos con el fin de establecer un orden y trabajar de forma correcta.
Declaración de las variables
En la parte superior de nuestro código, dentro de la clase publica de nuestro formulario, vamos a declarar 4 variables publicas:
Dim Operacion As String Dim ValorResultado As Nullable(Of Double) = Nothing Dim Valor2 As Nullable(Of Double) = Nothing Dim Bandera As Boolean
La variable «Operacion» de tipo «String» es la que viajará al procedimiento (que haremos en la parte final de nuestro código) que realizará la operación, esta contendrá el símbolo de nuestra operación (» + – * / «).
A continuación se declara la variable «ValorResultado» como «Nullable(Of Double)» que quiere decir qué dicha variable va a aceptar valores nulos (que no tienen ningún valor) y va a ser de tipo «Double». Esa variable será igual a «Nothing» , o sea a nada.
Luego «Valor2» será la encargada de contener el segundo valor que se introduzca. Al igual que la anterior, será igual a «Nothing» y de tipo «Nullable(Of Double)».
Por ultimo, la variable «Bandera» nos servirá de bandera (interruptor) y será de tipo «Boolean».
Código de los botones
Botones Numericos:
En esta parte vamos a asignarle a cada «Button» un código, para que nuestra calculadora pueda funcionar de forma correcta.
A los botones numéricos le vamos a asignar el siguiente código:
Esto se lo colocaremos a todos los números, así sucesivamente hasta llegar al número «0».
Private Sub bt1_Click(sender As Object, e As EventArgs) Handles bt1.Click DeterminarConcatenar() tbresultado.Text &= "1" End Sub
En el código anterior, vemos lo que se ejecutará cuando se haga click en cada «Button» numérico. En este caso «DeterminarConcatenar()» es un procedimiento que explicaremos al final, que en pocas palabras evaluará el estado de nuestro «TextBox», limpiará y concatenará para introducir el siguiente numero. Luego de eso (tbresultado.Text &= «1»), le especificamos la propiedad «Text» a nuestro «tbresultado», nuestro «TextBox» gracias al signo ampersand («&») contendrá la suma de todos los números introducidos anteriormente, más («+») el numero «1». Esto lo haremos con todos los «Buttons», solo debemos cambiar el numero dependiendo del «Button» al que se le está asignando el código.
Botones de operaciones matematicas:
En esta parte, a los botones que hacen referencia a las operaciones matemáticas, se les asignará el siguiente código:
OperacionProceso() Operacion = "+"
Se ejecutará el procedimiento «OperacionProceso()», que es aquel que efectuará la operación dependiendo el signo. Luego, a la variable que creamos en la parte superior llamada «Operacion», le asignaremos un operador que solo cambiará el signo dependiendo la operación.
Botón punto:
Este botón nos ayudará es especificar números decimales, y así obtener un resultado decimal. Su código es el siguiente:
DeterminarConcatenar() If InStr(tbresultado.Text, ".", CompareMethod.Text) = 0 Then tbresultado.Text &= "." End If
Este condicional se hace para poder establecer solo una vez un punto en nuestro numero. Con «InStr(tbresultado.Text, «.», CompareMethod.Text) = 0″ lo que hacemos es obtener el numero entero del texto del «TextBox» con nombre «tbresultado» y verificar el numero de veces que dentro de ese numero hay un punto, eso lo hacemos con el metodo «CompareMethod.Text». Si esa condición se cumple, entonces el texto de «tbresultado» será igual al contenido de «tbresultado» más un punto.
Botón borrar:
Este botón nos limpiará el «TextBox» con nombre «tbresultado», el código es el siguiente:
tbresultado.Text = "0" Valor2 = Nothing ValorResultado = Nothing
Al hacer click en el este en el «Button» con nombre «btborrar», la propiedad texto de «tbresultado» será igual a cero («0»). Luego las variables «Valor2» y «ValorResultado» serán iguales a «Nothing» (Nada).
Botón igual:
Este botón nos dará el resultado de la operación. Su código es sencillo y es el siguiente:
OperacionProceso() Operacion = ""
Simplemente lo que hacemos es llamar al procedimiento «OperacionProceso()» que es el que realiza la operación. Luego la variable «Operacion» es igual a Vacio; esto lo hacemos para no entre en ningún «Case» del «Select Case» que hay en el procedimiento anteriormente mencionado.
Procedimientos
Procedimiento «DeterminarConcatenar()» :
Como lo dijimos anteriormente, este procedimiento nos servirá para limpiar el «TextBox» que contiene el resultado final. Si se presiona un operador, es necesario que se limpie nuestra caja de texto para poder ingresar el segundo numero; de esto se encarga este procedimiento. Ahora veamos el código:
Primer condicional:
If Bandera = True Then tbresultado.Text = "" Bandera = False
Vemos que está compuesto por dos condicionales. El primer «If» cuenta con la condición que cuando la variable «Bandera» sea verdadera, el «TextBox» del resultado se limpiará e instantáneamente recibirá el segundo numero.
Luego tenemos el segundo y último condicional:
ElseIf tbresultado.Text = "0" Then tbresultado.Text = "" End If
Nuestro segundo condicional, el «ElseIf» nos ilustra que, cuando la caja de texto tenga únicamente el número cero («0»), esta se limpie y permita introducir el siguiente número.
una pregunta porque al poner la variables operacionproceso() me la marca como error ya que no esta declarada.
si es asi debo ponerla como Dim operacionproceso as string
No, es un procedimiento no una variable.
public sub OperacionProceso()
end sub
Estimados: como hago para guardar el proyecto en este caso una calculadora (convertidor de número científico a decimal) y que cuando yo habra el archivo sólo aparezca el cuadradito del convertidor. Gracias
Xq el proceso determinarconcatenar() me marca error??
el procceOperacionProceso queda vacio