Trooper
|
VB6: Como modificar atributo de arquivo
21-11-05, 22:04
#1
Preciso copiar um arquivo de um DVD pro disco rídigo e preciso retirar o atributo 'somente leitura' dele. Como fazer isso com o VB6?
|
||||
Banned
|
21-11-05, 22:15
#2
nao lembro, digite:
FileSystem.FileAtr que deve aparecer a pista |
Trooper
|
21-11-05, 22:23
#3
fica esperto que tem uns comentarios no codigo sem o ' antes, então leia tudo antes de rodar
Code:
Descobrindo e Alterando Atributos de Arquivos '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) |
Trooper
|
21-11-05, 23:33
#4
Caras... asuhauhsuh eu só quero retirar o 'somente leitura'. Só isso! Todos têm!
|
Trooper
|
21-11-05, 23:52
#5
setattr "arquivo.txt", vbnormal
simples! |
Trooper
|
21-11-05, 23:53
#6
Não é só copiar pro HD e nas propriedades do arquivo desmarcar a opção do somente leitura?
|
Trooper
|
22-11-05, 00:25
#7
Quote:
A pessoa que vai utilizá-los não manja nada, então já embuti o 'setattr' retirando a qualidade de 'somente leitura' uma vez que o software que fará a análise desses arquivos necessita editá-los (descompactando). Já consegui! |
|
Trooper
|
22-11-05, 00:43
#8
Ahhh
|
Trooper
|
22-11-05, 01:21
#9
Aaahcabei de enfiar o dedo no cu!
Fui apagar os testes e apaguei o projetinho, o form e tudo mais shit + del. E pior ainda, copiei uma porção de coisas pra pasta onde estas coisas estavam. VTNC! |
Trooper
|
22-11-05, 01:24
#10
O pior é que quando a gente quer apagar um arquivo o Windows XP segura Deus e todo mundo se ele estiver aberto, eu apaguei o projeto inteiro e ele sendo emulado pelo VB. Vai entender... _|_
|
The Alpha Male
|
22-11-05, 08:11
#11
e dai q sao milhares?
da pra selecionar todos pelo ruindows e tirar o readonly |
Trooper
|
22-11-05, 08:13
#12
E daí que são vários DVDs e o cara não manja.
|
Trooper
|
22-11-05, 08:31
#13
VB6 não faz nenhuma cópia temporária de um form que estiver sendo emulado??
|
The Alpha Male
|
22-11-05, 08:41
#14
ctrl A
desmarcar o read only Apply changes to the selected itens subfolders and files /close |
Banned
|
22-11-05, 08:55
#15
bomba, se eh bobo?
ele tem VARIOS dvds ae ele vai ter q botar um dvd no drive, fazer isso, tirar, botar outro e fazer de novo etc e tal mto mais pratico dar 2 clicks num programa qualquer :P |
Trooper
|
22-11-05, 08:57
#16
Passei um recover aqui em busca do arquivo do formulário... achou de tudo um pouco, desde arquivos perdidos antigos ao arquivos do projeto, mas o arquivo do form... esse ele nem listou. TNC!
|
e tenho dito
|
22-11-05, 09:29
#17
Pit... usou qual programa?
o easyrecovery acha tudo... |
The Alpha Male
|
22-11-05, 09:50
#18
Quote:
pq eh 3 cliques pra fazer pq eu falei + apertar 2 teclas(ctrl a) |
|
Trooper
|
22-11-05, 16:59
#19
Quote:
|
|
Trooper
|
23-11-05, 00:30
#20
Quote:
|
|
The Alpha Male
|
23-11-05, 06:22
#21
Quote:
nem demora tanto no 2k |
|
Trooper
|
23-11-05, 08:20
#22
Quote:
alguem sabe dizer se o easy recovery recupera dados apagados de um memory stick?! |
|
Trooper
|
23-11-05, 09:15
#23
Bomba mirim!
|
The Alpha Male
|
23-11-05, 09:25
#24
vc exala juventude mesmo tenho 500 anos pit
|
|
|