Jump to content
Fivewin Brasil

APAGAR CDX


VASCON

Recommended Posts

#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

Link to comment
Share on other sites

  • Replies 60
  • Created
  • Last Reply

Top Posters In This Topic

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

sai.gifico.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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

sai.gifico.corumba@gmail.com

Link to comment
Share on other sites

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

sai.gifico.corumba@gmail.com

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...