Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Zeroql en 25 Agosto 2006, 02:10 am



Título: Problemas con apagado
Publicado por: Zeroql en 25 Agosto 2006, 02:10 am
hola a todos
Bueno tengo este codigo
Código:
if Cstr(time)=>"23:00:00" and Cstr(time)<="8:00:00" then
  shell ("ShutDown -s")
end if
bueno esto lo que hace es apagar el pc en sierta hora hasta las 8 am. (funeciona en hora del pc en formato militar). pero desde hace 2 dias que esta vaina no me funciona, a veces apaga el sistema a caulquier hora, o a veces no hace nada. si alguien sabe la causa por fa aganmelo saber.


Título: Re: Problemas con apagado
Publicado por: wuepe en 25 Agosto 2006, 15:37 pm
El problema esta por que pasa de las 12 de la noche.

Entonces, la comparacion no la hace bien, tendrias que hacerlo comparando como si fueran dos dias, uno de 23 hasta las 12 de la noxe y otro desde las doce de la noche asta las 8 de la mañana

Otra cosa, es que conviertes a String, y comparas cadenas, eso tp lo hace bien, por que tienes que comparar tiempo y no cadena.

Para indicar poner en visual hora y dia se pone con # y compara directamente. Este codigo me ha funcionado.

  If (Time >= #11:00:00 PM# And Time <= #11:59:59 PM#) _
    Or (Time >= #12:00:00 AM# And Time <= #8:00:00 AM#) Then
    shell ("ShutDown -s")
  End If

Yo que tu pondria un mensaje para no proba apagando el pc.

y cuando veas que funcion ya pones el shell.

  If (Time >= #11:00:00 PM# And Time <= #11:59:59 PM#) _
    Or (Time >= #12:00:00 AM# And Time <= #8:00:00 AM#) Then
   MsgBox('Apagar')
   ' shell ("ShutDown -s")
  End If

Saludos


Título: Re: Problemas con apagado
Publicado por: Ironhorse en 26 Agosto 2006, 00:11 am
No uses strings, usa variables datetime y si lo que queres preguntar es el intervalo entre las 23 y las 8, es OR en lugar de AND:

Código:
if time>=timevalue("23:00") OR time<=timevalue("8:00") then
  shell ("ShutDown -s")
end if


Título: Re: Problemas con apagado
Publicado por: Zeroql en 26 Agosto 2006, 00:31 am
No uses strings, usa variables datetime y si lo que queres preguntar es el intervalo entre las 23 y las 8, es OR en lugar de AND:

Código:
if time>=timevalue("23:00") OR time<=timevalue("8:00") then
  shell ("ShutDown -s")
end if
si lo coloco como OR me genera un apagado desde las ocho de la noche o a las 11
Hey WUepe gracias