Programación General > Visual Basic para principiantes
Paso De Grados Fahrenheit A Celsius
BoRJiS182:
hola buenas.....tengo un problema y es que en un programilla que tengo que hacer puedo pasar de grados celsius a fahrenheit...pero no al reves,me salta una ventanita con el mensaje "error '28' en tiempo de ejecucion" creo que puede ser debido a los decimales ya que abajo de este mensaje viene otro de "espqacio de pila insuficiente"alguien sabe como hacer para que los decimales se redondeen??o si lo estoy haciendo mal directamente....estoy perdido!
Gracias!
RadicalEd:
Muestra tú código
F_Tanori:
Debes de estar ejecutando una (s) instrucciones 'infinitamente' como un ciclo o en algun evento que se queda 'trabado'
Para redondear puedes usar
Num=Fix(NumeroaRedondear)
Num=int(NumeroaRedondear)
Como dice el buen RadicalEd deberias poner el código
saludos
BoRJiS182:
No se a que os referis con el codigo.... no se,es un simple programa de visual basic,en el que tengo dos cajas de texto (una en la que escribo Celsius y otra fahrenheit...y con eso se me tiene que mover un scroll...a ver...os pongo lo que llevo hecho.Lo de "lblColor",esta mal tambien,es que se supone que cuando el termometro marca 100 grados celsius debe aparecer un label en rojo,cuando esta al minimo debe ser azul....pasando por todos los colores...y tp se me ocurre como hacerlo...asi que si me podeis ayudar a corregirlo os estaría muyyy agradecido!!
Private Sub cmdSalir_Click()
Beep
End
End Sub
Private Sub lblColor_Click()
lblColor = vsbTemp.Value
If vsbTemp.Value = 0 Then
lblColor = RGB(255, 255, 255)
End If
If vsbTemp.Value = 100 Then
lblColor = RGB(255, 0, 0)
End If
If vsbTemp.Value = -100 Then
lblColor = RGB(0, 0, 255)
Color = RGB(rojo, verde, azul)
Color = azul * 256 ^ 2 + verde * 256 + rojo
End Sub
Private Sub mnuArchivoSalir_Click()
End
End Sub
Private Sub txtCent_Change()
txtCent.Text = Val(txtCent.Text)
txtFahr.Text = 32 + 1.8 * Val(txtCent.Text)
vsbTemp.Value = Val(txtCent.Text)
End Sub
Private Sub txtFahr_Change()
txtFahr.Text = Val(txtFahr.Text)
txtCent.Text = (Val(txtFahr.Text) - 32) * 5 / 9
End Sub
Private Sub vsbTemp_Change()
txtCent.Text = vsbTemp.Value
txtFahr.Text = 32 + 1.8 * vsbTemp.Value
End Sub
F_Tanori:
A eso se le llama código... :rolleyes:
La propiedad para cambiarle el color es
BackColor (lblColor.BackColor)
y el codigo iria en el evento de la barra (vbsTemp_Change)
Ejemplo
--- Código: Text --- Private Sub vsbTemp_Change()txtCent.Text = vsbTemp.ValuetxtFahr.Text = 32 + 1.8 * vsbTemp.Value If vsbTemp.Value = 0 ThenlblColor.BackColor = RGB(255, 255, 255)End IfIf vsbTemp.Value = 100 ThenlblColor.BackColor = RGB(255, 0, 0)End IfIf vsbTemp.Value < 0 ThenlblColor.BackColor = RGB(0, 0, 255)End If
Limita los valores de la scroll con las propiedades Max,Min
Creo que debes de cambiar el evento _Change() porque no te permite escribir apenas metes una letra se va ejecutar el evento, me parece que no es el adecudado
pudieras usar, LostFocus u otro (como validar que se haya pulsado enter)
Espero haber ayudado... cualquier cosa :comp: comunicate :hola:
Saludos
Navegación
[#] Página Siguiente
Ir a la versión completa