re

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

re

Message par david »

j'ai trouvé le bouton merci
alors je repose la question
ci-après le code:

Code : Tout sélectionner

UseJPEGImageDecoder ()  ;***DECODEUR JPEG
UsePNGImageDecoder ()   ;
UseTGAImageDecoder ()   ;
UseTIFFImageDecoder ()  ;

;***********DECODE VARIABLES***********
chemin$="C:\Documents and Settings\David\Mes documents\Mes images\Gabrielle"
a=0 
textb=21 
textb$=Str(textb) 
taille=3
fenetre=tailley
transparent=75
taillex= 200
tailley = 200
posix = 200
posiy = 200
;
;
;
Declare TimerProc(hwnd.l, uMsg.l, idEvent.l, dwTime.l) 
Declare SetWinTransparency(WinHandle.l, Transparency_Level.l) 
Global bouton,flag,Handle 

;- Gadget Constants 
; 
Enumeration 
   #Window_0 
   #Button_1 
   #Button_2 
   #Button_3
   #String_0 
   #Button_4 
   #Button_5 
   #Button_6 
   #Button_7
   #Button_8 
   #Button_9 
    #image_gadget1 ;arriere plan
    #image1 ;gaby1
    #image2 ;gaby2
    #image0 ; image variable...
#TrackBar_0
#TrackBar_10
#TrackBar_2
#TrackBar_20

   #Path_0
   #Button_11
   
EndEnumeration 
;
;
;************************************
;*** creation alerte timing *********
;************************************
Procedure AlertThread(Parameter)

  Repeat
    MessageRequester("Info", "Alert ("+Str(Parameter)+")", 0)
    Delay(3000)
  ForEver

EndProcedure

;************************************
;*** charge image programme *********
;************************************

LoadImage ( #image1 , path1$+"gaby1.jpg" ) ;image de depart 
LoadImage ( #image2 , path2$+"gaby2.jpg" );image en cas de clic sur bouton 
ResizeImage ( #image1 , 112*taille, 83*taille ) 
ResizeImage ( #image2 , 112*taille, 83*taille) 


If OpenWindow ( #Window_0 , taillex, fenetre, posix, posiy, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Compteur Atouts" ) 
 SetWindowPos_(WindowID(), -1, 0, 0, 0, 0, #SWP_NOSIZE | #SWP_NOMOVE) ;fenetre toujours devant
    Handle = WindowID (0) 
     
     If CreateGadgetList ( WindowID ()) 
         ImageGadget ( #image_gadget1 , 2,34,100*taille,100*taille, UseImage ( #image1 )) 
  
      ButtonGadget ( #Button_8 , 42, 2, 60, 30, "visio" )
 
       TextGadget    (#TrackBar_10, 342,46,120, 30,"Niv. Transparence",#PB_Text_Center)
       TrackBarGadget(#TrackBar_0, 342, 60, 120, 30, 25, 255)
       SetGadgetState(#TrackBar_0, transparent)
       
  ;            TextGadget    (#TrackBar_20, 342,110,120, 30,"durée images",#PB_Text_Center)
  ;     TrackBarGadget(#TrackBar_2, 342, 124, 120, 30, 25, 255)
  ;     SetGadgetState(#TrackBar_2, delay)
   
      StringGadget  (#Path_0,  342, 180, 118, 24, chemin$)
      ButtonGadget ( #Button_11 , 342, 194, 120, 20, "valider répertoire" ) 
     EndIf 
 

      Repeat  ;La boucle Repeat-Until sert à la gestion des évènements 

      SetWinTransparency ( WindowID (), transparent)       
 
        EventID.l= WaitWindowEvent () ; on récupère un évènement 
         Select EventID ; on sélectionne cet évènement 
             Case #PB_EventGadget ; cet évènement concerne une action sur un Gadget 
                 Select EventGadgetID () ; dans ce cas, on récupère l'identifiant du gadget qui l'a créé 

                  Case #Button_8 ;visionneuse charge images
                 CreateThread(@AlertThread(), 154)

           
;*********************************************** 
;*** Examine le dossier et remplit Maliste() *** 
;*********************************************** 

NewList Maliste.s() 

If ExamineDirectory (0,chemin$,"*.*") 
  Repeat 
    Select NextDirectoryEntry() 
      Case 0 
        Break 
      Case 1 
        FileName$ = DirectoryEntryName() 
        FileExt$ = UCase(GetExtensionPart(FileName$)) 
        If FindString("JPG,JPEG,BMP,PNG",FileExt$,1) 
          AddElement(Maliste()) 
          Maliste() = FileName$ 
        EndIf 
    EndSelect 
  ForEver 
Else 
  MessageRequester("Erreur","impossible de créer la liste"+#LF$+"Veuillez reconfigurer les paramètres...") 
EndIf 

;********************************** 
;*** Vérification de Maliste(x) *** 
;********************************** 

Compteur = CountList(Maliste()) 

If Compteur 
;  MessageRequester("Information",Str(Compteur)+" images chargées.") 
Else 
  MessageRequester("Erreur","Aucune image chargée.") 
  End 
EndIf 
  
;******************************************* 
;*** Affiche aléatoirement Maliste(x) *** 
;******************************************* 

SelectElement(Maliste(),Random(Compteur)) 
  
  If LoadImage(#image0,chemin$+"\"+Maliste()) 
  ResizeImage ( #image0 , 112*taille, 83*taille )
    SetGadgetState(#image_gadget1,UseImage(#image0)) 
  EndIf 
     
 
                   
                   EndSelect 
                 
             Case #PB_Event_CloseWindow ; cet évènement concerne la fermeture de la fenêtre 
                Quit=1 
         EndSelect 
         
     Until Quit=1 
EndIf 
;
;
;
Procedure SetWinTransparency(WinHandle.l, Transparency_Level.l) 
     SetWindowLong_ (WinHandle, #GWL_EXSTYLE , GetWindowLong_ (WinHandle, #GWL_EXSTYLE ) | $00080000) ; #WS_EX_LAYERED = $00080000 
     If OpenLibrary (0, "user32.dll" ) 
         CallFunction (0, "SetLayeredWindowAttributes" , WinHandle, 0, Transparency_Level, 2) 
         CloseLibrary (0) 
     EndIf 
EndProcedure 
merci d'avance si vous pouvez m'aider car si je met la procedure après il ne la trouve pas, si je la met avant image#0 n'est pas content, si je le met pas forcement la question ne se pose même plus, mais j'aurais vraiment voulu faire ça
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

suite de CHARGER IMAGE MEMOIRE

Message par david »

sujet :
--------------------------------------------------------------------------------

j'ai essayé de modifier les paramètres de la Procedure AlertThread
mais ça plante à chaque fois. le but était que toute les x secondes
l'image Image#0 arrière plan du programme soit modifiée automatiquement mais rien n'y fait
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

Excuses-moi, david, mais il y a des règles sur ce forum.
C'est pas la fête à la foire aux questions en veux tu en voilà, ici.
Je te dis çà gentillement, je te préviens, parce que les autres s'ils ont bouffé du Lion, ils vont te manger tout cru :D

1/ Met un sujet, un vrai, explicite, avant de poster une question, pas 're'
2/ Trouve le bouton 'code' mais c'est fait apparemment
3/ Potasse la doc avant de poser la question trop vite, le bouton F1 quand le curseur est sur une fonction nous en apprends beaucoup.
4/ Mais puisqu'on est quand meme sympa, ta réponse est dans le post précédent.
:twisted:
Image
Répondre