|
|
|
|
|
Dicas
|
|
Visual Basic (Arquivos/Diretórios)
|
|
|
Título da Dica: Descobrindo e Alterando Atributos de Arquivos
|
|
|
|
Postada em 8/10/2000 por Webmaster
webmaster@vbweb.com.br
'Num módulo: Public Type Attrib Archive As Boolean Hidden As Boolean ReadOnly As Boolean System As Boolean End Type
Public Function MudaAtributo(ByVal sNomeArq As _ String, ByRef m_Attrib As Attrib) As Boolean Dim AtributoMudar As Integer
If m_Attrib.Archive = True Then AtributoMudar = AtributoMudar + vbArchive End If If m_Attrib.Hidden = True Then AtributoMudar = AtributoMudar + vbHidden End If If m_Attrib.ReadOnly = True Then AtributoMudar = AtributoMudar + vbReadOnly End If If m_Attrib.System = True Then AtributoMudar = AtributoMudar + vbSystem End If
If Dir(sNomeArq, vbReadOnly + vbArchive + _ vbSystem + vbHidden) = "" Then MudaAtributo = False Exit Function End If
On Error GoTo Erro SetAttr sNomeArq, AtributoMudar On Error GoTo 0 MudaAtributo = True Exit Function Erro: MudaAtributo = False End Function
Public Function PegaAtributo(ByVal sNomeArq As _ String, ByRef m_Attrib As Attrib) As Boolean Dim AtributoReceber As Integer
If Dir(sNomeArq, vbReadOnly + vbArchive + _ vbSystem + vbHidden) = "" Then PegaAtributo = False Exit Function End If
On Error GoTo Erro AtributoReceber = GetAttr(sNomeArq) On Error GoTo 0 m_Attrib.Archive = AtributoReceber And vbArchive m_Attrib.Hidden = AtributoReceber And vbHidden m_Attrib.ReadOnly = AtributoReceber And vbReadOnly m_Attrib.System = AtributoReceber And vbSystem PegaAtributo = True Exit Function Erro: PegaAtributo = False End Function
'P/ saber os atributos, proceda da seguinte maneira: Private Sub cmdPegar_Click() Dim ATR As Attrib
If Not PegaAtributo("C:\Cezar.BMP", ATR) Then Debug.Print "Erro ao Pegar" Exit Sub End If
MsgBox "Atrubutos do Arquivo: C:\Cezar.BMP" & _ vbCrLf & "A - " & ATR.Archive & vbCrLf & _ "H - " & ATR.Hidden & vbCrLf & _ "R - " & ATR.ReadOnly & vbCrLf & _ "S - " & ATR.System End Sub Ele retornará da seguinte forma: ATR.Archive => Atributo Archive (Arquivo) ATR.Hidden => Atributo Hidden (Oculto) ATR.ReadOnly => Atributo ReadOnly (Somente p/ Leitura) ATR.System => Atributo System (Arquivo de Sistema)
'P/ mudar os atributos, proceda da seguinte 'maneira: Private Sub cmdMudar_Click() Dim ATR As Attrib ATR.Archive = True ATR.Hidden = False ATR.ReadOnly = False ATR.System = False If Not MudaAtributo("C:\Cezar.BMP", ATR) Then Debug.Print "Erro ao Pegar" Exit Sub End If Call cmdPegar_Click End Sub Então, após ele mudar os atributos, ele irá confirmar (chamando a Sub anterior) e lhe mostrará o resultado (os novos valores p/ os atributos...).
Detalhe, os parâmetros da função MudaAtributo são: ATR.Archive => Atributo Archive (Arquivo) ATR.Hidden => Atributo Hidden (Oculto) ATR.ReadOnly => Atributo ReadOnly (Somente p/ Leitura) ATR.System => Atributo System (Arquivo de Sistema)
|
|
|
|
|