Drag du PB 4.10 : Comment traiter les Fichiers?-> Gadget
Publié : dim. 11/nov./2007 17:55
Voilà voilou,
je me suis fait un petit Archiveur/desarchiveur ZIP.
3 boutons :
- Extraire une archive
- Zipper un Fichier
- Zipper un dossier
Ils fonctionnent bien les 3.
Maintenant en plus de tout ça j'aimerai utiliser le Darg et Drop de PB 4.10
Donc je l'active dans mon openwindow
Ensuite dans ma boucle principale j'utilise
Voilà ma procédure ZIPdrop()
En compilant, si j'essaye un drag and drop, j'ai bien le Messagerequester qui m'affiche les fichiers et/ou dossier les uns après les autres.
Le problème est que si je ne dépose qu'un fichier, le zippage marche.
Mais à plus d'un fichier déposé, le prog perd les pédales.
Je ne sais pas non plus comment lui faire dicerner un fichier d'un dossier
car l'operation de zippage n'est pas la même donc Si fichier alors ZipFILE() sinonsi dossier ZipDOSSIER()
je me suis fait un petit Archiveur/desarchiveur ZIP.
3 boutons :
- Extraire une archive
- Zipper un Fichier
- Zipper un dossier
Ils fonctionnent bien les 3.
Maintenant en plus de tout ça j'aimerai utiliser le Darg et Drop de PB 4.10
Donc je l'active dans mon openwindow
Code : Tout sélectionner
EnableWindowDrop(#WIN, #PB_Drop_Files, #PB_Drag_Copy)
Code : Tout sélectionner
Case #PB_Event_WindowDrop
ZIPdrop()
Code : Tout sélectionner
Procedure ZIPDrop()
FichierDrop$ = EventDropFiles()
Count = CountString(FichierDrop$, Chr(10)) + 1
For i = 1 To Count
MessageRequester("test","Fichiers : "+StringField(FichierDrop$, i, Chr(10))+Chr(10))
If pass$=""
PureZIP_SetArchivePassword("")
Else
PureZIP_SetArchivePassword(pass$)
EndIf
rep$=GetPathPart(FichierDrop$)
NomFichier$=GetFilePart(FichierDrop$)
LongueurCHR=Len(NomFichier$)
ArchiveName$=Left(NomFichier$,LongueurCHR - 4)+".zip"
MyFilesToZIP.s=FichierDrop$
MessageRequester("test","NomFichier$= "+NomFichier$+Chr(10)+"rep$= "+rep$+Chr(10)+"ArchiveName$= "+ArchiveName$)
If PureZIP_AddFile(rep$+ArchiveName$, FichierDrop$, #PureZIP_DontStorePath = 1)
SetGadgetText(#Affiche,"Opération terminée")
Else
MessageRequester("Erreur",impossible$)
SetGadgetText(#Affiche,titre$)
EndIf
Next i
EndProcedure
En compilant, si j'essaye un drag and drop, j'ai bien le Messagerequester qui m'affiche les fichiers et/ou dossier les uns après les autres.
Le problème est que si je ne dépose qu'un fichier, le zippage marche.
Mais à plus d'un fichier déposé, le prog perd les pédales.
Je ne sais pas non plus comment lui faire dicerner un fichier d'un dossier
car l'operation de zippage n'est pas la même donc Si fichier alors ZipFILE() sinonsi dossier ZipDOSSIER()