como gerar indices idx ???

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
adilson
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 01 Fev 2008 07:02
Localização: americana - sao paulo

como gerar indices idx ???

Mensagem por adilson »

Boa tarde pessoal !

Tenho um sistema em clipper que utiliza indices idx, apos compilar ele para harbour o mesmo so cria indices cdx.
tem como o mesmo criar idx ?? eis o exemplo do prg

function main()
request dbfcdx
rddsetdefault ("dbfcdx")
if !file("empresa.idx")
index on codigo to empcod
endif
...
...

** ai e criado empcod.cdx ??

obrigado

[]´s
Burroughs L3000 (4 kb ram) e B700,Labo 8034-8038 (Basic Nixdorf),Apple II plus,Clipper 5.2e e começando com xharbour 0.99.70
anacatacombs
Membro Master
Membro Master
Mensagens: 472
Registrado em: 12 Jul 2005 16:53
Localização: Cianorte-Paraná
Contato:

Re: como gerar indices idx ???

Mensagem por anacatacombs »

Caro Colega..
Como está usando a RDD DBFCDX, é natural que seu arquivo de índice seja criado como .CDX.
Eu nunca cheguei a trabalhar com os índices IDX, e na verdade, desculpe minha ignorância, nem cheguei a ver um índice IDX.

Mas eis a curiosidade: Você quer migrar pra harbour sem alterar a RDD?

[]'s

Ana
luizservulo
Usuário Nível 1
Usuário Nível 1
Mensagens: 43
Registrado em: 02 Jan 2007 18:59
Localização: Diadema/SP

Re: como gerar indices idx ???

Mensagem por luizservulo »

boa tarde...

o indice IDX até aonde sei é o mesmo do CDX só que trabalha individualmente, ou seja:

***CDX***
Arquivo.dbf
Arquivo.CDX que tem o indice 1, indice 2, indice 3 e indice 4

***IDX***
Arquivo.dbf
indice1.idx
indice2.idx
indice3.idx
indice4.idx
anacatacombs
Membro Master
Membro Master
Mensagens: 472
Registrado em: 12 Jul 2005 16:53
Localização: Cianorte-Paraná
Contato:

Re: como gerar indices idx ???

Mensagem por anacatacombs »

Eu realmente sou a senhora ignorância pra tudo isso, talvez alguém com mais experiência possa explicar o tal mistério.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: como gerar indices idx ???

Mensagem por alxsts »

Olá!

A extensão .IDX é utilizada genericamente para arquivos de índice. Até no Outlook Express é encontrada.

No mundo xBase, ela nasceu para designar arquivos de índice do dBase. É utilizada também no FlagShip onde a expressão abaixo é válida:

Código: Selecionar todos

RddSetDefault( "DBFIDX" )
No teu caso (Harbour) não encontrei nada a respeito de compatibilidade. Experimente trocar a linha onde você especifica o driver default pela escrita acima. O motivo de estarem sendo criados índices CDX foi explicado pela Ana.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
adilson
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 01 Fev 2008 07:02
Localização: americana - sao paulo

Re: como gerar indices idx ???

Mensagem por adilson »

bom dia pessoal !

Ola no Clipper usando RDDCDX ao indexar sem as TAGS sao gerados automaticamente os idx, ja no harbour
nao , cria somente o cdx. e a sintaxe no inicio do prg e o mesmo .e assim mesmo ou estou comendo bronha na
hora de compilar com o hbmake ? na opcao libs externas nao aparece "dbfcdx" .

obrigado a todos...

[]´s
Burroughs L3000 (4 kb ram) e B700,Labo 8034-8038 (Basic Nixdorf),Apple II plus,Clipper 5.2e e começando com xharbour 0.99.70
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: como gerar indices idx ???

Mensagem por alaminojunior »

luizservulo escreveu:o indice IDX até aonde sei é o mesmo do CDX só que trabalha individualmente, ou seja:

***CDX***
Arquivo.dbf
Arquivo.CDX que tem o indice 1, indice 2, indice 3 e indice 4

***IDX***
Arquivo.dbf
indice1.idx
indice2.idx
indice3.idx
indice4.idx
Exatamente.
Acho que o problema do colega está em verificar a existência dos arquivos, estou chutando. E se for isso, é possível contornar a situação de uma maneira bem elegante:
Ao invéz de:

Código: Selecionar todos

IF !FILE("ITENS.CDX")
Use:

Código: Selecionar todos

IF !FILE("ITENS"+INDEXEXT())
Deste modo, independente da RDD utilizada, o compilador sempre irá procurar pelo arquivo, com a extensão de acordo com a RDD utilizada.
É uma idéia.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Responder