Visual Basic.NET - calculadora

 
Vista:

calculadora

Publicado por Daniel Esteban (15 intervenciones) el 28/08/2004 03:33:03
HOLA
NECESITO AYUDA, ESTOY CREANDO UNA SUMA HUEVOS Y NO SE COMO HACER PARA CUANDO INGRESO UNOS NUMEROS COMO: 1234 AL DARLE EN SUMAR O DIVIDIR, ETC ME BORRE EL NUMERO DE LA CAJA DE TEXTO PERO AL MISMO TIEMPO LO ALMACENE PARA PODER EFECTUAR LA OPERACION, OSEA Q ME BORRE EL NUMERO ANTERIOR DE LA CAJA DE TEXTO(1234) Y YO INGRE OTRO EN ESTA MISMA CAJA Y EFECTUE LA OPERACION.
SERA Q SI ME HICE ENTENDER

YO INGRESO:
1234
UNDO SUMAR(+) ME BORRE 1234 PERO LO ALMACENE
INGRESO:
2
Y ME SUME 1234+2
????
AH Y SE ME OLVIDABA COMO HAGO PARA PONER A FUNCIONAR, O COMO ES EL CODIGO PARA LA FUNCION RETROCESO???
GRACIAS

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:calculadora

Publicado por kikonmx (17 intervenciones) el 28/08/2004 18:02:37
A ver, no te entiendo muy bien, tienes un cuadro de texto y ahí introduces la cadena 123+ y quieres que se borre o en que estás trabajando???

me imagino que quieres el siguiente funcionamiento:

Escribir números hasta que presiones +,-,*,/
al escribir cualquiera de esos operadores que se borre lo que está escrito y que al ingresar otro número realice la operación con esos 2 números no?

si el funcionamiento es similar al que te describí, puedes hacer lo siguiente,

Declara una variable a nivel de clase ( no en alguna subrutina ) que se llame por ejemplo, Buffer de tipo Double
También declara otra que se llame DatosEnBuffer de tipo Boolean

Incializas las variables a
Buffer = 0
DatosEnBuffer = False

en el evento Onkeypress, escribes el siguiente código ( esto es solo un ejemplo para la suma, tu tienes que hacer las demás operaciones )

Dim Resultado As Double

If (e.KeyChar = "+") Then ' Checa si se presionó +
e.Handled = True ' Esto le indica a vb.net que nosotros
' vamos a manejar el evento
' de que se presiono este caracter
' y no lo visualiza
If (Not DatosEnBuffer) Then ' Si no se ha introducido ningún no.
Buffer = Val(TextBox1.Text) ' Almacena el que se escribió
DatosEnBuffer = True ' Registramos que hay un dato
' Esperando
TextBox1.Text = ""
Else ' si ya existe un dato esperando
Resultado = Buffer + Val(TextBox1.Text) ' Realiza la operación
' con el número que se acaba de
' Ingresar.
Buffer = 0 ' como ya se utilizó el dato, el buffer
' lo ponemos a 0
DatosEnBuffer = False ' e indicamos que no hay datos
TextBox1.Text = Str(Resultado) ' Ahora solo escribimos el res.
End If
End If

Esto es solo el inicio de lo que puedes hacer, solo hace falta imaginación y ganas de programar, ten en cuenta que esto no valida si el usuario introdujo algo que no son números, eso lo tienes que hacer también si quieres que el programa sea de más calidad.

En cuanto a lo de la tecla retroceso, me imagino que era para eliminar el operador y que quedara el puro número no?, pues de esta forma no lo ocupas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar