Olá, pessoal!
Como faço para criar uma lista das TAGs existentes em um índice?
Por exemplo: se eu tenho o ARQUIVO.DBF e ARQUIVO.CDX, mas não sei quais as chaves de indices contidas neste CDX, tem como eu ler e criar uma listinha com as chaves (TAGs) que estão em ARQUIVO.CDX??
Obrigado.
Alexandre
Como saber as TAGs de um índice?
Moderador: Moderadores
- Alexandre Costa
- Usuário Nível 1

- Mensagens: 25
- Registrado em: 27 Dez 2005 10:49
- Localização: Cambé - PR
- Alexandre Costa
- Usuário Nível 1

- Mensagens: 25
- Registrado em: 27 Dez 2005 10:49
- Localização: Cambé - PR
Olá, pessoal!
Consegui fazer o que queria da seguinta maneira:
// ------------------------------------------------------------------------
USE ( cARQDBF ) SHARED NEW
cLASTREC := LASTREC()
IF TEMINDICE == "SIM"
DBSETINDEX( cARQCDX )
qTAGS := DBORDERINFO(9)
cORDER := STRZERO(1,2)+" - "+DbOrderInfo( 2 )
dORDER := {}
FOR I := 1 TO qTAGS
DBSETORDER( ALLTRIM(STR(I,2)) )
AADD( dORDER , STRZERO(I,2)+" - "+DBORDERINFO( 2 ) )
NEXT
@ 08,02 SAY "Order.........:" GET cORDER DROP dORDER
READ
IF LASTKEY() == K_ESC
EXIT
ENDIF
DBSETORDER( ALLTRIM(STR(VAL(SUBSTR(cORDER,1,2)),2)) )
ENDIF
DBGOTOP()
// ------------------------------------------------------------------------
Deu o resultado esperado.
Obrigado.
Alexandre
Consegui fazer o que queria da seguinta maneira:
// ------------------------------------------------------------------------
USE ( cARQDBF ) SHARED NEW
cLASTREC := LASTREC()
IF TEMINDICE == "SIM"
DBSETINDEX( cARQCDX )
qTAGS := DBORDERINFO(9)
cORDER := STRZERO(1,2)+" - "+DbOrderInfo( 2 )
dORDER := {}
FOR I := 1 TO qTAGS
DBSETORDER( ALLTRIM(STR(I,2)) )
AADD( dORDER , STRZERO(I,2)+" - "+DBORDERINFO( 2 ) )
NEXT
@ 08,02 SAY "Order.........:" GET cORDER DROP dORDER
READ
IF LASTKEY() == K_ESC
EXIT
ENDIF
DBSETORDER( ALLTRIM(STR(VAL(SUBSTR(cORDER,1,2)),2)) )
ENDIF
DBGOTOP()
// ------------------------------------------------------------------------
Deu o resultado esperado.
Obrigado.
Alexandre