kapiaba Posted March 12, 2008 Report Share Posted March 12, 2008 #Include "FiveWin.Ch" #Include "Directry.Ch" #Include "Ord.Ch" FUNCTION... IF FILE("EMPRESA.CDX") AEVAL(DIRECTORY( "EMPRESA.CDX" ),{ |aFILE| FERASE(aFILE[F_NAME]) } ) ENDIF IF !FILE( "EMPRESA.CDX") ? [AQUIVO DELETADO COM SUCESSO] ENDIF RETURN NIL id=code>id=code>João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Kbelo Posted March 12, 2008 Report Share Posted March 12, 2008 Vc ja verificou se nao é nenhum problema de permissão???? Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted March 12, 2008 Report Share Posted March 12, 2008 O Arquivo não chamava "LENCA.cDX" ou eu perdi alguma coisa ??? Luiz Arruda - Corumbá/MS FWH 2.4 - WS - xHB 09950 - xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
kapiaba Posted March 12, 2008 Report Share Posted March 12, 2008 citação:O Arquivo não chamava "LENCA.cDX" ou eu perdi alguma coisa ??? Luiz Arruda - Corumbá/MS FWH 2.4 - WS - xHB 09950 - xDev ico.corumba@gmail.com id=quote>id=quote>´EITA LOIRA´ DO KPETA!! QUEM INICIOU O TOPICO, FOI O NILSON DE CAMPINAS(VASCON). QUEM ESTà PERGUNTANDO AGORA, É ANTHONY DE ITAOCARA - RJ, AMIGO DO ANDERSON.OL. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
jfaguiar Posted March 12, 2008 Report Share Posted March 12, 2008 Olá meu caro. Para apagar todos os seus cdx antes de iniciar a indexação geral use o código abaixo: IF MsgYesNo("Confirma a reorganizaçao da base de dados ?",'Confirmação') CLOSE DATABASE cPATH := "C:\SISTEMA\" // Por exemplo aCDX := DIRECTORY(cPATH + "*.CDX") FOR I = 1 TO LEN(aCDX) VARQCDX := VPATH + aCDX[i,1] ERASE &VARQCDX NEXT ENDIF Boa Sorte Quote Link to comment Share on other sites More sharing options...
miragerr Posted March 12, 2008 Report Share Posted March 12, 2008 Ola amigos Tente desta forma // devera retorna .T. se excluido ? ENVIARARQUIVOPARALIXEIRA( "nomearquivo.cdx"+Chr(0) ) #pragma BEGINDUMP #include "windows.h" #include "hbapi.h" HB_FUNC( ENVIARARQUIVOPARALIXEIRA ) { SHFILEOPSTRUCT shf; char *sFile; int iRet = 0; ZeroMemory(&shf,sizeof(shf)); sFile = hb_parc(1); shf.wFunc = FO_DELETE; shf.pFrom = (LPCSTR) sFile; shf.fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION; iRet = SHFileOperation( &shf ); if (iRet == 0) { hb_retl(TRUE); } else { hb_retl(FALSE); } } #pragma ENDDUMP id=code>id=code>Jackson Douglas Boa Vista FWH 8.02 Lamborguini ( isso voa gente ) PellesC+xH 1.1.0 email : miragerr@osite.com.br MSN : jackson_rl@hotmail.com SKYPE : jackson_rr Quote Link to comment Share on other sites More sharing options...
VASCON Posted March 15, 2008 Author Report Share Posted March 15, 2008 PESSOAL, Faz muito tempo que tive esse problema e postei a pergunta. Já faz muito tempo que também resolvi da forma abaixo IF mORGA1 = "S" // se for para indexar arquivo IF NETUSE("CALEN","LENCA",.T.,10) // abre exclusivo mARQV="CALENDÃRIO " oARQV:Refresh() PACK IF FILE("LENCA.CDX") // se exsitir CDX DELETE FILE("LENCA.CDX") //apaga ENDIF oMeter:nTotal = RecCount() INDEX ON DIAME TAG INDICE1 TO LENCA FOR !Deleted() EVAL( oMeter:Set( nRecno+1),SysRefresh() ) oMeter:Set(0) ELSE MsgAlert("Arquivo não Disponivel!", "Aguarde!") ENDIF ENDIF NILSON Quote Link to comment Share on other sites More sharing options...
Delair José Gasperin Posted March 17, 2008 Report Share Posted March 17, 2008 Muito Bem! Todos estão tentando ajudar, mas acredito que já está claro de que não se trata de um problema de programação, pois se o ambiente está bom e os arquivos fechados ele já teria apagado. Como consegue apagar de fora do programa tudo indica que é problema com o sistema operacional. Isto está muito mais para falta de permissão, como perguntou o Marcelo ou bug do Win. Tente isolar o bloblema. Em que situações consegue e em que situação não consegue apagar. Qual é o Windows que você está usando? Quantas estações copõe sua rede? Todas estão com a mesma versão do Win? Já tentou em todas as estações? Que servidor você usa? Está usando algum tipo de servidor de arquivos? Programas de terceiro manuseiam seus arquivos (backup, por exemplo)? Já tentou rodar seu programa com os arquivos localmente, ou rodar o programa sobre o servidor? Em algum caso consegue apagar o .cdx pelo programa? Seu problema é com todos os CDX´s ou com apenas um? Em alguns casos deve funcionar, veja o que há de diferente entre as duas situações (apaga/não apaga) que o problema será resolvido. ----------------------------------------------------------- FiveWin 1.92 / Clipper 5.3b / Blinker 7.0 / Workshop / ADS 6.11 Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted March 17, 2008 Report Share Posted March 17, 2008 citação:segue mais um exemplo igual ao meu prg e desde já obrigado a todos. if select("EMPRESA") > 0 close EMPRESA endif ferase("EMPRESA.CDX") do while file("EMPRESA.CDX") msg("Tentando apagar arquivo EMPRESA.CDX") // não sai dessa mensagem id=red> ferase("EMPRESA.CDX") enddo if !net_use("EMPRESA",,"E") return endif pack oText:SetText("Atualizando " + alias() + "...") oMeter:nTotal := lastrec() nCount++ ; oMeter:Set(nCount) index on CODIGOEMP tag EMCODIGO to ("EMPRESA") ; eval ( oMeter:Set( RecNo() ), SysRefresh() ) every 10 index on NOME tag EMNOME to ("EMPRESA") ; eval ( oMeter:Set( RecNo() ), SysRefresh() ) every 10 id=quote>id=quote>Só mas uma pergunta.. Você já tentou tirar este loop ?? Sei que não tem nada a ver mas ... vai saber né... Luiz Arruda - Corumbá/MS FWH 2.4 - WS - xHB 09950 - xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
VASCON Posted March 20, 2008 Author Report Share Posted March 20, 2008 LUIZ, Não vai sair da mensagem, pois não foi criada possibilidade de saida so loop. NILSON Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted March 20, 2008 Report Share Posted March 20, 2008 citação:LUIZ, Não vai sair da mensagem, pois não foi criada possibilidade de saida so loop. NILSON id=quote>id=quote>Correto, mas o eu quiz dizer é acabar com o do while.. Vc. mesmo já deu a resposta, agora vamos esperar o Anthony Ormond se pronunciar.. ele sumiu sem dizer se resolveu ou não. Será que a enchente pegou ele ?? Abraços.. Luiz Arruda - Corumbá/MS FWH 2.4 - WS - xHB 09950 - xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.