Programación General > Visual Basic para principiantes
Paso De Grados Fahrenheit A Celsius
F_Tanori:
--- Cita de: "Angel_K_ido" ---No he probado los códigos que han puesto pero me parece que cuando el usuario ingresa un valor en un campo, por ejemplo txtCent, por lógica se ejecuta el evento txtCent_Change(), esto va a cambiar el valor de txtFahr, lo que desencadenará el evento txtFahr_Change() y al estar redondeado el valor de txtFahr la conversión a celsius no va a dar el mismo valor que ingresó el usuario por lo que txtCent cambia su valor y vuelve el evento txtCent_Change(), luego txtFahr_Change() y sigue hasta desbordar la pila.
Mi consejo es que utilices un botón para cada conversión en vez de usar los eventos de los campos.
--- Fin de la cita ---
Asi es tabien creo que es el evento equivocado, talvez un radiobutton :whistling:
--- Cita de: "albertovicat" ---Te sugiero usar "round", a la que le podés especificar cuantos decimales querés como segundo argumento, después de una coma:
print round(123.5576878,2)
123.56
Fix e Int solo te devuelven la parte entera del número.
Saludos. :hola:
--- Fin de la cita ---
No me acordaba de esa funcion en visual :P :beer:
BoRJiS182:
muchas gracias por todo...pero sigue saliendome el error ese y no puedo utilizar ningun tipo de boton...asi que ya veré como hacerlo!!gracias y lo siento por las molestias!
BoRJiS182:
Me ha ocurrido un incidente...tengo que hacer que los colores vayan gradualmente aparte de que en 100 sea rojo....cuando va bajando la cuenta tiene que ir clareandose hasta ser en 0 blanco y en los numeros negativos....ir llendo de blanco a azul....metí el siguiente codigo pero no se como hacerlo gradual....alguna idea??
Private Sub vsbTemp_Change()
txtCent.Text = vsbTemp.Value
txtFahr.Text = 32 + 1.8 * vsbTemp.Value
lblColor.BackColor = RGB(rojo, verde, azul)
If vsbTemp.Value = 100 Then
lblColor.BackColor = RGB(255, 0, 0)
End If
If vsbTemp.Value = 0 Then
lblColor.BackColor = RGB(255, 255, 255)
End If
If vsbTemp.Value = -100 Then
lblColor.BackColor = RGB(0, 0, 255)
End If
End Sub
BoRJiS182:
ya encontre la forma para que vaya de mas a menos el color!!!!!!!!!!!!os la dejo por is quereis saberlo....lo unico que no puedo hacer lo del cambio de "Fahr a Cent" por que me salen muchos errores,lo quería intentar sacar por que eso me pondría mas nota aun...asi que si sabeis sacarlo sin que salgan errores....os lo agradecería....si no,no hace falta,muchas gracias por todo!!!!!!!!!!!!!!!!!!!!!!!!!
Ahi va el codigo:
Private Sub vsbTemp_Change()
txtCent.Text = vsbTemp.Value
txtFahr.Text = 32 + 1.8 * vsbTemp.Value
lblColor.BackColor = RGB(rojo, verde, azul)
If vsbTemp.Value > 0 Then
lblColor.BackColor = RGB(255, 255 - (vsbTemp.Value * 255) / 100, 255 - (vsbTemp.Value * 255) / 100)
End If
If vsbTemp.Value = 0 Then
lblColor.BackColor = RGB(255, 255, 255)
End If
If vsbTemp.Value < 0 Then
lblColor.BackColor = RGB(255 + (vsbTemp.Value * 255) / 100, 255 + (vsbTemp.Value * 255) / 100, 255)
End If
End Sub
Navegación
[*] Página Anterior
Ir a la versión completa