Deletando arq's. RDD CDX

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Ale SB
Usuário Nível 3
Usuário Nível 3
Mensagens: 201
Registrado em: 20 Jul 2004 17:30
Localização: Campo Grande / MS

Deletando arq's. RDD CDX

Mensagem por Ale SB »

E ai galera, blz,

eh o seguinte eu estou mudando meus indeces .NTX p/ .CDX com o CL52e, nesta transiçao percebi q toda hora q abre o Sistema ele remonta o indice por cima do outro, concluindo;

Tenho q deletar o arq. de indice toda vez q eu sair do sistema ?
Como eu deletaria dentro do meu sistema os arq. de indices ?
Ex. daria pra eu fazer como no DOS (del *.cdx), dar esse comando dentro do sistema ?

Aguadeço antecipadamento pela ajuda;

@braços Ale SB -:]
Imagemr]
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

Mensagem por Daniel »

Ale
Vc ta mando o seu programa criar os index toda a vez que vc entra no sistema?
Se sim isto acontece tando nos cdx e nsx.
vc pode usar assim:

Código: Selecionar todos

If !File('seu_index')
    Set index campo Tag cad_080 To cdx_019
    Set index campo1 Tag cad_081 To cdx_019
Else
   Select 1
   Use banco
   Set Index To cdx_019
EndIf
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Colega

Não vejo a necessidade de refazer os indices toda vez que entra no sistema, porém sem dúdida alguma ao usar o CDX o correto é sempre excluir os arquivos de indices antigos antes de criá-los novamente, para tanto use a função abaixo.

Código: Selecionar todos

*-----------------*
 FUNCTION DELCDX()
*-----------------*
AEVAL(DIRECTORY("C:\SISTEMA\*.CDX"),{|AFILE|FERASE(AFILE[F_NAME])})
RETURN(.T.)
Supondo que seus arquivos de sistema estejam num diretório chamado C:\SISTEMA (basta mudar para o nome correto)
Aí é só chamar essa função antes da recriação dos indices.
DELCDX()
Ps. Você precisará usar a DIRECTRY.CH no inicio do seu programa.

Se você quiser também pode usar o comando RUN porém é possível que você tenha problemas com a falta de memória convencional se você não usar seu sistema em modo protegido, neste caso ficaria.

RUN DEL *.CDX

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Responder