hugo7
Messages postés352Date d'inscriptionsamedi 11 décembre 2010StatutMembreDernière intervention29 juin 2011
-
29 déc. 2007 à 10:16
hugo7
Messages postés352Date d'inscriptionsamedi 11 décembre 2010StatutMembreDernière intervention29 juin 2011
-
5 janv. 2008 à 08:58
Bonjour a tous je m'appele hugo et jai 14 ans je voudrais savoir si il est possible d'enlever ou de mettre tous les fichier d'un repertoire choisi en lecture seul, fichier archive ou fichier caché lorsque que l'utilisateur click sur un button.J'aurais besoin juste du code car jen'ai aucune idée de se qu'il faut mettre pour enlever ou mettre les fichier en lecture seul ...car pour l'evenement click du button et l'interface je sais faire.Je suis consient que je vous demande du code tous cuit donc je comprendrait si vous ne vouler pas me repondre.
Merci d'avance pour vos réponse.
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 29 déc. 2007 à 10:49
Il faut utiliser la commande "attrib" qui date de DOS.
Elle est dans Windows : tu n'as qu'a faire ceci :
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Sub AttribAll(Directory As String, Optional Files As String = "*.*")
ShellExecute 0&, "OPEN", "attrib", "+R+A+S+H " & Files, Directory, 0&
End Sub , ----
[code.aspx?ID=41455 By Renfield]
_______________________________________________________________________
VB.NETis good ...VB6is better
hugo7
Messages postés352Date d'inscriptionsamedi 11 décembre 2010StatutMembreDernière intervention29 juin 2011 29 déc. 2007 à 11:11
Rebonjour en fait le probleme ce que je voudrait que lorsque que l'utilisateur click sur un button sa enleve les lecture seul fichier archive et caché.
Mais le probleme ce que le code que tu ma donné je ne peut pas le mettre dans un evenement click d'un button donc je sais pas comment faire.
J'atends ta réponse ou d'autre réponse merci d'avance
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 29 déc. 2007 à 13:15
Et pourquoi ne pourrais-tu pas le mettre dans un bouton ?
Sur l'évènement click du bouton, il te suffit d'appeler la fonction AttribAll en lui passant les bons paramètres.
Attention, le code que t'as donné [auteur/GHUYSMANS99/549970.aspx ghuysmans99]est valable pour VB6. Si tu es en VB2005 il faut remplacer tous les Long par des Integer dans la ligne Declare.
hugo7
Messages postés352Date d'inscriptionsamedi 11 décembre 2010StatutMembreDernière intervention29 juin 2011 29 déc. 2007 à 13:52
Donc si j'ai bien compris j'ecrit le code qu'il ma donnée en changant les long en integer apres j'apelle ma fonction dans mon click et normalement sa marchera,quant l'utilisateur clickera sur le button sa lancera la function
et sa enlevera tus les atribut des fichier ces sa, ou il manque du code
Merci d'avance pour vos réponse
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 29 déc. 2007 à 13:54
Ben oui ça marchera !
Au fait, j'avais pas vu que c'était censé être du VB2K5 ...
_______________________________________________________________________
VB.NETis good ...VB6is better
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 29 déc. 2007 à 14:18
oui enfin presque
Consulte l'aide de la commande Attrib (dans l'aide de Windows).
Dans le code donné, les paramètres passés ("+R+A+S+H ") auront pour effet de rajouter (+) les attributs lecture seule(R), archive (A), fichier system (S) et fichier caché (H).
Si tu veux enlever un attribut au fichier, il faut le faire précédé du signe -
Donc pour toi ça serait plutot "-R-A-H"
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 29 déc. 2007 à 15:24
ET puis la ligne "Declare Function .... " est a mettre au niveau module, pas au niveau d'une sub (=à copier tout en haut d'un fichier de module, en dehors de toutes déclaration de sub ou de function ou autre)
hugo7
Messages postés352Date d'inscriptionsamedi 11 décembre 2010StatutMembreDernière intervention29 juin 2011 30 déc. 2007 à 11:54
Bon ce pas grave je vais essayer et je vois si je n'ai pas de probleme.
Par contre pour appeler ma fonction dans l'evenement click de mon button je mais bien ca ou je me trompe:
Je dois mettre le nom de la function donc j'ecrit attriball.
Si ces sa casy m'avait parler de mettre les parametres mais je ne vois pas du tous de quoi il parle
D'avance merci pour vos réponse.
hugo7
Messages postés352Date d'inscriptionsamedi 11 décembre 2010StatutMembreDernière intervention29 juin 2011 30 déc. 2007 à 14:10
Ce bon je n'ai aucun probleme apparent sauf que je ne sais pas se qui faut que je marque pour appeler ma function avec les parametres..
Je ne sais pas si ce que j'ai mis le message d'avant et juste.
J'atends une réponse, merci d'avance
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 30 déc. 2007 à 16:16
Ta fonction attend comme paramètre, le répertoire dans lequel les fichiers à traiter se trouvent. Eventuellement tu peux aussi lui passer le fichier ou un masque de fichier à traiter, mais ceci n'est pas obligatoire. Par défaut c'est le masque "*.*" qui est pris, c'est à dire que tous les fichiers du répertoire seront traiter.
Imaginons que tes fichiers se trouve dans le répertoire C:\VbFrance\Temp,
Pour traiter tous les fichiers, tu appelera ta fonction ainsi : AttribAll("C:\VbFrance\Temp")
Pour ne traiter que les fichiers .txt : AttribAll("C:\VbFrance\Temp" , "*.txt")
Si tu ne veux traiter que le fichier calimero.mpg : AttribAll("C:\VbFrance\Temp" , "calimero.mpg")
hugo7
Messages postés352Date d'inscriptionsamedi 11 décembre 2010StatutMembreDernière intervention29 juin 2011 30 déc. 2007 à 18:27
Donc si j'ai bien compris je dois mettre le repertoire sur lequel il y aura les modifications a faire pour les parametres.
Mais juste une derniere question et ce que sa marche si il y a par exemple des sous dossier dans le repertoire ("C:\VbFrance\Temp").
hugo7
Messages postés352Date d'inscriptionsamedi 11 décembre 2010StatutMembreDernière intervention29 juin 2011 30 déc. 2007 à 18:34
En fait j'ai mal poser ma question le probleme ces qu'il faut que je mette comme paramètre, le répertoire dans lequel les fichiers à traiter se trouvent,
mais en fait le probleme ces que ce répertoire change vu que l'utilisateur choisi son répertoire.
D'avance merci pour vos réponse.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 30 déc. 2007 à 18:38
Non, telle qu'est faite la fonction pour le moment cela ne marche que pour les fichiers du répertoire indiqué.
Si tu veux aussi traiter automatiquement tous les fichiers de tous les sous-répertoires il faut que tu modiife la fonction de la sorte :
Public Sub AttribAll(Directory As String, Optional Files As String = "*.*")
ShellExecute 0&, "OPEN", "attrib", "-R-A-H " & Files & " /s" , Directory, 0&
End Sub
hugo7
Messages postés352Date d'inscriptionsamedi 11 décembre 2010StatutMembreDernière intervention29 juin 2011 30 déc. 2007 à 18:52
Tiens je te donne l'erreur:
Argument non spécifié pour le paramètre 'lpDirectory' de 'Declare Ansi Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (hwnd As Integer, lpOperation As String, lpFile As String, lpParameters As String, lpDirectory As String, nShowCmd As Integer) As Integer'.