Mudar atributos de um arquivo
Moderador: Moderadores
- clodoaldomonteiro
- Usuário Nível 4

- Mensagens: 821
- Registrado em: 30 Dez 2006 13:17
- Localização: Teresina-PI
- Contato:
Mudar atributos de um arquivo
Olá galera!
Queria saber se no harbour tem alguma função para mudar os atributos de arquivo, aqueles R S H, pois com o attrib do DOS sempre aparece uma tela preta.
Queria saber se no harbour tem alguma função para mudar os atributos de arquivo, aqueles R S H, pois com o attrib do DOS sempre aparece uma tela preta.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Re: Mudar atributos de um arquivo
Função SetFAttr(<arquivo>,<atributo>), com os códitos de atributo iguais aos da função FCreate() do Clipper, onde são acrescentados apenas o 8 para "volume" e o 32 pra "archived". Os códigos podem ser combinados, claro.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
spereira
- Usuário Nível 2

- Mensagens: 85
- Registrado em: 19 Jul 2004 11:42
- Localização: Porto - Portugal
Mudar atributos de um arquivo
Bom dia,
O meu arquivo está com os atributos +R+H+S.
Durante o processo tenho que o passar para -R-H-S para que possa ser visualizado e trabalhado e, depois tenho passá-lo novamente para +R+H+S, uma vez que há outros programas antigos que o utilizam desta forma.
O fato é que com a função SetFAttr( "PONTO.DBF", "-R-H-S" ) ele funciona corretamente, mas quando executo a função para retornar como estava antes não funciona, e faço desta forma SetFAttr( "PONTO.DBF", "+R+H+S" ).
Há alguma outra forma de fazê-lo?
Obrigado.
O meu arquivo está com os atributos +R+H+S.
Durante o processo tenho que o passar para -R-H-S para que possa ser visualizado e trabalhado e, depois tenho passá-lo novamente para +R+H+S, uma vez que há outros programas antigos que o utilizam desta forma.
O fato é que com a função SetFAttr( "PONTO.DBF", "-R-H-S" ) ele funciona corretamente, mas quando executo a função para retornar como estava antes não funciona, e faço desta forma SetFAttr( "PONTO.DBF", "+R+H+S" ).
Há alguma outra forma de fazê-lo?
Obrigado.
Sérgio Pereira
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Mudar atributos de um arquivo
Olá Sérgio,
Já tentou sem o atributo "H" (hiden)? Acho que terá o mesmo efeito e será achado para voltar os atributos.
Já tentou sem o atributo "H" (hiden)? Acho que terá o mesmo efeito e será achado para voltar os atributos.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
spereira
- Usuário Nível 2

- Mensagens: 85
- Registrado em: 19 Jul 2004 11:42
- Localização: Porto - Portugal
Mudar atributos de um arquivo
Já tentei agora sem o H mas sem sucesso, também tentei SetFAttr( "PONTO.DBF", "RHS" ) e SetFAttr( "PONTO.DBF", 124 ) também sem sucesso.
Descobri uma forma de fazer, que serve para o que eu preciso que é imprimir uma lista de ponto apenas, que é utilizar o COPY FILE deste arquivo para outro temporário e este arquivo é criado sem estes atributos e assim posso trabalhar. Mas para outra aplicação que eu precisar manipular os dados não sei como fazer.
Obrigado.
Descobri uma forma de fazer, que serve para o que eu preciso que é imprimir uma lista de ponto apenas, que é utilizar o COPY FILE deste arquivo para outro temporário e este arquivo é criado sem estes atributos e assim posso trabalhar. Mas para outra aplicação que eu precisar manipular os dados não sei como fazer.
Obrigado.
Sérgio Pereira
Mudar atributos de um arquivo
Bom dia, pessoal.
Peço licença pra pegar carona nesse post e esclarecer o que segue:
Eu uso Hb20+Bcc e gostaria de tornar um executável "ReaOnly" e depois Desfazer o Atributro
Tentei isso e não deu erro de compilação, porém não aconteceu nada com o executavel:
//Para Desfazer: SetFAttr( "PROG.EXE", "-R" )
O que devo faxzer ?
Peço licença pra pegar carona nesse post e esclarecer o que segue:
Eu uso Hb20+Bcc e gostaria de tornar um executável "ReaOnly" e depois Desfazer o Atributro
Tentei isso e não deu erro de compilação, porém não aconteceu nada com o executavel:
Código: Selecionar todos
SetFAttr( "PROG.EXE", "+R" ) O que devo faxzer ?
lugab
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Mudar atributos de um arquivo
Olá Sérgio Pereira,
Uma pergunta que pode ser idiota, mas você tem certeza que está fechando o arquivo antes de voltar os atributos?
Olá lugab,
Você está tentando fazer isso pelo próprio executável? Lembre-se que para alterar atributos o arquivo não pode estar em uso, ou seja, tem que estar fechado.
Uma pergunta que pode ser idiota, mas você tem certeza que está fechando o arquivo antes de voltar os atributos?
Olá lugab,
Você está tentando fazer isso pelo próprio executável? Lembre-se que para alterar atributos o arquivo não pode estar em uso, ou seja, tem que estar fechado.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
spereira
- Usuário Nível 2

- Mensagens: 85
- Registrado em: 19 Jul 2004 11:42
- Localização: Porto - Portugal
Mudar atributos de um arquivo
Olá Jairo,
Sim, fechei a área do arquivo, aliás eu tinha esta dúvida e testei com close all e o resultado foi o mesmo.
Acredito que tenha algum bug nesta função do harbour.
Obrigado.
Sim, fechei a área do arquivo, aliás eu tinha esta dúvida e testei com close all e o resultado foi o mesmo.
Acredito que tenha algum bug nesta função do harbour.
Obrigado.
Sérgio Pereira
Mudar atributos de um arquivo
Sim, Jairo, o programa em execução é TESTE.EXE e o que eu quero mudar atributos é PROG.EXE
lugab, você está tentando fazer isso pelo próprio executável? Lembre-se que para alterar atributos o arquivo não pode estar em uso, ou seja, tem que estar fechado.
lugab
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Mudar atributos de um arquivo
Olá Pessoal,
Realmente a função SetFAttr() não funciona, trata-se realmente de um bug dessa função que é da lib HbCT.Lib, não é do Harbour. Mas a função Hb_FSetAttr() funciona perfeitamente, e a forma de passar os parâmetros é a mesma da SetFAttr():
Realmente a função SetFAttr() não funciona, trata-se realmente de um bug dessa função que é da lib HbCT.Lib, não é do Harbour. Mas a função Hb_FSetAttr() funciona perfeitamente, e a forma de passar os parâmetros é a mesma da SetFAttr():
Código: Selecionar todos
Function Main()
Clear Screen
?
?
Hb_FSetAttr( "xx.prg", 1 ) // Read Only
Hb_Run( "Attrib xx.prg" )
?
Hb_FSetAttr( "xx.prg", 2 ) // Hiden
Hb_Run( "Attrib xx.prg" )
?
Hb_FSetAttr( "xx.prg", 4 ) // System
Hb_Run( "Attrib xx.prg" )
?
Hb_FSetAttr( "xx.prg", 3 ) // Read Only, Hiden
Hb_Run( "Attrib xx.prg" )
?
Hb_FSetAttr( "xx.prg", 5 ) // Hiden, System
Hb_Run( "Attrib xx.prg" )
?
Hb_FSetAttr( "xx.prg", 7 ) // Read Only, Hiden, System
Hb_Run( "Attrib xx.prg" )
?
Hb_FSetAttr( "xx.prg", 0 ) // volta os atributos
Hb_Run( "Attrib xx.prg" )
Return NilAbraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Mudar atributos de um arquivo
Funcionou, Jairo, muito obrigado
Só acho que não é possível executar uma única vez o HB_FsetAttr() para alterar o atributo de vários arquivos,tipo "*.dbf"
Só acho que não é possível executar uma única vez o HB_FsetAttr() para alterar o atributo de vários arquivos,tipo "*.dbf"
lugab
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Mudar atributos de um arquivo
Olá Lugab,
Não dá. Ele atua em um arquivo por vez, mas algo assim não ajudaria?:Para voltar os atributos repete o processo com o parâmetro 0 (zero).
Não dá. Ele atua em um arquivo por vez, mas algo assim não ajudaria?:
Código: Selecionar todos
/*
Incluir a lib HBCT.LIB
*/
Function Main()
Local x, aFiles, cCaminho
Private cFile
cCaminho := DiskName() + ":" + DirName() + "\"
aFiles := Directory( cCaminho + "*.DBF" )
Clear Screen
?
?
For x=1 To Len( aFiles )
cFile := aFiles[ x, 1 ]
Hb_FSetAttr( cFile, 1 ) // Read Only
Hb_Run( "Attrib &cFile." )
Inkey(0)
If LastKey() = 27 // ESC sai...
Exit
EndIf
Next
Return NilAbraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Mudar atributos de um arquivo
Sim, Jairo , a solução é essa mesmo, só que ficou muito mais lento do que fazer
O problema do "hb_run" é a tela preta
Código: Selecionar todos
"Hb_Run attrib +r *.dbf"lugab

