Como saber qual RDD foi usado?
Moderador: Moderadores
Como saber qual RDD foi usado?
Eu tenho 3 arquivos (não criados por mim): XPTO.dbf, XPTO.001 e XPTO.002.
Dei uma olhada em baixo nível no 001 e no 002 e constatei que eles são índices. Então setei o XHarbour pra usar o NTX como default e consegui abrir o XPTO.dbf com os dois, que funcionaram perfeitamente, em ambas as ordens.
Só que preciso reconstruir esses indices e, obviamente, usando o mesmo RDD original, já que eles vão ser usados por um EXE de terceiros...
A questão é: o fato de eu ter conseguido abrir os arquivos com o NTX é 'prova' 100% confiável que os mesmos foram criados pelo NTX? Ou seja, se eu setar por exemplo o CDX e tentar abrir um NTX vai dar algum runtime error, corruption ou sei lá o quê?
Dei uma olhada em baixo nível no 001 e no 002 e constatei que eles são índices. Então setei o XHarbour pra usar o NTX como default e consegui abrir o XPTO.dbf com os dois, que funcionaram perfeitamente, em ambas as ordens.
Só que preciso reconstruir esses indices e, obviamente, usando o mesmo RDD original, já que eles vão ser usados por um EXE de terceiros...
A questão é: o fato de eu ter conseguido abrir os arquivos com o NTX é 'prova' 100% confiável que os mesmos foram criados pelo NTX? Ou seja, se eu setar por exemplo o CDX e tentar abrir um NTX vai dar algum runtime error, corruption ou sei lá o quê?
Uma forma de verificar é ver se tem campo memo no DBF.
Se o correspondente é DBT, foi usado o RDDNTX.
Se for FPT, foi usado o RDDCDX.
Mesmo com o RDDNTX eu ainda não encontrei como determinar se o ntx foi criado com filtro (index on ... to ... for <condição>).
Eu teria que abrir o arquivo de indice e examinar bit a bit.
O CDX é um arquivo hierarquico. Pode ter mais de uma ordem dentro dele. Então não seria necessário mais de um arquivo.
Ah! Só para constar. Se for usado indice composto, para reindexar os arquivos, seu sistema deve conter a função do usuário.
Lembrando que indice composto usa função do usuário ou dados relacionados de outros arquivos.
Respondendo a questão. Sim. O tratamento interno do NTX é diferente do CDX.
Se o correspondente é DBT, foi usado o RDDNTX.
Se for FPT, foi usado o RDDCDX.
Mesmo com o RDDNTX eu ainda não encontrei como determinar se o ntx foi criado com filtro (index on ... to ... for <condição>).
Eu teria que abrir o arquivo de indice e examinar bit a bit.
O CDX é um arquivo hierarquico. Pode ter mais de uma ordem dentro dele. Então não seria necessário mais de um arquivo.
Ah! Só para constar. Se for usado indice composto, para reindexar os arquivos, seu sistema deve conter a função do usuário.
Lembrando que indice composto usa função do usuário ou dados relacionados de outros arquivos.
Respondendo a questão. Sim. O tratamento interno do NTX é diferente do CDX.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
Não, não tem campo memo.Uma forma de verificar é ver se tem campo memo no DBF
Vc pode usar a RDD CDX sem TAGs, criando um arquivo para cada índice, com extensão IPX (ou outra)... No meu caso específico, o arquivo 001 poderia ser um IPX e, o 002, outro...O CDX é um arquivo hierarquico. Pode ter mais de uma ordem dentro dele. Então não seria necessário mais de um arquivo.
Que o tratamento é diferente eu sei. A minha questão é outra: se eu criar um índice com o NTX e tentar depois abrir com o CDX, o que acontece? Abre? Funciona? Dá runtime error? Corruption detected?Respondendo a questão. Sim. O tratamento interno do NTX é diferente do CDX.
Recapitulando: tem algum jeito de o Eolo saber com que RDD um determinado arquivo indice foi criado (pelo GVC), de forma a que o Eolo possa reindexar o arquivo usando a mesma RDD que o GVC usou, não se sujeitando a possíveis (possíveis?) erros?
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Vamos lá,
Eu sugiro o seguinte. Já que conseguiu abrir o índice, deve ser NTX, basta descobrir a chave:
Depois, sabendo a chave, basta reconstruir com o RDD de sua preferência.
Falou!
Eu sugiro o seguinte. Já que conseguiu abrir o índice, deve ser NTX, basta descobrir a chave:
Código: Selecionar todos
USE XPTO INDEX XPTO.001, XPTO.002
cChave1 = IndexKey( 1 )
cChave2 = IndexKey( 2 )
Falou!
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Stanis, a chave eu sei. Bastou olhar dentro dos arquivos indice...Depois, sabendo a chave, basta reconstruir com o RDD de sua preferência.
O problema, como eu disse no primeiro post, NÃO é reconstruir o índice com o RDD da minha preferência! O problema é reconstruir o índice usando o mesmo RDD que foi usado originalmente, pq esse arquivo que eu vou recriar vai ser usado pelo EXE que o criou... Sacou?
Se ele foi criado - pelo EXE original - com o CDX e eu o recriar com o NTX, vai rodar em baixo do EXE original?
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Então não entendi, pois se você abriu com o RDD DBFNTX é evidente que o índice foi criado neste padrão.
Até porque se fosse CDX, esses dois arquivos provavelmente já teriam somados mais de 16 chaves de índices.
Até porque se fosse CDX, esses dois arquivos provavelmente já teriam somados mais de 16 chaves de índices.
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Bão, evidente pra vc que sabe a resposta. Pra mim, não. Tanto que perguntei no começo: A questão é: o fato de eu ter conseguido abrir os arquivos com o NTX é 'prova' 100% confiável que os mesmos foram criados pelo NTX?Então não entendi, pois se você abriu com o RDD DBFNTX é evidente que o índice foi criado neste padrão.
Então, com base no que vc disse em seu último post, posso assumir, com 100% de certeza, que "se eu consigo abrir um arquivo com o RDD NTX, isto quer dizer que ele foi criado com o RDD NTX, sem nenhuma sombra de dúvida"? É isso?
Em outras palavras: nenhum RDD consegue nem abrir um arquivo que não tenha sido criado por ele mesmo? É isso? E, se eu usar por exemplo o CDX pra abrir um arquivo criado pelo NTX, vai dar um runtime error?
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Jânio, sinceramente...Eolo escreveu:E se eu usar por exemplo o CDX pra abrir um arquivo criado pelo NTX, vai dar um runtime error?
Se você tem o clipper instalado no seu computador, você descobre isso em 2 minutos. Teste. Você está desde as 9:00 da manhã procurando uma informação que poderia ter obtido sozinho, simples como:
Código: Selecionar todos
use xxx
index on xxx to xxx
use xxx index xxx via dbcdxStanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
hjahahahaha
Foi a imagem de exibição que me confundiu.... muita informação pra minha cabeça cansada essa hora! Já é a segunda vez que confundo por causa disso... Pior respondi ainda ha pouco e vi que não era ele.
Bom, de qualquer forma, vale pra você o que eu disse a ele, alias só disse porque achei que fosse ele, que sei ter conhecimento pra fazer este programinha simples pra testar o erro.
Isso aí, tentou com o programinha que eu exemplifiquei?
Falou e foi mal ...
Ah, acontece, ja me chamaram de satanis também.
:(Neg
Foi a imagem de exibição que me confundiu.... muita informação pra minha cabeça cansada essa hora! Já é a segunda vez que confundo por causa disso... Pior respondi ainda ha pouco e vi que não era ele.
Bom, de qualquer forma, vale pra você o que eu disse a ele, alias só disse porque achei que fosse ele, que sei ter conhecimento pra fazer este programinha simples pra testar o erro.
Isso aí, tentou com o programinha que eu exemplifiquei?
Falou e foi mal ...
Ah, acontece, ja me chamaram de satanis também.
:(Neg
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Eu diria que é 200% confiável. A estrutura de um NTX é absurdamente diferente de um índice composto.A questão é: o fato de eu ter conseguido abrir os arquivos com o NTX é 'prova' 100% confiável que os mesmos foram criados pelo NTX?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Ah, eu caí nessa também. Esse negócio de compartilhamento de avatar causa uma confusão danada.Foi a imagem de exibição que me confundiu....
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Eu sei que sim, mas eu quis apenas demonstrar que ele poderia fazer essa verificação, e responder a pergunta "E se eu usar por exemplo o CDX pra abrir um arquivo criado pelo NTX, vai dar um runtime error?" em apenas duas linhas de PRG.Maligno escreveu:Eu diria que é 200% confiável. A estrutura de um NTX é absurdamente diferente de um índice composto.
Melhor que esperar 13 horas pela resposta, que de repente pode ser de alguém que até está fazendo isso para responder.
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Pois é, já pensou eu vir de Dr. Evil amanhã e ainda reclamar se me chamarem de Maligno... heheheMaligno escreveu:Ah, eu caí nessa também. Esse negócio de compartilhamento de avatar causa uma confusão danada.))
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Nem me lembra isso. O Alexandre Silva que o diga. Outro dia ele usou meu avatar e eu aprontei uma pra ele.
)))))
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
