Ce petit programme permet de lire et modifier les attributs des fichiers grâce à 4 checkbox.
<U>verticale et en avant</U>
Pour ce programme, il vous faut :
- 4 chckbox ayant pour propriétées :
- Pour la première : Name = chckHide et caption = "Fichier caché"
- Pour la seconde : Name = chckReadOnly et caption = "Lecture seule"
- Pour la troisième : Name = chckArch et caption = "Archive"
- Pour la dernière : Name = chckSys et caption = "Système"
- Il vous aussi un DriveListBox ayant pour proprités Name = diskPrinc
- Ainsi qu'un DirListBox ayant pour propriétés Name = dosPrinc
- Il vous faut aussi une FileListBox ayant pour propriétés : - Name = filePrinc
- Archive = True
- Hide = True
- ReadOnly = True
- Systeme = True
- Et enfin il vous faut une form :-), avec Name = frmPrinc
Vous pouvez aussi téléchargez le zip. Faîtes cependant attention, il est énorme : 8 Ko, ce qui veut qu'avec un modem 9660 Bytes/s, il vous faudra environ une seconde !!!
Source / Exemple :
Private Sub chckArch_Click()
chckset
'si clic sur "Archive", lance, appel la sub "chckset"
End Sub
Private Sub chckHide_Click()
chckset
'si clic sur "Fichier caché", lance, appel la sub "chckset"
End Sub
Private Sub chckReadonly_Click()
'si clic sur "Lecture seule", lance, appel la sub "chckset"
chckset
End Sub
Private Sub chckSys_Click()
'si clic sur "Fichier système", lance, appel la sub "chckset"
chckset
End Sub
Private Sub diskPrinc_Change()
dosPrinc.Path = diskPrinc.Path
'Change le chemin du dosPrinc lorsqu'il y a changement de disque
End Sub
Private Sub dosPrinc_Change()
frmPrinc.chckHide.Enabled = False
frmPrinc.chckReadonly.Enabled = False
frmPrinc.chckArch.Enabled = False
frmPrinc.chckSys.Enabled = False
'La fonction de changement des attribut ne fonctionnant pas avec les répertoires, les cases à cocher sont désactivées.
filePrinc.Path = dosPrinc.Path
'Change le chemin du filePrinc lorsqu'il y a changement de disque
End Sub
Private Sub filePrinc_Click()
frmPrinc.chckHide.Enabled = True
frmPrinc.chckReadonly.Enabled = True
frmPrinc.chckArch.Enabled = True
frmPrinc.chckSys.Enabled = True
'Réactive les cases à cocher
If Right(frmPrinc.dosPrinc.Path, 1) <> "\" Then
chemin = frmPrinc.dosPrinc.Path & "\"
Else
chemin = frmPrinc.dosPrinc.Path
End If
fichier = chemin & filePrinc.filename
chckget (fichier)
'cherche le chemin complet du fichier, et ajoute un "\" si le fichier est situé sur la racine du disque
'puis appelle la procédure chckget avec le chemin complet du fichier
End Sub
Sub chckset()
attrib = 0
If frmPrinc.chckHide.Value = 1 Then attrib = attrib + 2
'si "Fichier caché" est coché, alors ajoute 2 à la valeur "attrib"
If frmPrinc.chckSys.Value = 1 Then attrib = attrib + 4
'meme principe que précedement
If frmPrinc.chckReadonly.Value = 1 Then attrib = attrib + 1
'de même
If frmPrinc.chckArch.Value = 1 Then attrib = attrib + 32
'pareil
If Right(frmPrinc.dosPrinc.Path, 1) <> "\" Then
chemin = frmPrinc.dosPrinc.Path & "\"
Else
chemin = frmPrinc.dosPrinc.Path
End If
fichier = chemin & frmPrinc.filePrinc.filename
SetAttr fichier, attrib
'cherche le chemin complet du fichier, et ajoute un "\" si le fichier est situé sur la racine du disque
'puis appelle la commande SetAttr qui applique le changement
End Sub
Sub chckget(fichier)
attribut = GetAttr(fichier)
Select Case attribut
Case 0
frmPrinc.chckHide.Value = 0
frmPrinc.chckReadonly.Value = 0
frmPrinc.chckArch.Value = 0
frmPrinc.chckSys.Value = 0
Case 1
frmPrinc.chckHide.Value = 0
frmPrinc.chckReadonly.Value = 1
frmPrinc.chckArch.Value = 0
frmPrinc.chckSys.Value = 0
Case 2
frmPrinc.chckHide.Value = 1
frmPrinc.chckReadonly.Value = 0
frmPrinc.chckArch.Value = 0
frmPrinc.chckSys.Value = 0
Case 3
frmPrinc.chckHide.Value = 1
frmPrinc.chckReadonly.Value = 1
frmPrinc.chckArch.Value = 0
frmPrinc.chckSys.Value = 0
Case 4
frmPrinc.chckHide.Value = 0
frmPrinc.chckReadonly.Value = 0
frmPrinc.chckArch.Value = 0
frmPrinc.chckSys.Value = 1
Case 5
frmPrinc.chckHide.Value = 0
frmPrinc.chckReadonly.Value = 1
frmPrinc.chckArch.Value = 0
frmPrinc.chckSys.Value = 1
Case 6
frmPrinc.chckHide.Value = 1
frmPrinc.chckReadonly.Value = 0
frmPrinc.chckArch.Value = 0
frmPrinc.chckSys.Value = 1
Case 7
frmPrinc.chckHide.Value = 1
frmPrinc.chckReadonly.Value = 1
frmPrinc.chckArch.Value = 0
frmPrinc.chckSys.Value = 1
Case 32
frmPrinc.chckHide.Value = 0
frmPrinc.chckReadonly.Value = 0
frmPrinc.chckArch.Value = 1
frmPrinc.chckSys.Value = 0
Case 33
frmPrinc.chckHide.Value = 0
frmPrinc.chckReadonly.Value = 1
frmPrinc.chckArch.Value = 1
frmPrinc.chckSys.Value = 0
Case 34
frmPrinc.chckHide.Value = 1
frmPrinc.chckReadonly.Value = 0
frmPrinc.chckArch.Value = 1
frmPrinc.chckSys.Value = 0
Case 35
frmPrinc.chckHide.Value = 1
frmPrinc.chckReadonly.Value = 1
frmPrinc.chckArch.Value = 1
frmPrinc.chckSys.Value = 0
Case 36
frmPrinc.chckHide.Value = 0
frmPrinc.chckReadonly.Value = 0
frmPrinc.chckArch.Value = 1
frmPrinc.chckSys.Value = 1
Case 37
frmPrinc.chckHide.Value = 0
frmPrinc.chckReadonly.Value = 1
frmPrinc.chckArch.Value = 1
frmPrinc.chckSys.Value = 1
Case 38
frmPrinc.chckHide.Value = 1
frmPrinc.chckReadonly.Value = 0
frmPrinc.chckArch.Value = 1
frmPrinc.chckSys.Value = 1
Case 39
frmPrinc.chckHide.Value = 1
frmPrinc.chckReadonly.Value = 1
frmPrinc.chckArch.Value = 1
frmPrinc.chckSys.Value = 1
End Select
'Appel de la commande GetAttr qui permet de connaitre les attribut d'un fichier. Pour mieux comprendre, mieux vaut lire l'aide de VB à ce sujet.
'Traitment de GetAttr au cas par cas, en cochant les options.
End Sub
Private Sub Form_Load()
frmPrinc.chckHide.Enabled = False
frmPrinc.chckReadonly.Enabled = False
frmPrinc.chckArch.Enabled = False
frmPrinc.chckSys.Enabled = False
'La fonction de changement des attribut ne fonctionnant pas avec les répertoires, les cases à cocher sont désactivées, car auchargement, c'est le dosPrinc qui est activé
End Sub
Conclusion :
Voilà, c'est ma première partcipation à ce site. J'espère que vous n'hésiterai pas à commenterrer... euh commenter ce petit code.
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.