Image138.gif (49818 bytes)

EUROCALCULADORA

En este ejemplo vas a construir un programa que convierte Euros a pesetas o al contrario.

Abre Visual Basic y crea un nuevo proyecto Exe estándar.

Introduce dos etiquetas y dos textbox como en la imagen de la izquierda.

Image139.gif (73196 bytes) Modifica la propiedad Caption de las etiquetas para que muestren el texto: Pesetas y Euros respectivamente

 

Añade un control Image y modifica su propiedad Picture para que muestre el archivo MONEDAS.GIF

Image140.gif (98272 bytes)  

 

 

 

Modifica la anchura del formulario usando los tiradores, si la imagen no cabe dentro de él. También puedes hacer que la imagen se ajuste al tamaño que des al control activando su propiedad Strech (elige true)

 

 

Image141.gif (81940 bytes) Para introducir código en el programa haz doble-click sobre el control Textbox llamado Text1 y comprueba que aparece seleccionado el suceso Change en la parte superior izquierda de la ventana de código.

Esta subrutina (Change) se ejecutará cada vez que se modifique el contenido del control Text1 ( es decir, cada vez que se escriba un número nuevo)

Image142.gif (75557 bytes) La instrucción que escribimos significa:

Si el contenido del control Text1 es un número mayor de 0 entonces escribe en el control Text2 el resultado de dividir ese valor entre 166.386 es decir pasarlo a Euros.

Guarda el proyecto con el nombre Euros para el formulario y PrEuros para el proyecto. Ejecuta el programa e introduce la cantidad 5000 en el primer Textbox. Observa como aparece su valor en Euros.

Vamos a modificar el programa para que muestre sólo los dos céntimos de euro. Utiliza la función Format con dos espacios para los enteros y dos para los decimales (##,##)
Observa que hemos modificado la instrucción If ..Then añadiendo End If para evitar escribir una linea demasiado larga.

Ejecuta de nuevo el programa y observa como ahora la cantidad en euros aparece correctamente con dos céntimos.

La instrucción Format nos permite también mostrar el símbolo del Euro, para eso tienes que introducirlo en la cadena de formato (Alt Gr + E)
 

 

 

 

Observa como ahora el símbolo del Euro aparece delante de la cantidad.

 

 

 

 

Modifica la propiedad Font del control Text2 para que la cantidad en Euros aparezca más grande, con otro color, etc.

Ahora introduce dos controles TextBox más: Text3 y Text4, con dos nuevas etiquetas Label y escribe código siguiente en el control Text3 (haz doble-clic)

Puedes copiar el código anterior y modificarlo:

Observa que ahora las cantidades que escribamos en el textBox Text3 se convertirán de Euros a pesetas en el TextBox Text4.

Modificamos la función Format porque no necesitamos decimales, sólo números enteros (##)

Este es el resultado final:

En las cajas de texto de la izquierda escribimos las cantidades que se convierten automáticamente dentro de las cajas de texto de la derecha.

Comprueba que si modificas los textbox de la derecha NO PASA NADA, puesto que no tienen código ninguno.

 

 

ESTA PRÁCTICA CONTINUA AÑADIENDO ETIQUETAS QUE MUESTREN CUANTAS MONEDAS Y BILLETES CORRESPONDEN A LA CANTIDAD MOSTRADA EN EUROS:  

euro13.gif (66596 bytes)

 

Para mostrar el número de monedas que corresponden a la cantidad de euros, introduce etiquetas debajo de cada una.

Ponles como nombre: Cent1, cent2, cent5, cent10, cen20 y cent50 respectivamente.

 

euro14.gif (94283 bytes)

 

Y debajo de los euros añade las etiquetas:

Euro1, euro2, euro5, euro10, euro20, euro50, euro100, euro200 y euro500.

Ahora introduciremos código en el textbox2 (cada vez que cambie)
Definimos dos variables enteras: Euro y centimos.
En la variable euro guardamos la parte entera de convertir las pesetas en euros. En la variable centimos guardamos la parte decimal multiplicada por 100 ( o sea: los céntimos) como número entero.

euro15.gif (30567 bytes)

 

Este es el código completo que debes introducir en el evento CHANGE del textbox2: 

CADA VEZ QUE CAMBIE EL CONTENIDO de TEXT2 se realizan las siguientes operaciones:

euro16.gif (82410 bytes)

Private Sub Text2_Change()
Dim Euro As Long, centimos As Long
Euro = Fix(Text1 / 166.386) 'evita redondeo de enteros
centimos = ((Text1 / 166.386) - Euro) * 100
cent1 = 0 'poner etiquetas a cero
cent2 = 0
cent5 = 0
cent10 = 0
cent20 = 0
cent50 = 0
euro1 = 0
euro2 = 0
euro5 = 0
euro10 = 0
euro20 = 0
euro50 = 0
euro100 = 0
euro200 = 0
euro500 = 0
cent50 = centimos \ 50
centimos = centimos - cent50 * 50
cent20 = centimos \ 20
centimos = centimos - cent20 * 20
cent10 = centimos \ 10
centimos = centimos - cent10 * 10
cent5 = centimos \ 5
centimos = centimos - cent5 * 5
cent2 = centimos \ 2
centimos = centimos - cent2 * 2
cent1 = centimos \ 1
centimos = centimos - cent1
' a continuación los euros
euro500 = Euro \ 500
Euro = Euro - euro500 * 500
euro200 = Euro \ 200
Euro = Euro - euro200 * 200
euro100 = Euro \ 100
Euro = Euro - euro100 * 100
euro50 = Euro \ 50
Euro = Euro - euro50 * 50
euro20 = Euro \ 20
Euro = Euro - euro20 * 20
euro10 = Euro \ 10
Euro = Euro - euro10 * 10
euro5 = Euro \ 5
Euro = Euro - euro5 * 5
euro2 = Euro \ 2
Euro = Euro - euro2 * 2
euro1 = Euro \ 1
Euro = Euro - euro1

End Sub

  • Se ponen TODAS las etiquetas a cero
  • Si la cantidad de céntimos es mayor de 20 se muestran las unidades de 50 céntimos y se restan del total.
  • Si la cantidad en céntimos es mayor de 10 se muestran las unidades de 20 céntimos y se restan del total.
  • Etc...
  • Se hace lo mismo con las unidades en Euros:
  • Si la cantidad de euros es superior a 200, se muestran las unidades de 500 euros y se restan del total de euros.
  • Si la cantidad de euros es superior a 100, se muestran las unidades de 200 euros y se restan del total de euros.
  • Etc...

volvera.gif (6294 bytes)