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?
Formatea así a ver que os pasa,
Dim sHora As String
sHora = format$(time, "HH:nn:ss")
http://foro.elhacker.net/net/dudas_con_mi_agenda_c-t303095.0.html;msg1504435#msg1504435
:)
hora1 = Format$(time, "HH:nn:ss")
CitarError 1 No se ha declarado el nombre 'time'.
Es VB2005.NET
No funka :(
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?
hora1 es date
Public hora1 As Date
Ningun error, directamente no sale el MsgBox cuando la hora actual coincide con la variable
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!
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?:P
Cita de: Chuxxx en 22 Septiembre 2010, 01:21 AM
PD: Como haces qe el codigo tenga colores?:P
[code=vb][/code]
Usa TimeSpan y con un timer lo vas restando un segundo, hasta que llegue a 0 y avisas (:
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