Página 1 de 1
Trocando NTX para CDX
Enviado: 02 Out 2006 11:50
por Jarbas
Pessoal, bom dia, troquei um sistema meu de NTX para CDX e agora toda hora eu preciso reorganizar os arquivos pois as informações não estam sendo encontradas.
Estou indexando :
index on numero TAG 1 to vendas EVAL CDXPROGRESS(lN_Lin,lN_Col) EVERY 1=1
index on cliente TAG 2 to vendas EVAL CDXPROGRESS(lN_Lin,lN_Col) EVERY 1=1
Eu troquei :
" Set order to 1" por "ordsetfocus("1")
" Set index to " por " dbsetindex("vendas")
Estaria faltando mais alguma coisa
Desde já obrigado.
Abs
Jarbas
Enviado: 02 Out 2006 12:20
por momente
Caro amigo Jarbas,
1º Delete o arquivo .cdx (verifique se todos os usuários estão fora do sistema);
2º Eu costumo usar assim : index on campo tag tag1 EVAL CDXPROGRESS(lN_Lin,lN_Col) EVERY 1=1 (o indice assume o alias do arquivo aberto);
3º DBSETINDEX("VENDAS") para abrir o arquivo .cdx;
4º ORDSETFOCUS(1) ou 2,3,4... - para selecionar a ordem;
No inicio do seu sistema não pode faltar:
REQUEST DBFCDX
RDDSETDEFAULT("DBFCDX")
DBSETDRIVER("DBFCDX")
E no .lnk coloque as libs : dbdcdx.lib e _dbfcdx.lib.
Espero ter ajudado! :)Pos
Enviado: 02 Out 2006 19:58
por Jarbas
Momente, obrigado, eu já tinha colocado :
REQUEST DBFCDX
RDDSETDEFAULT("DBFCDX")
Mas não coloquei esse :
DBSETDRIVER("DBFCDX")
e não tenho a lib _DBFCDX.LIB , se vc puder me arrumar , eu agradeço.
Obrigado
Abs
Jarbas
Enviado: 02 Out 2006 20:00
por Jarbas
uma duvida , eu devo usar ORDSETFOCUS(1) ou ORDSETFOCUS("1") ou qq um dos dois
Obrigado
Enviado: 02 Out 2006 23:55
por vagucs
No indice CDX vc tem que ordenar o focu do indice pelo nome da TAG ou seja, toda TAG que vc especificar é em formato caracteres logo com NTX vc seta assim
SET ORDER TO 1 ou DBSETORDER(1)
Em CDX assim
SET ORDER TO TAG 1 ou DBSETORDER("1")
Sem mais
Wagner Nunes
www.vagucs.com.br
Enviado: 03 Out 2006 12:01
por Eliane
Mudei meu sistema para CDX, mas não modifiquei todos os programas. Alguns ainda usam a sintaxe:
DBSETORDER(1) e não tive problema algum. Ainda !
Nos progs que alterei, usei a sintaxe ORDSETFOCUS(1).
Não coloquei como "1", mas nunca tive problemas ?! É necessário mesmo alterar ?
Enviado: 03 Out 2006 12:13
por vagucs
Bom, aqui se eu usar DBSETORDER(1) e não "1" não funciona por causa do nome da TAG.
Enviado: 03 Out 2006 12:49
por momente
Amigo Jarbas,
Na verdade foi falha minha, quando crio o indece coloco assim:
index on campo tag tag1 ...
ai...
ordsetfocus("tag1") ou ordsetfocus("tag2"), assim por diante.
quanto a lib _dbfcdx peguei do clipper53b, li alguma coisa a respeito, mas não tenho propriedade para dizer se muda realmente alguma coisa, fato que eu compilo com meus programas e nada deu errado, então.
Se vc não tiver o clipper53 me fale seu email que eu mando, OK?
valeu! :)Pos
Enviado: 03 Out 2006 19:54
por Jarbas
Momente, obrigado, eu realmente não tenho o clipper 5.3 , mas se não for necessario usar o _dbfcdx.lib não pretendo usa-lo .
Vou fazer uma revisão no sistema pra ver se eu acho onde está o problema do indice estar desatualizando.
De qq forma eu agradeço sua atenção .
Até mais e um abraço
Jarbas
Enviado: 04 Out 2006 12:03
por Eliane
Vagucs, será é porque ainda uso o CLIPPER 52e ou não ?
Enviado: 04 Out 2006 12:46
por vagucs
Se tiver fazendo um sistema do zero, melhor fazer ele em xharbour.
Se o programa já tá pronto, acho que não tem porque mudar a não ser se não está tendo boa aceitação dos seus clientes.
Se você tem bom conhecimento de Clipper/xBase e quiser migrar para uma ferramenta mais portável, use o xHarbour.