sebo1100
Messages postés35Date d'inscriptionmercredi 28 juin 2006StatutMembreDernière intervention 9 août 2007
-
9 mai 2007 à 07:57
cavo789
Messages postés168Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention28 juillet 2009
-
10 mai 2007 à 13:23
Bonjour,
j ai rien vu a ce sujet. je voudrais dès l'ouverture de mon application faire un test sur un fichier pour savoir si celui ci est en lecture seul.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 9 mai 2007 à 09:49
SAlut,
Je ne sais pas si c'est pareil en .NET mais en VB6 il faut stocker le résultat du Msgbox.
Soit
Dim Toto As Integer
Toto = MsgBox("Le fichier config.cfg est en lecture seule, cela pourrait poser certain problème." & _
vbCrLf & "Il est conseillé de laisser l'accèes à l'enregistrement de ce fichier" & _
vbCrLf & "Voulez effectuer la modification ?", MsgBoxStyle.YesNo, "Modifier le fichier config.cfg ?")
If Toto = MsgBoxResult.Yes Then , ----
[code.aspx?ID=41455 By Renfield]
Mais la encore je ne suis pas sur de ce que j'avance car je ne connais pas les subtilité de .NET mais tu devrais pouvoir adapter
sebo1100
Messages postés35Date d'inscriptionmercredi 28 juin 2006StatutMembreDernière intervention 9 août 2007 9 mai 2007 à 09:02
j ai regardé donc les attributs et j ai trouvé une source sur le sujet.
J'en arrive a ce bout de code mais quand je le lance au démarrage de mon apply. il y a rien, j ai pourtant mis le fichier en lecture seul pour voir le bon fonctionnement de ce bout de code.
Private Sub TestConfigCfg()
Dim Attributes As String
Attributes = File.GetAttributes(CheminSource & "cfg/config.cfg")
If Attributes = 1 And Not Attributes > 1 Then
MsgBox("Lecture seule")
End If
End Sub
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 9 mai 2007 à 09:14
Salut,
Que vaut Attributes (voir avec des msgbox) lorsque le fichier n'est pas en lecture et lorsque qu'il l'est?
Si c'est comme en VB6, il faut faire des masques pour resortir tout les attributs.
Exemple j'ai un fichier sans ReadOnly.
la fonction me retourne 32 (vbArchive)
Si je le place en lecture seule,
la fonction me retourne 33 = 32 ( vbArchive) + 1 ( vbReadOnly) Donc peu être devrais tu essayer de modifier ton IF du style
Private Sub TestConfigCfg()
Dim Attributes As Integer
' EN .NET Attributes = File.GetAttributes(CheminSource & "cfg/config.cfg")
'En vb6
Attributes = GetAttr("C:\Toto.txt")
If (Attributes And vbReadOnly) = 1 Then
MsgBox ("Lecture seule")
End If
End Sub , ----
[code.aspx?ID=41455 By Renfield]
sebo1100
Messages postés35Date d'inscriptionmercredi 28 juin 2006StatutMembreDernière intervention 9 août 2007 9 mai 2007 à 09:40
ca marche bien la
donc j'ai modifié encore le code pour proposer de modifier le fichier.
Private Sub TestConfigCfg()
Dim Attributes As String
Attributes = File.GetAttributes(CheminSource & "cfg/config.cfg")
If (Attributes And vbReadOnly) = 1 Then
MsgBox("Le fichier config.cfg est en lecture seule, cela pourrait poser certain problème." & _
vbCrLf & "Il est conseillé de laisser l'accèes à l'enregistrement de ce fichier" & _
vbCrLf & "Voulez effectuer la modification ?", MsgBoxStyle.YesNo, "Modifier le fichier config.cfg ?")
If MsgBoxResult.Yes Then
SetAttributes(CheminSource & "cfg/config.cfg")
Else
Me.close()
End If
End If
End Sub
Private Sub SetAttributes(ByVal Fichier As String)
Dim Attributes As Integer = 0
Attributes = Attributes + 32
File.SetAttributes(Fichier, Attributes)
End Sub
Mais quelque soit le resultat de la msgbox le fichier est modifié.