En el bloque anterior creamos 3 variables, programamos los botones +, -, X, y / para que su evento click guardara en la variable elemento1 el numero que tenemos en el textbox_operandos.
Hasta ahora tendriamos algo asi:
Las variables publicas y para los botones numericos.
Los eventos de los botones (suma, resta, division y multiplicacion)
Perfecto, seguimos
Vereis que hay una variable en los textos de la que no hemos hablado, "accion", no os preocupeis, ahora hablaremos de ella.
Para continuar necesitamos seguir pensando como una calculadora:
Despues de pulsar, por ejemplo, la tecla "+" que hacemos????
"metemos" datos. Ok.
Cuando los memorizamos?
Y
Cuando damos el resultado?
Y
Como sabe el programa si tiene que sumar o restar?
Todas las respuestas son: Cuando le demos al boton "="
direis...WTF ???
vamos hacer una cosa: pongo el codigo primero y lo analizais y despues lo explico ok?
Explicacion paso a paso
En la linea 1:
Creamos una variable integer(numero entero, sin decimales) que se llama largo_elemento1
y que como su nombre indica, su valor numerico es = a la longitud del numero que haya en la variable "elemento1"
Por ejemplo si se guardo el numero 1111 en "elemento1", entonces "largo_elemento1"sera 4.
En la linea 2:
Convertimos a double el segundo numero con el que trabajaremos, usando convert.
Le damos valor a "elemeto2", como????
Cogemos toda la cadena de caracteres(es decir, todas los numeros que tiene textbox_operandos) y le restamos lo que media el otro numero (elemento1) con "largo_elemento1"
Imaginaos:
Tenemos:
1111+232
Y en la programacion que pasaria?
tendriamos que "largo_elemento1" seria = 4, pero si os fijais en la linea 1 pone al final "+1" entonces no seria 4, sino 5
Le quitamos 5 caracteres a lo que tenemos arriba, que queda?
232
Asi es como obtenemos es segundo elemento, y todo lo hacemos con substring, que nospermite cortar cadenas a nuestro antojo.
En el bloque de lineas 3:
Aqui usamos "accion", os acordais de los condicionales IF?
Si revisamos el evento click del boton "+" veremos que tambien asignamos el valor "suma" a la variable "accion", supongo que ahora le veis el sentido.
lo que decimos es :
Si la accion = "suma" entonces resultado es = a elemento1 + elemento2
IF accion = "suma" Then resultado = elemento1 + elemento2
se entiende no?
En la linea 4:
Lo unico que hacemos es cambiar la propiedad "text" de textbox_operandos por el valor de resulatado.
Y hoy para acabar me gustaria que pensarais en como podriamos hacer un tecla para borrar el ultimo digito y otra que lo borrara todo.
Voy a colgar el ejemplo que hemos hecho por si quereis verlo.
https://rapidshare.com/files/4175240570/Calculadora-ejemplo_By_Franc.rar
Nos vemos mañana.
Se puede simplificar el código añadiendo un par de Handles... algo como
ResponderEliminar" Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click', etc"
Luego en el código del sub, usar como variable
"sender.text.ToString", lo que retornaría el texto escrito en cada botón...
pd: si necesitas ayuda programando yo tengo algo de tiempo libre, y no soy malo programando ;)
Hola, anonimo.
ResponderEliminarLo que dices es totalmente correcto y me ha encantado leer tu comentario, pero si que lo encuentro un poco para gente mas "experta", y recuerda, que esto esta dirigido para personas que acaban de empezar, y aunque se el codigo se podria mejorar, a mi forma de ver queda mas claro asi.
Eso si, mas adelante claro que meteremos clausulas Handles y crearemos Events y controles propios.
Muchas gracias por tu coment y tu tiempo