Amigos , sabemos como usar o comando index (Sintaxe)
Ex: index on CODPRO to iCodpro
mas é possivel criar um indice com uma funcao propria sem usar o comando index ?
é possivel criar uma funcao de indice
Moderador: Moderadores
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará
Re: é possivel criar uma funcao de indice
Claro. Era a única forma que eu fazia. Veja um exemplo na minha função de indexação, onde, aliás, é o único local onde eu uso o comando INDEX:
Código: Selecionar todos
static function dbIndex(nGrp,nDBF)
local nStep
local nIKey
local cIKey
*
IProgress(1,_DBF_COMMENT,Len(_DBF_IDX_KEY)+1)
nStep := RetMax(1,Int(RecCount()/IProgress(9)))
for nIKey := 1 to Len(_DBF_IDX_KEY)
cIKey := _DBF_IDX_KEY_DEFINE
IProgress(2,,nIKey)
index on (cIKey) ;
tag (if(Empty(_DBF_IDX_KEY_ID), TStr(nIKey), ;
SubStr(_DBF_IDX_KEY_ID,At("_",_DBF_IDX_KEY_ID)+1)));
of (_DBF_IDX_FILEPATH+"\"+_DBF_IDX_FILENAME) ;
for !Deleted() ;
eval IProgress(3) every nStep
next
IProgress(2,,Len(_DBF_IDX_KEY)+1)
index on (FieldName(1)) tag DELETED of (_DBF_IDX_FILEPATH+"\"+_DBF_IDX_FILENAME) for Deleted() eval IProgress(3) every nStep
IProgress(4)
return _kTRUE[]'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!
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará
Re: é possivel criar uma funcao de indice
Sem usar o comando Index!!Maligno escreveu:Claro. Era a única forma que eu fazia. Veja um exemplo na minha função de indexação, onde, aliás, é o único local onde eu uso o comando INDEX:
?
como o comando index cria um indice?
Re: é possivel criar uma funcao de indice
Pra ver no que se traduz o comando INDEX, apenas leia o PPO do seu fonte. Ou melhor ainda, leia o header que o traduz. 
[]'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!
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará
Re: é possivel criar uma funcao de indice
Maligno me explique a seguinte linha
para que serve o deleded?maligno escreveu:index on (FieldName(1)) tag DELETED of (_DBF_IDX_FILEPATH+"\"+_DBF_IDX_FILENAME) for Deleted() eval IProgress(3) every nStep
como eu faço isso?Maligno escreveu:Pra ver no que se traduz o comando INDEX, apenas leia o PPO do seu fonte. Ou melhor ainda, leia o header que o traduz.
Re: é possivel criar uma funcao de indice
Quando apago algum registro, apenas o deixo em branco e marco como "deletado". Quando vou incluir, uso essa chave para encontrar um registro que esteja na condição de "deletado". Facilita o trabalho.para que serve o deleded?
Você precisa compilar seu fonte com o switch /p. Daí você terá um arquivo a mais, com a extensão PPO.como eu faço isso?
[]'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!
