Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   El Splash Screen se desaparece muy rápido (https://www.clubdelphi.com/foros/showthread.php?t=48622)

eddg 29-09-2007 03:50:47

El Splash Screen se desaparece muy rápido
 
Señores, toy desarrollando un SOFTware y ya hice mi spalshScreen, y aparece y todo, pero, tengo un problema, necesito que este SPLASH dure algo cerca de 3 segundos, sin embargo he probado con todo:

He leido todos los manuales que salen en este FORO, todos dicen lo mismo, solo hablan de como hacer que aparezca el SPLASH, y como hacer para que se OCULTE o DESAPAREZCA, pero ninguno habla de como hacer que NO DESAPAREZCA, Salvo uno, que hablaban de mi problema pero Recomendaron que usara un comando llamado SLEEP


Sin Embargo este programa por lo que tengo entendido es un PROCEDURE y no se como ejecutarlo y llamarlo desde el EDITOR de codigo del PROYECTO GENERAL.

CODIGO:
begin
SplashScreen := TSplashScreen.Create(Application) ;
SplashScreen.Show;
SplashScreen.Update;

Application.CreateForm(Tprincipal, principal);
Application.Initialize;

Application.Run;
end.

Trato de colocarlo así pero no me funciona, no lo reconoce:

CODIGO:
begin
SplashScreen := TSplashScreen.Create(Application) ;
SplashScreen.Show;
SplashScreen.Update;
Sleep(3000);

Application.CreateForm(Tprincipal, principal);
Application.Initialize;

Application.Run;
end.

---------------

No me Funciona, Por favor, ayudenme en esto, que tengo mas de seis horas tratando y creanme que hoy he leido BASTANTE acerca de este tema y nada q resuelvo el problema! muchas Gracias...

eduarcol 29-09-2007 04:02:41

hola, te recomiendo una leidita a la guia de estilo para que entendamos mejor lo que preguntas

de momento se me ocurre debes agregar la unidad SysUtils en el uses.

otra cosa para que quieres que se tarde el splash??? :confused::confused: no es una practica recomendada por eso no hay mucha info al respecto

eddg 29-09-2007 04:18:19

para eduarcol
 
ya tengo agregada esa UNIDAD de SysUtils en mi USES, he igual me dice


[Error] Project2.dpr(23): Undeclared identifier: 'sleep'


y quiero mostrar el splashscreen porque tengo alli publicidad y una imagen muy buena que quiero q vean los usuarios!

eduarcol 29-09-2007 04:25:33

porq no colocas el dpr completo porq a mi me funciona lo que dices

eddg 29-09-2007 04:33:32

otro
 
codigo del proyecto:

program Project2;

uses
Forms,
Unit1 in '..\..\..\..\..\Archivos de programa\Borland\Delphi7\Projects\nuevo\Unit1.pas' {principal},
Unit9 in 'iconos\Unit9.pas' {splashscreen};

{$R *.res}

begin

SplashScreen := TSplashScreen.Create(Application) ;
SplashScreen.Show;
SplashScreen.Update;
sleep(3000);
Application.CreateForm(Tprincipal, principal);
Application.Initialize;
Application.Run;
end.


codigo del FORM PRINCIPAL

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ImgList, ToolWin, ComCtrls, ExtCtrls,
ActnMan, ActnCtrls, Menus, Unit2, dblookup, ShellCtrls, Grids, Outline,
DirOutln, Spin;

type
Tprincipal = class(TForm)
...etc...
procedure ToolButton8Click(Sender: TObject);
....etc...

private
{ Private declarations }
public
{ Public declarations }
end;

var
principal: Tprincipal;

implementation

uses Unit3, Unit5, Unit9;

{$R *.dfm}

procedure Tprincipal.ToolButton8Click(Sender: TObject);
begin
close;
end;
...etc...

end.

eduarcol 29-09-2007 04:35:34

como te decia en el codigo del dpr no tienes SysUtils en el uses, agregalo y listo

eddg 29-09-2007 04:41:26

Oye Hermano, no se como hacerlo entonces, dame una pista! no se COMO agregar el SysUtils al uses, dame un ejemplo! por favor...!

eduarcol 29-09-2007 04:48:22

codigo del proyecto:

Código Delphi [-]
program Project2;

uses
Forms,
SysUtils,
Unit1 in '..\..\..\..\..\Archivos de programa\Borland\Delphi7\Projects\nuevo\Unit1.pas' {principal},
Unit9 in 'iconos\Unit9.pas' {splashscreen};

{$R *.res}

begin

SplashScreen := TSplashScreen.Create(Application) ;
SplashScreen.Show;
SplashScreen.Update;
sleep(3000);
Application.CreateForm(Tprincipal, principal);
Application.Initialize;
Application.Run;
end.

es sencillo fijat la linea resaltada

eddg 29-09-2007 04:55:44

All Rights MAN, ahora sí! yo no pensaba que tambien debia estar en el Proyecto GENERAL, ahora Sí funciona! gracias Hermano!

Me gustaria saber si tienes algun E-Mail a donde pueda comunicarme con UD, ya que somos de Vzla.

xEsk 29-09-2007 05:01:10

Hola, yo para los Splash Screen, me gusta mas usar un Timer, ya que te da mucho mas juego.

Por ejemplo, para los usuarios que no quieren ver tu Splash Screen, puedes programar que si le dan "click" al Splash este se cierre sin terminar su tiempo de espera...

Y así muchas cosas, hehehe... Eso si, la forma de implementar el Splash usando un TTimer seria algo distinta.

Saludos.

eduarcol 29-09-2007 05:03:30

bueno llevas mucha razon, por eso le recomende que no es recomendable que lo hiciera asi, pero tiene razones de mercadeo

eddg 29-09-2007 05:06:22

dirigido a xEsk
 
Hermano, he tratado mil opciones con los TIMER pero que va, no lo solucionaba, ayudame tu, como podria hacer??? tomando en cuenta los CODIGOS antes expuestos!

Muchas Gracias...

xEsk 29-09-2007 18:45:41

1 Archivos Adjunto(s)
Hola, te he escrito tres ejemplos de como realizar un Splash Screen usando un TTimer.

Ejemplos:

- Simple: Ejemplo muy sencillo de como implementar un Splash Screen usando un Timer.

- Advanced: Ejemplo mas elaborado. El Splash Screen se muestra usando las funciones "Blend" que incorporan los Forms del Delphi 7 y superiores. Si se está ejecutando bajo Windows XP o superior se muestra una sombra al Splash Screen.

- Advanced2: Ejemplo de como mostrar un Splash Screen usando la función "AnimateWindow". Por defecto en el ejemplo, la animación del Splash Screen es aleatoria. Si se está ejecutando bajo Windows XP o superior se muestra una sombra al Splash Screen.

Saludos.

maro 29-09-2007 20:57:21

Hola,

Porqué no pruebas a quitar "Sleep(3000);" de donde lo tienes y a ponerlo en el evento onActivate del formulario "SplashScreen".

¡¡es que lo estas haciendo esperar antes de que se vea!! jeje :)

Un Saludo.

eddg 01-10-2007 16:16:43

respondiendo a MARO
 
Amigo MARO, gracias por tu colaboración, sin embargo, tal y como lo apunto Eduarcol en el Post #8, es como yo precisamente lo necesito! asi es como quiero que me funcione, y si se muestra y dure exactamente los 3 segundos que necesito que se vea, nuevamente muchas gracias!


La franja horaria es GMT +2. Ahora son las 12:01:32.

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