dúvida com comando !FILE
Moderador: Moderadores
dúvida com comando !FILE
olá pessoal, o comando abaixo, dá certo no XP, mas no windows 7, 64 bits ele não funciona.
IF !FILE ("C:\LOJA\ARQUIVOS\CLIENTES.DBF")
Se querer verificar que o arquivo existe em uma pasta e uma subpasta, só executa corretamente se for no windows XP, no windows 7, ele só da certo assim:
Mesmo o arquivo existindo na pasta\subpasta, ele não encontra, se for executado no windows 7, 64 bits.
IF !FILE ("C:\LOJA\CLIENTES.DBF")
xHARBOUR
IF !FILE ("C:\LOJA\ARQUIVOS\CLIENTES.DBF")
Se querer verificar que o arquivo existe em uma pasta e uma subpasta, só executa corretamente se for no windows XP, no windows 7, ele só da certo assim:
Mesmo o arquivo existindo na pasta\subpasta, ele não encontra, se for executado no windows 7, 64 bits.
IF !FILE ("C:\LOJA\CLIENTES.DBF")
xHARBOUR
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
dúvida com comando !FILE
Olá Porter,
Pressupondo que Seus SO XP e 7 estão em unidades diferentes, tente este teste:
1 - No Windows 7, se posicione na pasta: C:\LOJA\ARQUIVOS\CLIENTES.DBF;
2 - Digite: Attrib Clientes.dbf
Se o arquivo existir, o comando Attrib irá retornar o nome do arquivo e seus atributos. Se não existir, irá retornar: Arquivo não encontrado <NomeDoArquivo>
Faça esse teste e informe o fórum por favor.
Pressupondo que Seus SO XP e 7 estão em unidades diferentes, tente este teste:
1 - No Windows 7, se posicione na pasta: C:\LOJA\ARQUIVOS\CLIENTES.DBF;
2 - Digite: Attrib Clientes.dbf
Se o arquivo existir, o comando Attrib irá retornar o nome do arquivo e seus atributos. Se não existir, irá retornar: Arquivo não encontrado <NomeDoArquivo>
Faça esse teste e informe o fórum por favor.
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)
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
dúvida com comando !FILE
Olá!
Além das sugestões do Jairo, teste também a nova função hb_FileExists().
Além das sugestões do Jairo, teste também a nova função hb_FileExists().
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
dúvida com comando !FILE
tanto no XP como 7, com o comando Attrib foi encontrado o arquivo
CD\LOJA\ARQUIVOS
Attrib Clientes.dbf
A C:\LOJA\ARQUIVOS\CLIENTES.DBF
CD\LOJA\ARQUIVOS
Attrib Clientes.dbf
A C:\LOJA\ARQUIVOS\CLIENTES.DBF
dúvida com comando !FILE
no lugar do !FILE, testei o hb_FileExists() ele tambem só funciona no XP, se tiver que pesquisar em duas pastas
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
dúvida com comando !FILE
Porter,
Então o arquivo CLIENTES.DBF existe também na pasta: C:\LOJA\ARQUIVOS\. E creio que ele está com algum atributo de proteção. Como você não informou o resultado do Attrib, tente fazer o seguinte na pasta do Seven:E teste novamente.
Com certeza você está usando xHarbour, e a função File() no xHarbour detecta o arquivo mesmo com atributos de proteção.
Então o arquivo CLIENTES.DBF existe também na pasta: C:\LOJA\ARQUIVOS\. E creio que ele está com algum atributo de proteção. Como você não informou o resultado do Attrib, tente fazer o seguinte na pasta do Seven:
Código: Selecionar todos
Attrib -r -h -s Clientes.dbfCom certeza você está usando xHarbour, e a função File() no xHarbour detecta o arquivo mesmo com atributos de proteção.
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)
dúvida com comando !FILE
executei o Attrib -r -h -s clientes.dbf, não deu nenhuma mensagem, testei novamente o programa e não funcionou
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
dúvida com comando !FILE
Porter, uso o Windows 7 64, e não há problemas com essa questão. Vou pedir 2 coisas:
1 - Coloque o fonte dessa função para que o fórum possa ajudar (não esquecça de usar o botão da tag Code);
2 - Informe se esse aplicativo você está compilando com xHarbour ou Harbour.
Isso faz diferença, porque a função que o colega Alexandre Santos (AlxSts) sugeriu é do Harbour.
Boa noite. Nos vemos amanhã... Abraços.
1 - Coloque o fonte dessa função para que o fórum possa ajudar (não esquecça de usar o botão da tag Code);
2 - Informe se esse aplicativo você está compilando com xHarbour ou Harbour.
Isso faz diferença, porque a função que o colega Alexandre Santos (AlxSts) sugeriu é do Harbour.
Boa noite. Nos vemos amanhã... Abraços.
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)
dúvida com comando !FILE
Olá,
Agora deu certo, executei novamente o Attrib -r -h -s clientes.dbf, acho que estava sim com algum atributo de proteção, executei o comando a primeira vez nao deu certo, mas agora deu.
obrigado Jairo, obrigado alxsts.
xHarbour
Agora deu certo, executei novamente o Attrib -r -h -s clientes.dbf, acho que estava sim com algum atributo de proteção, executei o comando a primeira vez nao deu certo, mas agora deu.
obrigado Jairo, obrigado alxsts.
xHarbour
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
dúvida com comando !FILE
boa noite!
desculpem ressuscitar um tópico tão antigo e tão simples o uso da função FILE().
Após uma formatação de uma máquina do laboratório aqui, reinstalei o windows 10, e começou exatamente o mesmo problema informado neste tópico.
Fiz os procedimentos sugeridos:
- o attrib e o nome do arquivo;
- o attrib -r -h -s teste.inf (arquivo teste.dbf com extensão modificada para esconder);
- testei com FILE (claro que já era assim), tanto quanto com HB_FileExists() e o problema não foi solucionado;
veja(m) meu código como é simples e funcionava antes da formatação (ré-instalação) do windows que estava dando pau:
o IF FILE () não é executado e pula pro ELSE
O que pode ser?
grato!
obs.: 1) estou compilando com HMG 3.5.0.1 pela IDE, como sempre faço.
2) já testei também no lugar de usar as variáveis cDir + cFileDBF, usar diretamente dentro do IF FILE ('c:\windows\system\teste.inf') e também não executa ou não localiza o arquivo, que existe e não há atributo algum, nem de leitura e nem de oculto
desculpem ressuscitar um tópico tão antigo e tão simples o uso da função FILE().
Após uma formatação de uma máquina do laboratório aqui, reinstalei o windows 10, e começou exatamente o mesmo problema informado neste tópico.
Fiz os procedimentos sugeridos:
- o attrib e o nome do arquivo;
- o attrib -r -h -s teste.inf (arquivo teste.dbf com extensão modificada para esconder);
- testei com FILE (claro que já era assim), tanto quanto com HB_FileExists() e o problema não foi solucionado;
veja(m) meu código como é simples e funcionava antes da formatação (ré-instalação) do windows que estava dando pau:
Código: Selecionar todos
cDIR := 'c:\windows\system\'
cFileDBF := 'teste.inf'
if file (cDIR+cFileDBF)
DBUsearea(.T.,,cFileDBF,.T.)
if neterr()
MsgStop("não foi possível abrir o arquivo. Verifique e tente novamente mais tarde!",)
endif
else
MsgStop('Cópia ilegal - o programa não ser aberto',)
quit
endifO que pode ser?
grato!
obs.: 1) estou compilando com HMG 3.5.0.1 pela IDE, como sempre faço.
2) já testei também no lugar de usar as variáveis cDir + cFileDBF, usar diretamente dentro do IF FILE ('c:\windows\system\teste.inf') e também não executa ou não localiza o arquivo, que existe e não há atributo algum, nem de leitura e nem de oculto
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!
Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
MICROVOLUTION - 16 anos Evoluindo Com Você!
Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
dúvida com comando !FILE
Já falamos sobre usar pastas do Windows, que geralmente são protegidas pelo sistema operacional.
Em todo caso, veja se Directory() retorna alguma coisa.
Em todo caso, veja se Directory() retorna alguma coisa.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
dúvida com comando !FILE
Boa noite;
Exemplo em fivewin muito simplezinho, veja se ajuda: Dúvidas, pergunte.
Download completo:
Regards, saludos.
Exemplo em fivewin muito simplezinho, veja se ajuda: Dúvidas, pergunte.
Download completo:
Regards, saludos.
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
dúvida com comando !FILE
Há alguns problemas ai...
1-A pasta System32 é protegida, e tanto para salvar algo nela como para ler, precisa de autorização de administrador.
2-Arquivos com extensão .inf são considerados arquivos de sistema, o Windows pode estar protegendo esse arquivo por considerar arquivo de sistema.
3-Se a versão do Windows é a mesma de antes da formatação, a configuração não é. A anterior estava configurado para NÃO proteger arquivos de sistema (o que é perigoso na minha opinião)
Sugestão de solução:
1-Altere a aplicação para esconder esse arquivo (que em se tratando de windows não se esconde nada, basta procurar por arquivos alterados na última hora por exemplo) em outra pasta que não exija operação de administrador para usar.
2-Mesmo alterando a extensão, nessa pasta vai continuar protegido, assim, o sistema a usá-lo tem que ser aberto no modo administrador para ler esse arquivo, salvo se o Windows considerá-lo como seu, a extensão .inf é reservada.
1-A pasta System32 é protegida, e tanto para salvar algo nela como para ler, precisa de autorização de administrador.
2-Arquivos com extensão .inf são considerados arquivos de sistema, o Windows pode estar protegendo esse arquivo por considerar arquivo de sistema.
3-Se a versão do Windows é a mesma de antes da formatação, a configuração não é. A anterior estava configurado para NÃO proteger arquivos de sistema (o que é perigoso na minha opinião)
Sugestão de solução:
1-Altere a aplicação para esconder esse arquivo (que em se tratando de windows não se esconde nada, basta procurar por arquivos alterados na última hora por exemplo) em outra pasta que não exija operação de administrador para usar.
2-Mesmo alterando a extensão, nessa pasta vai continuar protegido, assim, o sistema a usá-lo tem que ser aberto no modo administrador para ler esse arquivo, salvo se o Windows considerá-lo como seu, a extensão .inf é reservada.
Errado, o If File() está sendo executado, porém, como não identifica o arquivo pula para o ELSE.microvolution escreveu:o IF FILE () não é executado e pula pro ELSE
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)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
dúvida com comando !FILE
Se não me engano, da outra decidiu rodar o aplicativo como administrador.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/