Page 2 sur 2
Re: Mr .gif ? Solution simple ?
Publié : ven. 27/mai/2011 15:05
par gnozal
Si c'est pour une animation, il suffit de décomposer l'animation en images puis d'afficher les images une par une, avec un délai à paramétrer.
Sinon, le WebGadget me parait plus simple, surtout pour un débutant.
Re: Mr .gif ? Solution simple ?
Publié : ven. 27/mai/2011 15:11
par Shinao
Ton dernier code gnozal est exactement ce qu'il me faut.
Le webgadget donne un rendu horrible, tu ne contrôles pas l'arrière plan, tu as des scrolls pour naviguer et faudrait que je l'include car je ne veux justement qu'un seul fichier (.exe).
Donc je pense que je vais choisir sois entre le code proposé par gnozal, ou si quelqu'un à déjà fais un "Veuillez patienter" avec les "..." dynamiques, je suis encore plus preneur, cependant le mien donne une boucle infinie ce qui fais que le programme ne répond plus aux autres gadgets.
Merci pour les solutions, si vous pouvez encore m'aider...
merci !
Re: Mr .gif ? Solution simple ?
Publié : ven. 27/mai/2011 15:23
par gnozal
Sans code, on ne sait pas ce que tu veux....
Exemple sans image avec un texte :
Code : Tout sélectionner
Enumeration
#Window_0
EndEnumeration
Enumeration
#Button_Quitter
#Text_Patience
EndEnumeration
If OpenWindow(#Window_0, 450, 200, 405, 282, "Window_0", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
ButtonGadget(#Button_Quitter, 292, 246, 104, 27, "Quitter")
TextGadget(#Text_Patience, 22, 25, 363, 41, "Veuillez patienter")
SetGadgetFont(#Text_Patience, LoadFont(0, "Arial", 18))
AddWindowTimer(#Window_0, 0, 1000)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Timer
NbPoints + 1
If NbPoints = 4
NbPoints = 1
EndIf
SetGadgetText(#Text_Patience, "Veuillez patienter " + Left("...", NbPoints))
Case #PB_Event_Gadget
EventGadget = EventGadget()
If EventGadget = #Button_Quitter
CloseWindow(#Window_0)
Break
EndIf
Case #PB_Event_CloseWindow
CloseWindow(#Window_0)
Break
EndSelect
ForEver
EndIf
On pourrait aussi utiliser un thread.
Cela dépend de ce que l'on veut faire...
Re: Mr .gif ? Solution simple ?
Publié : ven. 27/mai/2011 15:31
par Backup
...............
Re: Mr .gif ? Solution simple ?
Publié : ven. 27/mai/2011 15:38
par gnozal
Dobro a écrit :le plus simple pour un Gif animé c'est la librairie Movie

Ce code freeze chez moi avec le GIF (mon avatar !) qui a fonctionné avec les 4 codes postés précédemment.
Re: Mr .gif ? Solution simple ?
Publié : ven. 27/mai/2011 16:52
par Backup
ps :
j'ai corrigé le code , il manquait la gestion des events

Re: Mr .gif ? Solution simple ?
Publié : ven. 27/mai/2011 19:50
par Shinao
Je ne connaissais pas le timer, je viens de lire un peu, et c'est vraiment utile, merci pour le code gnozal !
Je prend aussi Dobro, on sait jamais :]
Merci à vous je met résolu
Re: Mr .gif ? Solution simple ?
Publié : sam. 28/mai/2011 8:08
par gnozal
Dobro a écrit :ps :
j'ai corrigé le code , il manquait la gestion des events

J'avais corrigé...
... mais LoadMovie() échoue avec mon image GIF (tu n'as pas vérifié dans ton code).
Code : Tout sélectionner
#Wait=1
InitMovie()
If OpenWindow(#Wait,0,0,200,200,"",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
GIF$ = OpenFileRequester("Choose a .gif", "", "Gif (*.gif)|*.gif|Alle Dateien (*.*)|*.*", 0)
If GIF$
If LoadMovie(#Wait, GIF$)
ResizeMovie(#Wait,0,0,WindowWidth(#Wait),WindowHeight(#Wait))
PlayMovie(#Wait, WindowID(#Wait))
Else
Debug "Impossible de charger le GIF !" ; <-------
EndIf
Else
Debug "Pas de fichier choisi !"
EndIf
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
If IsMovie(#Wait)
FreeMovie(#Wait)
EndIf
EndIf
Re: Mr .gif ? Solution simple ? [RESOLU]
Publié : sam. 28/mai/2011 8:12
par Backup
ben chez moi ça n'echoue jamais !!

j'ai d'ailleurs fait "Enregistrer l'image sous" avec ton avatar , et chez moi il fonctionne bien
Re: Mr .gif ? Solution simple ? [RESOLU]
Publié : dim. 29/mai/2011 18:41
par Kwai chang caine
Moi il marche aussi, mais avec un fond noir
