Administrar el Tiempo

Iniciado por Elemental Code, 1 Diciembre 2010, 16:24 PM

0 Miembros y 2 Visitantes están viendo este tema.

Elemental Code

Hola :D
Anoche, tuve que dejar la pc prendida porque algo estaba andando y me di cuenta que no tengo manera facil de que se autoapague.

Entonces dije, zas armo un soft para que uno ingrese el tiempo y despues kaput.

Pero los timer de VB6.0 van en milisegundos.

Osea si yo necesito una hora serian cerca de 3600 * 1000 = 3600000 Milisegundos.

Existe una mejor opcion?, Esto consume muchos recursos y pone en riesgo el sistema?

Muchas gracias.

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas

ssccaann43 ©

Asigna por hora..! Sicronizado a la hora de tu equipo..!
- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"

79137913

HOLA!!!

Usa el DOS, el comando "shutdown"

Si no queres leer tanto usa "shutdown -i" en la ventana ejecutar y te carga la GUI

Uso: shutdown [-l | -s | -r | -a] [-f] [-m \\equipo] [-t xx] [-c "comentario"] [
-d up:xx:yy]

       Sin argumentos  Mostrar este mensaje (igual a -?)
     -i                Mostrar interfaz GUI, debe ser la primera opción
       -l                      Cerrar sesión (no se puede usar con la opción -m
)
       -s                      Apagar el equipo
       -r                      Apagar y reiniciar el equipo
       -a                      Anular el apagado de equipo
       -m \\equipo             Equipo que se apagará/reiniciará/anulara
       -t xx                   Establecer el tiempo de espera de apagado en xx
                              segundos
       -c "comentario"         Comentario de apagado (máximo, 127 caracteres)
       -f                      Fuerza el cierre de aplicaciones sin advertir
       -d [p]:xx:yy         Código de motivo de apagado
                               u es el código de usuario
                               p es el código de apagado planeado
                               xx es el código primario del motivo de apagado
                             (entero positivo menor que 256)
                               yy es el código secundario del motivo de apagado

                             (entero positivo menor que 65536)


Ejemplo shutdown -s -t 3600
Con eso se va  a apagar en 1 hora.
Para cancelar usa shutdown -a

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

Elemental Code

la parte del shutdown la tengo clara, y no es DOS es un ejecutable.
Lo puedo llamar como yo quiera :P

Hay otra opcion ademas de coordinar con el reloj de windows?

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas

raul338

Usa timer que tengan un minuto de intervalo, usas un contador y si llega a 60 ... apagas :P

Elemental Code

Cita de: raul338 en  1 Diciembre 2010, 18:36 PM
Usa timer que tengan un minuto de intervalo, usas un contador y si llega a 60 ... apagas :P

No es mala tu idea.
Pero pregunto, ejecutar tantas veces un timer y con un intervalo grande, ¿Relentiza el sistema? ¿ vuelve inestable el soft?

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas

BlackZeroX

#6
.
No relentiza nada.

Código (Vb) [Seleccionar]


'
'   /////////////////////////////////////////////////////////////
'   // Autor:   BlackZeroX ( Ortega Avila Miguel Angel )       //
'   //                                                         //
'   // Web:     http://InfrAngeluX.Sytes.Net/                  //
'   //                                                         //
'   //    |-> Pueden Distribuir Este codigo siempre y cuando   //
'   // no se eliminen los creditos originales de este codigo   //
'   // No importando que sea modificado/editado o engrandecido //
'   // o achicado, si es en base a este codigo                 //
'   /////////////////////////////////////////////////////////////
'   // http://infrangelux.sytes.net/Blog/index.php?option=com_content&view=article&id=6:artwait&catid=2:catprocmanager&Itemid=8
'   /////////////////////////////////////////////////////////////

Option Explicit

Private Declare Function WaitMessage Lib "user32" () As Long

Enum eTime
    Horas = 3600
    Minutos = 60
    Segundos = 1
End Enum

Public Sub Wait(ByVal vToWait&, Optional ByVal ThisWait As eTime = Segundos, Optional ByVal UseAllProc As Boolean = False)
Dim vDateE      As Date
    vDateE = DateAdd("s", vToWait& * (0& + ThisWait), Time)
    Do While vDateE > Time
        Call WaitMessage
        If Not UseAllProc Then DoEvents
    Loop
End Sub



Dulces Lunas!¡.
The Dark Shadow is my passion.

agus0

Cita de: Elemental Code en  1 Diciembre 2010, 18:40 PM
No es mala tu idea.
Pero pregunto, ejecutar tantas veces un timer y con un intervalo grande, ¿Relentiza el sistema? ¿ vuelve inestable el soft?


No Inestable para mi no... yo tuve hace un tiempo la misma idea que vos y hice que se apague en Xhoras o alas HH:MM entonces comparo cada 1 minuto si la hora del sistema es igual a la hora asignada para el apagado, ahora bien si quiero apagarlo en Xhoras (supongamos 4horas) digo: "Si ahora son las 15:00, hay que apagarlo cuando sean las 19:00" y a partir de ahí hago lo mismo que antes, me fijo cada minuto si son las 19

ssccaann43 ©

Yo coloco en un timer que vaya moviendose junto a la hora del sistema..! Y cuando llegue a una hora que yo le indique, sea eso una caja de text o lo que sea, pues mando  a apagar el so
- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"

Stelio Kontos

#9
¿AT xx:xx shutdown?
Si no te parece viable la opción del timer (que de todas formas lo es) puedes currarte algo que actúe de timer, por poner un ejemplo éste modulo actúa de timer sin tener que cargar el control y funciona con segundos.
Código (vb) [Seleccionar]
Sub Pause(interval)
Current = Timer
Do While Timer - Current < Val(interval)
DoEvents
Loop
End Sub