miércoles, 4 de noviembre de 2009

EJERCICIOS CON FORMULARIOS

7. Calculadora







Código: Módulo Mmain

PUBLIC ban AS Integer

PUBLIC aux1 AS Integer

PUBLIC aux2 AS Integer


PUBLIC SUB _new()


END


PUBLIC SUB Button18_Click()


ME.Close


END


PUBLIC SUB Button1_Click()


TextBox1.Text = TextBox1.Text & "1"


END


PUBLIC SUB Button2_Click()


TextBox1.Text = TextBox1.Text & "2"


END


PUBLIC SUB Button3_Click()


TextBox1.Text = TextBox1.Text & "3"


END


PUBLIC SUB Button4_Click()


TextBox1.Text = TextBox1.Text & "4"


END


PUBLIC SUB Button5_Click()


TextBox1.Text = TextBox1.Text & "5"


END


PUBLIC SUB Button6_Click()


TextBox1.Text = TextBox1.Text & "6"


END


PUBLIC SUB Button7_Click()


TextBox1.Text = TextBox1.Text & "7"


END


PUBLIC SUB Button8_Click()


TextBox1.Text = TextBox1.Text & "8"


END


PUBLIC SUB Button9_Click()


TextBox1.Text = TextBox1.Text & "9"


END


PUBLIC SUB Button10_Click()


TextBox1.Text = TextBox1.Text & "0"


END


PUBLIC SUB Button11_Click()


TextBox1.Text = TextBox1.Text & "."


END


PUBLIC SUB Button17_Click()


TextBox1.Clear


END


PUBLIC SUB Mas_Click()

ban = 1

IF TextBox1.Text <> 0 THEN

aux1 = TextBox1.Text

ELSE

aux1 = 0

ENDIF

END


PUBLIC SUB Igual_Click()


IF TextBox1.Text <> 0 THEN

aux2 = TextBox1.Text

ELSE

aux2 = 0

ENDIF

TextBox1.text = operaciones(ban, aux1, aux2)

END


PUBLIC FUNCTION operaciones(opera AS Integer, v1 AS Float, v2 AS Float) AS Integer

DIM respuesta AS Integer

SELECT CASE opera

CASE 1

respuesta = v1 + v2

CASE 2

respuesta = v1 - v2

CASE 3

respuesta = v1 * v2

CASE 4

IF v2 = 0

Message("División para cero imposible")

ELSE

respuesta = v1 / v2

ENDIF

END SELECT

RETURN respuesta


END


PUBLIC SUB Menos_Click()


ban = 2

IF TextBox1.Text <> 0 THEN

aux1 = TextBox1.Text

ELSE

aux1 = 0

ENDIF

TextBox1.Clear


END


PUBLIC SUB Multiplicacion_Click()


ban = 3

IF TextBox1.Text <> 0 THEN

aux1 = TextBox1.Text

ELSE

aux1 = 0

ENDIF

TextBox1.Clear


END


PUBLIC SUB Division_Click()


ban = 4

IF TextBox1.Text <> 0 THEN

aux1 = TextBox1.Text

ELSE

aux1 = 0

ENDIF

TextBox1.Clear


END


PUBLIC SUB Cuadrado_Click()


TextBox1.text = TextBox1.Text * TextBox1.Text

END


PUBLIC SUB Cubo_Click()


TextBox1.text = TextBox1.Text * TextBox1.Text * TextBox1.Text


END


PUBLIC SUB Binario_Click()

DIM n, i, x1, x2 AS Integer

DIM cadena, cadena2 AS String

n = TextBox1.Text

WHILE n > 0

x1 = (Int(n / 2))

x2 = n MOD 2

cadena = cadena & Str(x2)

n = x1

WEND

FOR i = Len(cadena) TO 1 STEP -1

cadena2 = cadena2 & Mid(cadena, i, 1)

NEXT

TextBox1.Text = cadena2

'Message("El resultado es ...", "Aceptar")

END


PUBLIC SUB exponenteN_Click()

DIM n AS Integer

n = 0

WHILE n > 0

TextBox1.Text = TextBox1.Text * n

WEND


END


PUBLIC SUB seno_Click()


TextBox1.Text = Sin(TextBox1.Text)


END


PUBLIC SUB coseno_Click()


TextBox1.Text = Cos(TextBox1.Text)

END


PUBLIC SUB tangente_Click()


TextBox1.Text = Tan(TextBox1.Text)


END


PUBLIC SUB Hexadecimal_Click()

DIM n, i, x1, x2 AS Integer

DIM cadena, cadena2 AS String

n = TextBox1.Text

WHILE n > 0

x1 = (Int(n / 16))

x2 = n MOD 16

IF x2 <>

cadena = cadena & Str(x2)

ELSE IF x2 = 10 THEN

cadena = cadena & "A"

ELSE IF X2 = 11 THEN

cadena = cadena & "B"

ELSE IF x2 = 12 THEN

cadena = cadena & "C"

ELSE IF X2 = 13 THEN

cadena = cadena & "D"

ELSE IF x2 = 14 THEN

cadena = cadena & "E"

ELSE IF X2 = 15 THEN

cadena = cadena & "F"

ENDIF

n = x1

WEND

FOR i = Len(cadena) TO 1 STEP -1

cadena2 = cadena2 & Mid(cadena, i, 1)

NEXT

TextBox1.Text = cadena2

'Message("El resultado es ...", "Aceptar")


END


PUBLIC SUB porcentaje_Click()

DIM n, resul AS Integer

n = 0

IF n > 0 THEN

TextBox1.Text = ((TextBox1.Text * n) / 100)

resul = TextBox1.Text

ELSE

PRINT ("Error")

ENDIF


END


PUBLIC SUB Octal_Click()


DIM n, i, x1, x2 AS Integer

DIM cadena, cadena2 AS String

n = TextBox1.Text

WHILE n > 0

x1 = (Int(n / 8))

x2 = n MOD 8

cadena = cadena & Str(x2)

n = x1

WEND

FOR i = Len(cadena) TO 1 STEP -1

cadena2 = cadena2 & Mid(cadena, i, 1)

NEXT

TextBox1.Text = cadena2

'Message("El resultado es ...", "Aceptar")

END

No hay comentarios:

Publicar un comentario