Tema: FAQ's de VB6
Ver Mensaje Individual
  #189 (permalink)  
Antiguo 29/03/2011, 09:24
Avatar de culd
culd
 
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 21 años
Puntos: 19
Conversor de Unidad

A pedido del amigo aca en el foro, que queria hacer un conversor similar al de una web, me tome el trabajo de hacerlo de la forma mas faicl y efectiva... Lo dejo para que abran la mente de como hacer este tipo de algoritmo matematico en pocas lineas de codigo....

Cita:
Iniciado por sergimbo Ver Mensaje
Hola! Pues resulta que estoy haciendo un conversor de unidades el cual sigue este formato:

http://elticus.com/?contenido=56&allmsg#mensajes


El boton de "Unidad" lo tengo muy claro pero el problema lo tengo con calcular.

Resulta que ese conversor tu puedes pasar de metros a pulgadas etc. pero tambien de pulgadas a metros sin importar el orden. Asi pues tu en el label correspondiente a yardas, por ejemplo, pones un numero cualquiera y te saca la equivalencia en las demas.


La cosa es, como puedo hacer que el visual basic sepa que label de esas 6 tenga algun numero? Es decir, como le digo al programa "si la label de nombre "lblyardas" tiene un numero haz estas operaciones=?

Otra cosa, como puedo hacer para que solo se pueda escribir en una label de las 6 a la vez?

Gracias por su ayuda
Lo tome como un ejercicio mental, asi que me tome el trabajo de hacerlo.

- Insertar 2 CommandButton
BUnidad
BCalcular

- Insertar una matris de TextBox (6 elementos)
txtNumero

Copiar el siguiente codigo en el Formulario:

Código vb:
Ver original
  1. Dim Medidas(0 To 5) As Double
  2.  
  3.  
  4. Private Sub BCalcular_Click()
  5. Dim Indice As Integer
  6. Dim X As Integer
  7.  
  8. For X = 0 To 5
  9.     If Trim(txtNumero(X)) <> "" Then
  10.         Indice = X
  11.         Exit For
  12.     End If
  13. Next X
  14.  
  15. For X = 0 To 5
  16.     If X <> Indice Then
  17.         txtNumero(X) = Round((CDbl(txtNumero(Indice)) * Medidas(X)) / Medidas(Indice), 5)
  18.     End If
  19. Next X
  20. End Sub
  21.  
  22. Private Sub BUnidad_Click()
  23. Dim X As Integer
  24. For X = 0 To 5
  25.     txtNumero(X).Text = Medidas(X)
  26. Next X
  27. End Sub
  28.  
  29. Private Sub Form_Load()
  30. Medidas(0) = 1
  31. Medidas(1) = 39.3701
  32. Medidas(2) = 3.28084
  33. Medidas(3) = 1.09361
  34. Medidas(4) = 0.00062
  35. Medidas(5) = 0.00055
  36. End Sub
  37.  
  38. Private Sub txtNumero_GotFocus(Index As Integer)
  39. Dim X As Integer
  40. For X = 0 To 5
  41.     txtNumero(X).Text = ""
  42. Next X
  43. End Sub