Mr .gif ? Solution simple ? [RESOLU]

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: Mr .gif ? Solution simple ?

Message 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.
Shinao
Messages : 137
Inscription : dim. 21/sept./2008 13:00

Re: Mr .gif ? Solution simple ?

Message 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 !
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: Mr .gif ? Solution simple ?

Message 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...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Mr .gif ? Solution simple ?

Message par Backup »

...............
Dernière modification par Backup le sam. 01/oct./2011 9:58, modifié 4 fois.
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: Mr .gif ? Solution simple ?

Message 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.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Mr .gif ? Solution simple ?

Message par Backup »

ps :
j'ai corrigé le code , il manquait la gestion des events Image
Shinao
Messages : 137
Inscription : dim. 21/sept./2008 13:00

Re: Mr .gif ? Solution simple ?

Message 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
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: Mr .gif ? Solution simple ?

Message par gnozal »

Dobro a écrit :ps :
j'ai corrigé le code , il manquait la gestion des events Image
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
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Mr .gif ? Solution simple ? [RESOLU]

Message par Backup »

ben chez moi ça n'echoue jamais !! 8O
j'ai d'ailleurs fait "Enregistrer l'image sous" avec ton avatar , et chez moi il fonctionne bien
Avatar de l’utilisateur
Kwai chang caine
Messages : 6992
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Mr .gif ? Solution simple ? [RESOLU]

Message par Kwai chang caine »

Moi il marche aussi, mais avec un fond noir :cry:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre