dans les tutos timer il ni a pas indiqué la fonction Killtimer_(.....) qui sert à tuer le timer en cours.
Toujours pour mon Resizer, je voudrais que le temps du traitement, un message clignotant apparaisse puis qu'à la fin du traitement, un message de "fin de traitement" s'affiche. J'ai donc essayé en regardant divers codes ici et là mais j'arrive au resultat suivant :
Soit le timer fonctionne si je commente la partie STOPTIMER, mais une fois le traitement terminé (

soit je ne le vois pas apparaitre (le cas présent).
Code : Tout sélectionner
;Rezier par Ar-S -2009 // PB 4.30
UseJPEGImageEncoder()
UseJPEGImageDecoder()
Enumeration
#AFF : #Image : #t1
EndEnumeration
;}
Global TailleHauteur.l=1024
Global L.l,H.l,Limg.l,Himg.l
Global DernierDossier$,NouveauRep$,car$,pos,fin
Procedure Clignote(hwnd.l, uMsg.l, idEvent.l, dwTime.l)
Static mode=0
Select mode
Case 0
SetGadgetText(#AFF,"Traitement en cours !")
Case 1
SetGadgetText(#AFF,"")
EndSelect
mode = 1-mode
EndProcedure
hwnd=OpenWindow(0, 583, 629, 319, 23, "LDVM redim 1024 haut relatif", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
If hwnd
Handle = WindowID(0)
StringGadget(#AFF, 0, 0, 315, 20, "Glissez/déposez les images ici")
EnableWindowDrop(0, #PB_Drop_Files, #PB_Drag_Copy)
fin=1
EndIf
;{- Event loop
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case #AFF
EndSelect
Case #PB_Event_WindowDrop
fin=0
If fin=0
; TIMER----------------------------------------------------------------------------------
SetTimer_(Handle,#t1,300, @Clignote())
;ENDTIMER----------------------------------------------------------------------------
EndIf
Debug "handle : "+Str(Handle)
compte=0
Repertoire$=EventDropFiles()
RepSav$=Repertoire$+"\"
pos=1
NumCar=Len(Repertoire$)
Repeat
car$=Right(Repertoire$,pos)
If Left(car$,1)<>"\"
pos=pos+1
car$=Right(Repertoire$,pos)
Else
Debug "Car : "+car$
Debug "Pos : "+Str(pos)
EndIf
Until Left(car$,1)="\"
DernierDossier$=Right(car$,pos-1)
NouveauRep$=RepSav$+DernierDossier$+"\"
nouveauRep=CreateDirectory(NouveauRep$)
If nouveauRep And fin=0
Debug "Fin : "+Str(fin)+" (0=on ; 1=off)"
If ExamineDirectory(0, Repertoire$, "*.jpg")
While NextDirectoryEntry(0)
If DirectoryEntryType(0) = #PB_DirectoryEntry_File
compte=compte+1
NomRepertoire$ = EventDropFiles()
fichier$=DirectoryEntryName(0)
charge=LoadImage(#Image, RepSav$+fichier$)
If charge
Limg=ImageWidth(#Image):Himg=ImageHeight(#Image)
H=TailleHauteur : L=Limg*TailleHauteur/Himg
NomNew$=Str(compte)+".jpg"
ResizeImage(#Image,L,H,#PB_Image_Smooth)
SaveImage(#Image,NouveauRep$+NomNew$,#PB_ImagePlugin_JPEG,80)
Delay(10)
Else
SetGadgetText(#AFF,"Erreur de chargement de L'image")
EndIf
Else
Debug "aucune image jpg"
EndIf
Wend
FinishDirectory(0)
fin=1
Debug "Fin : "+Str(fin)+" (0=on ; 1=off)"
EndIf
Else
Debug "creation de dossier impossible"
EndIf
;STOPTIMER---------------------------------------------------------
If fin=1
KillTimer_(Handle, #t1)
SetGadgetText(#AFF,"Terminé")
EndIf
;FINSTOPTIMER---------------------------------------------------
Case #PB_Event_CloseWindow
Select EventWindow()
Case 0
CloseWindow(0)
Break
EndSelect
EndSelect
ForEver