Autor Tema: Cerrar Formularios en un Lapso de Tiempo  (Leído 4116 veces)

0 Usuarios y 1 Visitante están viendo este tema.

wolf_kof

  • Visitante
Cerrar Formularios en un Lapso de Tiempo
« en: Marzo 01, 2011, 12:18:30 pm »
Q tal amigos del foro, vean lo que quiero hacer es un poco secundario pero tengo la inquietud, Tengo un formulario MDI dentro del cual abro todos los formularios de mi sistema..... bueno lo que quiero es que en determinado tiempo si no hay ningún formulario abierto se cierre el sistema o si hay formularios abiertos y no se estan ocupando tambien que se cierre. Grax de Antemano su Ayuda

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Cerrar Formularios en un Lapso de Tiempo
« Respuesta #1 en: Marzo 01, 2011, 01:15:58 pm »
Timers!!! :P cuando se haga algo lo reseteas a 0 :P

Vector

  • Bit
  • Mensajes: 4
  • Reputación: +0/-0
    • Ver Perfil
Re:Cerrar Formularios en un Lapso de Tiempo
« Respuesta #2 en: Marzo 01, 2011, 01:32:39 pm »
Usando timer le colocas el intervalo que quieres que se cierre u ocultar el formulario

Código: [Seleccionar]
Private Sub Timer1_Timer()
'si quieres descargarlo (Cerrarlo)
    Unload  El_Formulario
'si quieres ocultarlo solamente
    El_Formulario.hide
'para que no se repita colocas
    Timer1.Enabled=False
End Sub

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Cerrar Formularios en un Lapso de Tiempo
« Respuesta #3 en: Marzo 01, 2011, 02:30:05 pm »
Creo que la pregunta de Abner no iba a "que sentencia usar" para cerrar formularios.

En cada formulario que se quiera saber si esta vivo o muerto habria que ponerle un timer cierto.
Digamos, ese timer al llegar por ejemplo a 50 o 60 segundos cierra el formulario con el bien conocido Unload MiForm.

Ahora, en el evento mousemove del formulario y en el keypress (Keypreview=true) se pone el timer en 0 cada vez que el mouse se mueve o se presiona una tecla, habria que pulirlo un poco.

Es una sugerencia algo rustica salvo otra mejor propuesta
Me encuentras en YAcosta.com

ADONAIRAFA

  • Gigabyte
  • ****
  • Mensajes: 291
  • Reputación: +37/-1
  • Que bien se siente al terminar un programa !!!
    • Ver Perfil
Re:Cerrar Formularios en un Lapso de Tiempo
« Respuesta #4 en: Marzo 01, 2011, 06:58:39 pm »
Disculpen mi intromisión, lo del uso del timer está bien... pero que sucede si por casualidad (digo yo) se abre otra aplicación aparte???
Cuando eso sucede, los timer que estuviesen activados dejan de funcionar (si no me equivoco, y si lo estoy, entonces perdonen la burrada !!!) entonces pasarías largo rato fuera de tu aplicación y esta no se cerraría.
En mi humilde opinión aconsejaría el uso cronómetro creado apartir de la API GetTickCount, resulta bastante efectiva (aunque un poquito más engorrosa al hacer el código que con el timer, pero vale la pena).
Hay dos tipos de personas: Los que siguen un camino... y los que hacen camino al avanzar !!!

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Cerrar Formularios en un Lapso de Tiempo
« Respuesta #5 en: Marzo 01, 2011, 07:34:56 pm »
No sabia de eso ADONAIRAFA, pero acabo de probar y si funciona. Es decir, ejecute un timer que dispara otro timer mientras tenia el foco en otra aplicación que no tiene nada que ver con mi programa y el timer siguió funcionando.
Me encuentras en YAcosta.com

ADONAIRAFA

  • Gigabyte
  • ****
  • Mensajes: 291
  • Reputación: +37/-1
  • Que bien se siente al terminar un programa !!!
    • Ver Perfil
Re:Cerrar Formularios en un Lapso de Tiempo
« Respuesta #6 en: Marzo 01, 2011, 11:50:21 pm »
Bueno, bueno YvanB, como había dicho de antemano, les había pedido perdón por "las burradas" que a veces uno comete (en VB 6.0 con el tiempo adquirí una maestría en eso de 'las metidas de pata', je, je !!!) pero eso de lo que les comenté acerca de los timers lo había leído hace un buen tiempo, y los puse a prueba: cuando quitaba el foco de la aplicación de prueba, los timers que había utilizado, se habían detenido, y en lo que recuperé el foco de la aplicación, estos volvieron a funcionar !!! en fin revisé el código y hice lo más simple que pude y mismo resultado. Pero a tí te funcionó, gracias a DIOS !!! quiere decir que esos "bichos" me tienen bronca (je, Je, Je !!!).
Ahora como ya mencioné, te recomiendo el uso de la API GetTickCount (sobre todo, si necesitas la mayor precisión posible en un conteo o como cronométro, porque eso sí, a la larga no muy larga los Timers pierden un poco de precisión, eso lo comprobé).
Con esta API me ha ido bastante bien.
Saludos y gracias por la aclaración YvanB !!!

PD: Viendo estos foros y leyendo acerca de sus respuestas y aclaratorias, uno se da cuenta de lo poco que uno sabe, por eso aprovecho trato de aprender de Uds !!! punto (+) para tí YvanB.
Ah, gracias por la ayuda con lo del Firebird, ha sido todo un paseo !!! ese otro punto (+) que te debo !!!
Hay dos tipos de personas: Los que siguen un camino... y los que hacen camino al avanzar !!!

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Cerrar Formularios en un Lapso de Tiempo
« Respuesta #7 en: Marzo 02, 2011, 01:42:25 am »
No tienes nada que agradecer, aqui me han ayudado mucho y es lo mínimo que puedo hacer. Es mas, antes era un constante asistente en el foro de VB-Mundo pero cuando conocí este me quede aqui, aqui hay de todos los sabores jajaj hasta rocoto!!!! jajaja.

Y aun estoy en deuda con lo de firebird, creo que debo bajar mis expectativas de lo que quiero hacer, pero insistiré en ello. Tambien soy aprendiz de Firebird pero lo poco que sé quiero plasmarlo. Esta semana que viene por lo visto no tendre ventas jajaja, asi que aprovechare en retomar ese tema.

Saludos y gracias por tus palabras.

p.D. El Api que me dices lo voy a investigar, me interesa sobre todo que consuma recursos lo menos posible, y si con eso lo logro pues viro  a el. Gracias.
« última modificación: Marzo 02, 2011, 01:47:59 am por YvanB »
Me encuentras en YAcosta.com