cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
1 oct. 2002 à 18:01
cs_aligator
Messages postés18Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention15 mai 2008
-
30 mai 2008 à 15:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_aligator
Messages postés18Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention15 mai 2008 30 mai 2008 à 15:00
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
Manu_12
Messages postés11Date d'inscriptionvendredi 2 janvier 2004StatutMembreDernière intervention22 octobre 2007 5 mars 2004 à 18:47
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é ? :)
Alan71
Messages postés530Date d'inscriptionlundi 3 juin 2002StatutMembreDernière intervention13 juin 2004 1 oct. 2002 à 19:54
Dja vu !
(mé ca peut être pratique sans koi !)
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 1 oct. 2002 à 18:01
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