Lecture seul,fichier archive,fichier caché

hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 juin 2011 - 29 déc. 2007 à 10:16
hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 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.

38 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
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
0
hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 juin 2011
29 déc. 2007 à 11:05
Merci pour ta réponse aussi rapide ghuysmans99.
Je vais essayer.
0
hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 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
0
hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 juin 2011
29 déc. 2007 à 12:54
Qelqu'un aurait t'il une réponse
D'avance merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 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
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
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
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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"

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
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)
0
hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 juin 2011
29 déc. 2007 à 16:12
Merci a tous pour vos réponse je test et je vois si je n'ai pas de probleme.
Encore merci de m'avoir répondu et vite en plus.
0
hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 juin 2011
29 déc. 2007 à 16:25
Mais la ligne "Declare function" il faut que je la mette quand meme dans ma declaration de classe ou pas ?
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
29 déc. 2007 à 18:48
Euh je sais pas vu que c'est .NET ...
_______________________________________________________________________
VB.NETis good ...VB6is better
0
hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 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.
0
hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 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
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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")

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 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").
0
hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 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.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 juin 2011
30 déc. 2007 à 18:47
A j'ai un pb si je m'ai ce que tu ma donné casy j'ai plein d'erreur....
0
hugo7 Messages postés 352 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 29 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'.
0
Rejoignez-nous