DBSETDRIVER() ou RDDSETDEFAULT()
Moderador: Moderadores
DBSETDRIVER() ou RDDSETDEFAULT()
Usando INDICES CDX.... gostaria de saber dos amigos qual a diferença entre:
RDDSETDEFAULT("DBFCDX")
e
DBSETDRIVER("DBFCDX")
100+
valeu.
RDDSETDEFAULT("DBFCDX")
e
DBSETDRIVER("DBFCDX")
100+
valeu.
Para usar o CDX como RDD default (em lugar do NTX), vc faz, no inicio do seu programa:
REQUEST DBFCDX
RDDSETDEFAULT("DBFCDX")
O DBSETDRIVER é o seguinte: como vc pode ter CDX e NTX rodando ao mesmo tempo (em diferentes áreas), numa mesma aplicação, vc usa o DBSETDRIVER("DBFCDX") ou DBSETDRIVER("DBFNTX") para alternar entre eles.
E vc ainda pode usar a cláusula VIA no comando USE ou o argumento "DBFCDX" ou "DBFNTX" na função DBUSAREA() ao invés de RDDSETDEFAULT().
REQUEST DBFCDX
RDDSETDEFAULT("DBFCDX")
O DBSETDRIVER é o seguinte: como vc pode ter CDX e NTX rodando ao mesmo tempo (em diferentes áreas), numa mesma aplicação, vc usa o DBSETDRIVER("DBFCDX") ou DBSETDRIVER("DBFNTX") para alternar entre eles.
E vc ainda pode usar a cláusula VIA no comando USE ou o argumento "DBFCDX" ou "DBFNTX" na função DBUSAREA() ao invés de RDDSETDEFAULT().
Nessa linha de pensamento, se em exagero, o programador cultiva o vício do desperdício, que pode até acabar gerando gargalos desnecessários ou, no mínimo, um código mais difícil de manter. É bem mais saudável saber precisamente o que é necessário ou não.
[]'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!
Em tempo: se for o caso de alguém usar a biblioteca SIX, querendo dispensar os NTX e usar apenas CDX ou NSX, não será necessária qualquer função que informe o compilador qual RDD será utilizado.
Neste caso, basta linkar o objeto SIXCDX ou SIXNSX, conforme o caso. Isso já sobreporá o RDD antigo. E além do objeto, claro, será necessário incluir a biblioteca SIX3.LIB.
O programa em si só precisará do arquivo de cabeçalho SIXCDX2.CH ou SIXNSX2.CH, conforme o RDD escolhido. Isso por causa dos comandos de tratamento de arquivos, que utilizam outras funções.
Feito isso, a migração estará completa. Nada mais será necessário.
Aliás, o comando REQUEST também não é necessário porque o arquivo de cabeçalho escolhido já possui um REQUEST para o objeto apropriado.
Neste caso, basta linkar o objeto SIXCDX ou SIXNSX, conforme o caso. Isso já sobreporá o RDD antigo. E além do objeto, claro, será necessário incluir a biblioteca SIX3.LIB.
O programa em si só precisará do arquivo de cabeçalho SIXCDX2.CH ou SIXNSX2.CH, conforme o RDD escolhido. Isso por causa dos comandos de tratamento de arquivos, que utilizam outras funções.
Feito isso, a migração estará completa. Nada mais será necessário.
Aliás, o comando REQUEST também não é necessário porque o arquivo de cabeçalho escolhido já possui um REQUEST para o objeto apropriado.
[]'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!
- vagucs
- Membro Master

- Mensagens: 1480
- Registrado em: 10 Jul 2004 10:45
- Localização: Ipanema - MG
- Contato:
RDDSETDEFAULT faz a mesma coisa que o DBSETDRIVER, ela foi criada para padronizar os drives de RDD a partir da versão 5.2.
O certo seria então.
REQUEST DBFCDX
RDDSETDEFAULT("DBFCDX")
Para alternar entre um drive e outro é mais facil usar o nome do drive na abertura do DBF assim.
USE TESTE.DBF NEW ALIAS TESTE VIA "DBFCDX"
USE TESTE2.DBF NEW ALIAS TESTE2 VIA "DBFNTX"
Assim você pode trabalhar com mais de um tipo de indice no mesmo programa.
O certo seria então.
REQUEST DBFCDX
RDDSETDEFAULT("DBFCDX")
Para alternar entre um drive e outro é mais facil usar o nome do drive na abertura do DBF assim.
USE TESTE.DBF NEW ALIAS TESTE VIA "DBFCDX"
USE TESTE2.DBF NEW ALIAS TESTE2 VIA "DBFNTX"
Assim você pode trabalhar com mais de um tipo de indice no mesmo programa.
Como eu disse, se for utilizada a SIX, o REQUEST não será necessário, se for utilizado o header do driver.
[]'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!
Vagucs,Para alternar entre um drive e outro é mais facil usar o nome do drive na abertura do DBF assim.
USE TESTE.DBF NEW ALIAS TESTE VIA "DBFCDX"
USE TESTE2.DBF NEW ALIAS TESTE2 VIA "DBFNTX"
Não precisa do "ALIAS TESTE". Se o apelido desejado for igual ao nome do arquivo, basta fazer:
USE TESTE.DBF NEW VIA "DBFCDX"
Também, não sei se é "mais fácil" fazer do jeito que vc sugeriu, quando forem dezenas de arquivos... Ao invés de repetir VIA "DBFCDX" dezenas de vezes, que tal fazer DBSETDRIVER("DBFCDX") só uma vez?


