Autor
|
Tema: [Solucionado] Alarma (No suena :S) (Leído 6,181 veces)
|
Chuxxx
|
Hola gente, estoy haciendo un programita de alarma en VB.NET2005 Tengo un Timer (Que hasta le puse el interval a 1) y este codigo: Private Sub tmVerificarTiempo_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmVerificarTiempo.Tick If hora1 = Date.Now Then MsgBox(recorda1, MsgBoxStyle.Information, "Acordate!!") End If End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load hora1 = #3:23:00 PM# End Sub Y la alarma nunca suena :S no entiendo el error:S alguien que me ayude?
|
|
« Última modificación: 22 Septiembre 2010, 03:01 am por [D4N93R] »
|
En línea
|
|
|
|
Shell Root
|
Formatea así a ver que os pasa, Dim sHora As String sHora = format$(time, "HH:nn:ss")
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
|
|
|
En línea
|
|
|
|
Chuxxx
|
hora1 = Format$(time, "HH:nn:ss") Error 1 No se ha declarado el nombre 'time'. Es VB2005.NET No funka 
|
|
|
En línea
|
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.646
My software never has bugs. Its just features!
|
Qué tipo de datos es Hora1? es datetime? String? que error te da? de conversión? Necesitas siempre aclarar esos puntos  PD: Dices que no suena, será que no sale el textbox? o que cuando sale el textbox no suena?
|
|
|
En línea
|
|
|
|
Chuxxx
|
hora1 es date Ningun error, directamente no sale el MsgBox cuando la hora actual coincide con la variable
|
|
|
En línea
|
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.646
My software never has bugs. Its just features!
|
Pues posiblemente está comparando la parte Miliseconds de datetime, por lo que es difícil que coincidan y entre en ese bloque. Prueba así, que esto no falla: if (DateTime.Compare(DateTime.Now,hora1) > -1)
En VB.Net es algo así: IF DateTime.Compare(DateTime.Now,hora1) > -1 Then
El compare te regresa lo siguiente, tomando como referecia A el primer parámetro y B como el segundo. -1 si A es menor que B 0 Si A es igual a B 1 Si A es mayor que B Saludos!
|
|
|
En línea
|
|
|
|
Chuxxx
|
Private Sub tmVerificarTiempo_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmVerificarTiempo.Tick IF DateTime.Compare(DateTime.Now,hora1) > -1 Then MsgBox(recorda1, MsgBoxStyle.Information, "Acordate!!") End If End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load hora1 = #1:16:00 PM# End Sub Eso tengo, y salta el cartel aunque la hora no coincida... :S PD: Como haces qe el codigo tenga colores? 
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
PD: Como haces qe el codigo tenga colores?  [code=vb][/code] Usa TimeSpan y con un timer lo vas restando un segundo, hasta que llegue a 0 y avisas (:
|
|
|
En línea
|
|
|
|
Chuxxx
|
Viendo en un ejemplo lo solucione Para futuros users qe tengan el mismo problema If hora1 = My.Computer.Clock.LocalTime.ToLongTimeString() Then MsgBox(recorda1, MsgBoxStyle.Information, "Acordate!!") End If
Gracias chicos:D
|
|
|
En línea
|
|
|
|
|
|