Cómo hacer una calculadora con Visual Basic

click fraud protection

Abra Visual Basic 6 y seleccione "EXE estándar" en el menú del nuevo proyecto. Verá aparecer un formulario en blanco en la pantalla.

Cambie el nombre de su proyecto y su formulario haciendo clic en "Proyecto1" en el lado derecho de la pantalla, en la lista de proyectos, e ingresando un nuevo nombre en la línea "Nombre" del cuadro Propiedades, que debería aparecer debajo de la lista del proyecto por defecto. Presione "Enter" para aceptar el nuevo nombre. Haga lo mismo con su formulario (un nombre de formulario sugerido es "CalculatorUI"), asegurándose de ingresar un nombre similar también en la propiedad "Título", que cambiará el texto en la barra superior del formulario. Guarde el proyecto en una nueva carpeta en su computadora.

Agregue botones y un cuadro de texto al formulario. Primero, agregue un cuadro de texto, que será donde aparecerán los números ingresados ​​en la calculadora, así como los resultados de los cálculos. Para ello, seleccione el botón TextBox de la barra de herramientas en el lado izquierdo de la pantalla y luego arrastre con el mouse el tamaño y la ubicación que desee para el TextBox. Una vez que haya colocado el TextBox, puede cambiar el tamaño y la ubicación arrastrándolo a otra ubicación del formulario o arrastrando los controladores (los pequeños cuadrados) a lo largo del borde del TextBox. Asegúrese de cambiar las siguientes líneas en la ventana Propiedades, con el TextBox seleccionado: "(Nombre)" = tbResult, "Alineación" = 1- Justificar a la derecha, "Formato de datos" = (haga clic en el botón "..." para seleccionar) Número, "Bloqueado" = Verdadero, y "Texto" = 0.

Seleccione el icono CommandButton en la barra de herramientas y cree el primer botón de la misma manera que creó el TextBox para agregar botones. Como referencia, use la calculadora de Windows en la vista Estándar (Programas> Accesorios> Calculadora) como base para el diseño de su calculadora, omitiendo los botones "MC", "MR", "MS" y "M +". En cada botón, cambie las siguientes propiedades (usando el botón "+" como ejemplo): "(Nombre)" = btnPlus, "Título" = +. Haga lo mismo con el resto de los botones de la calculadora y luego guarde su trabajo. Su formulario ahora debería parecerse al ejemplo que se muestra aquí.

Agrega el código. Tenga en cuenta que si los botones y el cuadro de texto no tienen el mismo nombre que el que se espera en el código que se enumera aquí, necesitará para cambiar los nombres para que coincidan con sus botones y cuadro de texto, o cambie sus botones y cuadro de texto para que coincidan con esto código. Primero necesitamos crear algunas variables para procesar la entrada de la calculadora:

Dim sLeft como cadena, sRight como cadena, sOperator como cadena Dim iLeft como doble, iRight como doble, iResult como doble Dim bLeft como booleano

Cada cálculo consta de cuatro partes: un número a la izquierda del operador (sLeft, iLeft), un operador (sOperator), un número a la derecha del operador (sRight, iRight) y un resultado (iResult). Para rastrear si el usuario está ingresando el número izquierdo o derecho, necesitamos crear una variable booleana, bLeft. Si bLeft es verdadero, se está ingresando el lado izquierdo del cálculo; si bLeft es falso, se está ingresando el lado derecho.

Inicialice la variable bLeft. Lo hacemos creando una subrutina Form_Load, que puede escribir como se indica aquí o crear automáticamente haciendo doble clic en cualquier parte del formulario que no esté cubierta por un botón o cuadro de texto. Dentro de la función, necesitamos establecer bLeft en True, porque el primer número ingresado será la parte izquierda:

Cree una subrutina que manejará el clic de cualquiera de los botones numéricos. Creamos esto como una subrutina porque usamos código idéntico para cada botón, y usar una subrutina significa no tener que repetir el mismo código diez veces. Ingrese lo siguiente debajo de la línea End Sub de la subrutina Form_Load:

Como puede ver, esta función toma un parámetro de cadena, sNumber, que contendrá el número en el que el usuario ha hecho clic. Si bLeft es verdadero, este número se agrega a la cadena que representa el número que se ingresa, sLeft, y el cuadro de texto, tbResult, se actualiza para mostrar el nuevo número. Si bLeft es falso, la misma operación se realiza utilizando sRight en su lugar.

Finalmente, cree una función de evento Click para cada número que llame a nuestra subrutina AddNumber. Puede hacer esto fácilmente haciendo doble clic en cada botón numérico, lo que creará la estructura de subrutina para usted. Luego agregue la llamada a AddNumber, reemplazando el número entre comillas con el número asociado con el botón. Para el botón cero, su código se verá así:

Del mismo modo, para el botón uno, su código se verá así:

Maneje los operadores: más, menos, tiempos y dividir. Haremos esto como el último paso, creando una subrutina que se llama en los eventos Click para los botones del operador. La subrutina tendrá el siguiente aspecto:

Si bLeft es verdadero, lo que significa que el usuario acaba de ingresar la parte izquierda del cálculo, esta subrutina establece el sOperator variable que creamos en el paso 5 para igualar el operador ingresado, que se pasa a AddOperator como la cadena sNewOperator. El segundo paso es establecer bLeft en False, porque la entrada de un operador significa que el usuario ha terminado de introducir el lado izquierdo de la ecuación. Para manejar entradas que encadenan varios operadores juntos, como 9 * 3 * 2 * 6, necesitamos También verifique si bLeft es falso, lo que significa que el usuario ha ingresado un operador donde esperábamos un es igual. Primero llamamos al evento Click para el botón igual (descrito en el siguiente paso), que hace el cálculo y establece tbResult como el resultado de lo que ya se ha ingresado. Luego borramos sRight para que el usuario pueda ingresar el siguiente número y establecemos bLeft en False para que el programa sepa que estamos ingresando el lado derecho del cálculo a continuación.

Finalmente, agregue una llamada AddOperator al evento Click de cada botón de operador, usando el mismo método que usamos en el paso 7 para crear los eventos Click para los botones numéricos. Su código para el botón más se verá así:

Cree el evento Click para el botón igual, que es el código más complejo de este programa. Cree la estructura de subrutina como lo hizo para los otros botones, haciendo doble clic en el botón igual en su formulario. Su subrutina se verá así cuando haya ingresado el código:

Las primeras tres líneas de código verifican si se han ingresado ambos lados del cálculo junto con un operador. Si solo se ingresan el lado izquierdo y un operador, el valor del lado izquierdo se copia a la derecha, por lo que podemos imitar el comportamiento estándar de la calculadora para manejar una entrada como 9 * =, que multiplica 9 por sí mismo para obtener un resultado de 81. El resto del código se ejecutará solo si se ingresan la izquierda, la derecha y el operador, y comienza copiando las cadenas de números en nuestras variables iLeft e iRight de doble tipo, que pueden hacer la cálculos. La instrucción Select Case nos permite ejecutar código diferente según el operador que se ingresó y realiza el cálculo real, colocando el resultado en iResult. Finalmente, actualizamos el cuadro de texto con el resultado, copiamos el resultado en sLeft, restablecemos sRight y establecemos bLeft = True. Estas últimas líneas nos permiten tomar el resultado del cálculo y utilizarlo para realizar otro cálculo.

Maneje los últimos tres botones de operación: sqrt,% y 1 / x. Para el evento Click del botón de raíz cuadrada, su código se verá así:

Las primeras 11 líneas de código aseguran que si no tenemos un valor ingresado para ninguno de los lados de la ecuación, sustituimos cero en lugar de intentar copiar una cadena vacía en iLeft o iRight, lo que generará una error. Las líneas intermedias realizan la función de raíz cuadrada en la parte actual del cálculo, ya sea a la izquierda o a la derecha. Finalmente, invertimos las comprobaciones que hicimos al principio para que un cero se copie como una cadena vacía en sLeft y sRight.

Para el botón de porcentaje, el código es similar, con una excepción: la operación de porcentaje solo se puede realizar si se ingresan los lados izquierdo y derecho.

Por último, el evento Click 1 / x, o fracción, que es muy similar al código anterior:

Agregue código para manejar los botones C y CE. C borra todas las entradas a la calculadora, mientras que CE solo borra el número que se está ingresando actualmente.

Ejecute su programa de calculadora y haga cualquier cálculo que desee. Esta calculadora se puede expandir fácilmente para manejar más operaciones, cálculos más complejos o incluso para ser una calculadora científica con un poco de trabajo adicional.

Propina

Si encuentra errores, verifique su código línea por línea, enfocándose en las líneas que VB ha señalado como que contienen errores, y compárelo con el código anterior. El código contenido en este artículo ha sido completamente probado para que no contenga errores, por lo que copiarlo fielmente dará como resultado un programa funcional. Si está utilizando una versión anterior de Visual Basic, puede encontrar algunos problemas en los que se han realizado cambios en el idioma entre las versiones. Las versiones anteriores de VB, por ejemplo, usaban Math. Sqrt () en lugar de Math. Sqr () para realizar una operación de raíz cuadrada. Consulte las Referencias de su versión específica para ver si es necesario realizar algún cambio.