Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ventanas con tiempo (https://www.clubdelphi.com/foros/showthread.php?t=34908)

hugao 25-08-2006 04:12:00

Ventanas con tiempo
 
Buenas a todos,

mi pregunta es como puedo hacer para programasr que una ventana (formulario) en delphi este en pantalla por un tiempo escojido, despues se oculte mostrando otro formulario



gracias de antemano...

dec 25-08-2006 04:29:00

1 Archivos Adjunto(s)
Hola,

Puedes utilizar el compomente "TTimer" que encontrarás en la pestaña "System" de la "Paleta de componentes" de Delphi. Lo sitúas sobre el formulario en cuestión y, cuando se cree dicho formulario, echas a andar el "Timer".

En una variable global o en una propiedad del formulario (de tipo Integer) puedes ir guardando la cantidad de segundos que lleva el formulario abierto. Esto lo harás aprovechando el evento "OnTimer" del componente "TTimer", el cual se ejecutará en un intervalo que puedes configurar mediante la propiedad "Interval" y que por defecto es de un segundo.

Vas sumando segundos, sumando segundos, sumando segundos... y, en el propio evento "OnTimer" sitúas una condición "de salida", es decir, suponiendo que el formulario debe permanecer visible durante 30 segundos podrías escribir algo así:

Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Inc( FVariableDondeGuardosLosSegundos );

  if FVariableDondeGuardosLosSegundos >= 30 then
  begin
    Timer1.Enabled = false;
    Form1.Close;
  end;
end;

Nota: Según te digo arriba deberías ir incrementando la variable segundo por segundo hasta que... bueno. Yo he preferido luego, puesto a escribir un sencillo ejemplo, decrementar el valor de la variable en lugar de incrementarlo. Puedes verlo en el proyecto de ejemplo que adjunto a este mensaje.

hugao 25-08-2006 04:32:22

si gracias por la rta me sirve de mucho eso era lo que necesitaba



Gracias


salu2

Lepe 25-08-2006 14:19:10

¿No necesitarás un Splash Screen? (igual que al arrancar delphi aparece el logo de delphi mientras carga), si es eso, busca por el foro por "splash".

En cuanto a la respuesta de dec ¿por qué no asignar 30.000 milisegundos directamente?

Saludos

dec 25-08-2006 16:25:11

Hola,

Cita:

Empezado por Lepe
En cuanto a la respuesta de dec ¿por qué no asignar 30.000 milisegundos directamente?

Hum... supongo que a esas horas pensar en números >= 100 no se me ocurría. :eek: :eek: :D :D

delphi.com.ar 25-08-2006 18:00:25

Algo me hizo acordar a esto: Ventana de mensaje por un tiempo determinado. Posiblemente sea complicar un poco las cosas :p

Saludos!


La franja horaria es GMT +2. Ahora son las 19:26:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi