j'utilise un son pour me signaler l'arrivée de certain type de fichier alors vou devrez surement virer les ligne de code concernant ce son !
si il existe deja des dossier avec ce nom, le program n'effacera pas le contenu des dossiers existant , il ne crera pas de dossier existant !!
WindowID = OpenWindow(1, 50, 50, 370, 220, #PB_Window_SystemMenu|#PB_Window_MinimizeGadget, "skynet trieur temps reel")
WindowID = WindowID(1)
Gadget=1
textgadget=2
buttondepart=3
textgadget2=4
textgadget3=5
textgadget4=6
textgadget5=7
avancement.s="|/-\"
; ******** ici on dessine les gagets *****************
If CreateGadgetList(WindowID)
;Gadget = EventGadgetID()
ListViewGadget(Gadget, 10, 20, 350,100)
ButtonGadget(buttondepart, 10, 130,150,20,"choisir le dossier a trier" ,#PB_Button_MultiLine)
TextGadget(textgadget3, 10, 180,350,50,"les fichier traité sont envoyé"+Chr(10)+"dans le repertoire : c:\download\"):; Info
TextGadget(textgadget4, 200, 5,350,15,"Prg crée par Dobro"):; Info
ActivateGadget(Gadget)
ActivateGadget(textgadget)
EndIf
; *********************************************
If InitSound()
Resultat = LoadSound(1,"D:\dobro\PureBasic\dobro\sons\boup.wav")
EndIf
nbr=1
;************************************************************
;Dim liste.s(10000)
; regarde si les dossiers sont crée ?
If OpenFile(1, "c:\dob.txt")
Texte$ = ReadString()
NomChemin$=ReadString()
CloseFile(1)
EndIf
If Texte$="ok"
Goto ok :; oui ils sont crée don pas la peine de le faire
EndIf
;*********************************************************
Resultat = MessageRequester("INFO","La premiere fois qu'il est lancé ce programme crée des"+Chr(10)+"répertoires dans c:\download\"+Chr(10)+"ceci peut prendre un peut de temps"+Chr(10)+"donc patience ! la fenetre peut devenir blanche c'est pas grave !"+Chr(10)+"bon ammusement !",#PB_MessageRequester_Ok )
Resultat = CreateDirectory("c:\download\")
Resultat = CreateDirectory("c:\download\recus\")
Resultat = CreateDirectory("c:\download\recus\jpg\")
Resultat = CreateDirectory("c:\download\recus\bmp\")
Resultat = CreateDirectory("c:\download\recus\gif\")
Resultat = CreateDirectory("c:\download\recus\mpg\")
Resultat = CreateDirectory("c:\download\recus\fza\")
Resultat = CreateDirectory("c:\download\recus\efa\")
Resultat = CreateDirectory("c:\download\recus\txt\")
Resultat = CreateDirectory("c:\download\recus\html\")
Resultat = CreateDirectory("c:\download\recus\mid\")
Resultat = CreateDirectory("c:\download\recus\mp3\")
Resultat = CreateDirectory("c:\download\recus\divx\")
Resultat = CreateDirectory("c:\download\recus\avi\")
Resultat = CreateDirectory("c:\download\recus\wav\")
Resultat = CreateDirectory("c:\download\recus\pdf\")
Resultat = CreateDirectory("c:\download\recus\doc\")
Resultat = CreateDirectory("c:\download\recus\rtf\")
Resultat = CreateDirectory("c:\download\recus\tif\")
Resultat = CreateDirectory("c:\download\recus\exe\")
Resultat = CreateDirectory("c:\download\recus\png\")
Resultat = CreateDirectory("c:\download\recus\rar\")
Resultat = CreateDirectory("c:\download\recus\zip\")
Resultat = CreateDirectory("c:\download\recus\ace\")
; ecrit comme quoi on a cree les dossiers!!
If OpenFile(1, "c:\dob.txt")
WriteStringN("ok")
NomChemin$="c:\inet\"
WriteStringN(NomChemin$)
CloseFile(1)
EndIf
ok:
TextGadget(textgadget2, 10, 160,350,20,"repertoire actuellement traité: "+NomChemin$,#PB_Text_Border):; on affiche le repertoire courant
Repeat: ;*************** boucle principale *****************
event=WaitWindowEvent()
If event = #PB_EventGadget : ; on a clique sur un gadget
GadgetID = EventGadgetID(): ; lequel ??
If GadgetID =buttondepart:; le bouton du choix du repertoire a traité
NomChemin$ = PathRequester("choisi le dossier a trier","c:\")
Delay (100)
If OpenFile(1, "c:\dob.txt")
WriteStringN("ok")
WriteStringN(NomChemin$)
CloseFile(1)
EndIf
EndIf
EndIf
;******************************************************************
;************** TRAITEMENT ***************************************
;*****************************************************************
TextGadget(textgadget2, 10, 160,350,20,"repertoire actuellement traité: "+NomChemin$,#PB_Text_Border):; on affiche le repertoire courant
Delay(1)
Resultat = ExamineDirectory(1 ,NomChemin$,"*.*" )
If Resultat=0
Resultat = MessageRequester("erreur","le repertoire "+NomChemin$+" n'a pus etre trouvé !",#PB_MessageRequester_Ok )
End
EndIf
;CallDebugger
While NextDirectoryEntry()<>0
car=car+1
If car>=5
car=0
EndIf
av.s=Mid(avancement.s, car,1)
TextGadget(textgadget5, 350, 5,10,15,av.s):; Info
Delay (100)
; flag=0
If NextDirectoryEntry()=1:; ha c'est un fichier !!
nom.s=DirectoryEntryName():; on recupere le nom du fichier
;******** RAR ***********************
If Right(DirectoryEntryName(),3)="rar":; en fonction de l'extention
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\rar\"+nom.s) :; on copy le fichier dans le dossier correspondant
Delay (100) :; on attend un peu que la copy soit effectuée
Resultat = DeleteFile(NomChemin$+nom.s):; puis on efface le fichier d'origine (ce qui crée le déplacement
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier RAR"):;on affiche bien gentiment ce qu'on a fait !
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget))):; on affiche le compteur
EndIf
;******** jpg ***********************
If Right(DirectoryEntryName(),3)="jpg" Or Right(DirectoryEntryName(),3)="jpeg"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\jpg\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier JPG")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** fza ***********************
If Right(DirectoryEntryName(),3)="fza"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\fza\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier FZA")
PlaySound(1 , 0):;on previen qu'un nouveau fichier est mis dans la liste
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** EFA ***********************
If Right(DirectoryEntryName(),3)="efa"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\efa\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier EFA")
PlaySound(1 , 0):;on previen qu'un nouveau fichier est mis dans la liste
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** ZIP ***********************
If Right(DirectoryEntryName(),3)="zip"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\zip\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier ZIP")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** ace ***********************
If Right(DirectoryEntryName(),3)="ace"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\ace\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier ACE")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** gif ***********************
If Right(DirectoryEntryName(),3)="gif"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\gif\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier GIF")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** BMP ***********************
If Right(DirectoryEntryName(),3)="bmp"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\bmp\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier BMP")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** MIDI ***********************
If Right(DirectoryEntryName(),3)="mid"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\mid\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier MID")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** MP3 ***********************
If Right(DirectoryEntryName(),3)="mp3"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\mp3\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier MP3")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** avi ***********************
If Right(DirectoryEntryName(),3)="avi"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\avi\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier AVI")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** divx ***********************
If Right(DirectoryEntryName(),3)="div"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\divx\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier DIVX")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** mpeg ***********************
If Right(DirectoryEntryName(),3)="mpg" Or Right(DirectoryEntryName(),3)="mpeg"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\mpg\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier MPG")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** html ***********************
If Right(DirectoryEntryName(),3)="htm" Or Right(DirectoryEntryName(),3)="html"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\html\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier HTML")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** txt ***********************
If Right(DirectoryEntryName(),3)="txt"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\txt\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier TXT")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** wav ***********************
If Right(DirectoryEntryName(),3)="wav"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\wav\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier WAV")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** pdf ***********************
If Right(DirectoryEntryName(),3)="pdf"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\pdf\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier PDF")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** doc ***********************
If Right(DirectoryEntryName(),3)="doc"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\doc\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier DOC")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** rtf ***********************
If Right(DirectoryEntryName(),3)="rtf"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\rtf\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier RTF")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** tif ***********************
If Right(DirectoryEntryName(),3)="tif"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\tif\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier TIF")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** exe ***********************
If Right(DirectoryEntryName(),3)="exe"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\exe\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier EXE")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;******** png ***********************
If Right(DirectoryEntryName(),3)="png"
Resultat = CopyFile(NomChemin$+nom.s,"C:\download\recus\png\"+nom.s)
Delay (100)
Resultat = DeleteFile(NomChemin$+nom.s)
AddGadgetItem(Gadget,-1,"j'ai mis "+nom.s+" dans le dossier PNG")
TextGadget(textgadget, 10, 5,150,12,"nbr de fichier traité: "+Str(CountGadgetItems(Gadget)+1)):; on affiche le compteur
EndIf
;**************************************************************
EndIf
flag=0
Wend
;**************************************
;**************************************
;*************************************
Until event=#PB_Event_CloseWindow
End