Affichage d'un écran de démarrage [Résolu]

xpmich 62 Messages postés lundi 29 novembre 2004Date d'inscription 11 mars 2010 Dernière intervention - 28 oct. 2005 à 08:00 - Dernière réponse : cs_yanb 260 Messages postés lundi 27 octobre 2003Date d'inscription 4 mars 2016 Dernière intervention
- 29 oct. 2005 à 11:52
Sous la version Delphi 7 :


Je voudrais rélaliser l'affichage d'un écran de démarrage.
Je sais qu'il faut utiliser un timer.
Est ce quelqu'un puet me donner le code à taper pour cela.
merci d'avance.
Afficher la suite 

9 réponses

Répondre au sujet
cs_yanb 260 Messages postés lundi 27 octobre 2003Date d'inscription 4 mars 2016 Dernière intervention - 28 oct. 2005 à 20:37
+3
Utile
Salut xpmich,
le plus simple serait en fait de passer directement au debut de l'initialisation de ton prog, je m'explique :

Dans ta fiche project1 ( tu fais CTRL + F12 et tu choisi project1 )

Program Project1;
Uses
Windows,Forms,
Unit1 in 'Unit1.pas'{Form1)
Unit2 in 'Unit2.pas'{SplashScreen);
{$R *.Res}
Begin
SplashScreen:=TSplashScreen.Create(Application);//Création de la fenetre SplashScreen
SplashScreen.Show;//Affichage fenetre
SplashScreen.Update;//MAJ
Sleep(2000);//Tempo 2 Seconde
Application.CreateForm(TForm1,Form1);
SplashScreen.Close;//Fermeture fenetre SplashScreen
SplashScreen.Release;//Destruction fenetre
Application.CreateForm(TSplashScreen,SplashScreen);
Application.Run;
End;

Normalement ca doit etre ca.
Bonne Prog,
Ytaz,alias Yanb
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_yanb
cs_yanb 260 Messages postés lundi 27 octobre 2003Date d'inscription 4 mars 2016 Dernière intervention - 29 oct. 2005 à 10:05
+3
Utile
De plus tu pourrais animer ta fenetre en placant avant "SplashScreen.Show;" la ligne suivante :

AnimateWindow ( SplashScreen.Handle, 1500, AW_CENTER );

1500 est temp de l'animation.
il existe aussi AW_HOR_POSITIVE , AW_HOR_NEGATIVE , AW_VER_POSITIVE et AW_VER_NEGATIVE à toi de voir.

N'oublie pas de valider la réponse !

Bonne Prog,
YTaz, Alias Yanb
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_yanb
cs_yanb 260 Messages postés lundi 27 octobre 2003Date d'inscription 4 mars 2016 Dernière intervention - 29 oct. 2005 à 11:52
+3
Utile
tu doit avoir windows dans ton uses de ta fiche project1.

Bonne Prog,
YTaz, alias Yanb
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_yanb
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 28 oct. 2005 à 08:36
0
Utile
salut je te cite l'exemple donné dans l'aide DELPHI:

"

Les deux gestionnaires d'événement suivants affichent, puis ferment une
fiche appelée SplashScreen avant l'ouverture de la fiche principale de
l'application. La constante Startup est déclarée dans la partie
interface de Form1. Le premier gestionnaire d'événement appelle la
méthode Show de SplashScreen à partir de l'événement OnActivate de
Form1.



Exemple Delphi



procedure TForm1.FormActivate(Sender: TObject );

begin

if Startup then

begin

Startup := False;

SplashScreen.Show;

end;

end;



SplashScreen contient un composant Timer dont la propriété Interval a
la valeur 3000. La fiche est donc affichée trois secondes, puis se
ferme. La méthode Close de la fiche est attachée à l'événement OnTimer
du composant OnTimer.



Exemple Delphi



procedure TForm2.Timer1Timer(Sender: TObject );



begin

Close;

end;

"

bonne prog;
Commenter la réponse de jlen100
xpmich 62 Messages postés lundi 29 novembre 2004Date d'inscription 11 mars 2010 Dernière intervention - 28 oct. 2005 à 12:08
0
Utile
Merci d'avoir fait un copier coller de l'aide Delphi ! le probleme c'"est que je ne comprend pas ce code.
Ce que je ne comprend pas, c'est ca :
La constante Startup est déclarée dans la partie interface de Form1.

Qu'est ce que : SplashScreen et constante Startup,Comment les définir, les déclarer? comment déclaré dans l'interface ? (Ps: j'ai déjà été voir ca dans l'aide interface mais je ne le comprend pas non plus ! désolé !
Commenter la réponse de xpmich
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 28 oct. 2005 à 14:59
0
Utile
le splashsreen c'est la form qui contiendra ton ecran de demarrage tu peux remplacer splashscreen par Form2

tu declare startup dans la partie implementation

var

...//la tu as les declarations de form1,form2.....

...

startup:boolean= true; // tu l'initalise

le code devient:

procedure TForm1.FormActivate(Sender: TObject );
begin
if Startup then
begin
Startup : = False;// on met à false pour qu'il ne s'execute qu'au lancement
form2.Show;
end;
end;
Commenter la réponse de jlen100
xpmich 62 Messages postés lundi 29 novembre 2004Date d'inscription 11 mars 2010 Dernière intervention - 28 oct. 2005 à 16:58
0
Utile
OK, je comprend maintenant, mais lorsque je vais faire Form2.show, je vais afficher la form2, ensuite je vais quitter la procédure
TForm1.FormActivate
je vais avoir la Form2 qui sera afficher et la from1 par dessus car une fois quitter la procédure précédente, form1 s'affichera , non?
(je sais pas si mon résonnement est bon !!)
Etape :
activation From1
startup à vrai
affichage de Form2
(quittte procédure tform1.formactivate)
affichage de form1 (par desuus form2) !!!!!!
fermeture de form2 apres l'écoulement du timer.

or moi je voudrai, si possible :
activation From1
startup à vrai
affichage de Form2
fermeture de form2 apres l'écoulement du timer.
affichage de form1

merci beaucoup d'avance pour l'explication de splashscreen et sa déclaration.
Merci d'avance.
Commenter la réponse de xpmich
xpmich 62 Messages postés lundi 29 novembre 2004Date d'inscription 11 mars 2010 Dernière intervention - 29 oct. 2005 à 11:13
0
Utile
slt yanb,
merci, ton appli marche impec !
juste un ptit truc à ajouter:
uses

SysUtils,

pour l'utilisation de Sleep 1!

t'es presque un dieu !!! lol

Merci encore !!
xpmich
Commenter la réponse de xpmich
xpmich 62 Messages postés lundi 29 novembre 2004Date d'inscription 11 mars 2010 Dernière intervention - 29 oct. 2005 à 11:26
0
Utile
slt yanb,

ta dernière solution ne marche pas, lors de la compilation voila ce que j'ai :



[Erreur] Projet1.dpr(17): Identificateur non déclaré : 'AnimateWindow'

[Erreur] Projet1.dpr(17): Identificateur non déclaré : 'AW_CENTER'



que dois je rajouté dans les uses ?



Merci encore !

xpmich
Commenter la réponse de xpmich

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.