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 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 originalDim Medidas(0 To 5) As Double
Private Sub BCalcular_Click()
Dim Indice As Integer
Dim X As Integer
For X = 0 To 5
If Trim(txtNumero(X)) <> "" Then
Indice = X
Exit For
End If
Next X
For X = 0 To 5
If X <> Indice Then
txtNumero(X) = Round((CDbl(txtNumero(Indice)) * Medidas(X)) / Medidas(Indice), 5)
End If
Next X
End Sub
Private Sub BUnidad_Click()
Dim X As Integer
For X = 0 To 5
txtNumero(X).Text = Medidas(X)
Next X
End Sub
Private Sub Form_Load()
Medidas(0) = 1
Medidas(1) = 39.3701
Medidas(2) = 3.28084
Medidas(3) = 1.09361
Medidas(4) = 0.00062
Medidas(5) = 0.00055
End Sub
Private Sub txtNumero_GotFocus(Index As Integer)
Dim X As Integer
For X = 0 To 5
txtNumero(X).Text = ""
Next X
End Sub