' Depuis votre programme commandez la fonction: 'Corbeillation ("c:\machin\AFAC.bmp")... avec bien sûr n'importe quel autre fichier... ' Et vous aurez la boite vous proposant de jeter ce fichier à la ' corbeille (si vs cliquez sur OUI) Private Type Fichier hwnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAnyOperationsAborted As Boolean hNameMappings As Long lpszProgressTitle As String End Type 'API utilisée pour jeter des fichiers à la corbeille Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As Fichier) As Long 'Constantes nécessaires Private Const FO_DELETE = &H3 Private Const FOF_ALLOWUNDO = &H40 Public Function Corbeillation(Fic As String) As Boolean Dim FicAvirer As Fichier Dim lReturn As Long If Dir$(Fic) = "" Then Exit Function With FicAvirer .wFunc = FO_DELETE .pFrom = Fic 'fichier sélectionné .fFlags = FOF_ALLOWUNDO End With 'Jette le fichier à la poubelle lReturn = SHFileOperation(FicAvirer) End Function
Très pratique, merci DARK SIDIOUS
Dja vu ! (mé ca peut être pratique sans koi !)
Petit complément d'info sur cette fonction (SHFile operation). On peux supprimer plusieurs fichiers d'un coup. Il faut pour ca que ta variable de type string soit composé des noms complets de fichiers espacés d'un caractère null (chr(0)) et que la chaine soit terminée par un caractère null supplémentaire exemple : private suppFiles() 'lvlistview etant une listview avec multiselection dim i as integer, Dfiles as string 'passe tous les éléments de la liste pour trouver ceux selectionnés For i = 1 To lvListView.ListItems.Count 'si la condition est vrai (sélectionné) renvoi le contenu de "l'item" qui contient le chemin complet If lvListView.ListItems(nblist).Selected = True Then Dfiles = Dfiles & lvListView.ListItems.Item(nblist) & chr(0) next i 'rajotue un caractère null a la fin Dfiles = Dfiles & chr(0) 'passe a la fonction corbeillation la chaine ainsi constitué Corbeillation (Dfiles) end sub NOTA : Par contre l'isntruction if dir (fic) = "" devietn caduque dans cette hypothèse. Pour garder ce garde fou vous pouvez : - soit : utiliser la fonction If dir$(lvListView.ListItems.Item(nblist) ) ="" dans la "sub" ci dessus et ne pas ajotuer la chaine si le fichier n'existe pas, - soit : créer un tableau a l'interieur de la fonction "corbeillation" a partir de la fonction split split (fic,chr(0)) Cette fonction créé un tableau avec une entrée pour chaque chaine. A partir de la on peux tester individuellement toutes les entrées du tableau par la fonction dir() ex : for i = lbound(fic) to ubound(fic) if dir(fic(i))="" then exit function next i heu..c pigé ? :)
Bonjour, on peut aussi ainsi déposer un folder complet dans la corbeille, il suffit de suprimer la ligne : If Dir$(Fic) = "" Then Exit Function JP
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 598 752 membres 19 nouveaux aujourd'hui 15 441 membres club