Soyez le premier à donner votre avis sur cette source.
Snippet vu 3 590 fois - Téléchargée 45 fois
' 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
30 mai 2008 à 15:00
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
5 mars 2004 à 18:47
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é ? :)
1 oct. 2002 à 19:54
(mé ca peut être pratique sans koi !)
1 oct. 2002 à 18:01
DARK SIDIOUS
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.