HOWTO: Programmatically Display Index Tags

ID: Q108611

2.50x   | 2.00 2.5x | 2.5x 2.60a
WINDOWS | MS-DOS    | MACINTOSH
kbprg kbdisplay kbui kbcode

The information in this article applies to:

By using the following program, you can quickly display the index tags available for the current database, rather than making the user open the View window and then the database setup.

   CLEAR
   x=1   && used for both tag counter and screen coordinate counter
   IF LEN(TAG(DBF()+".cdx",1))>0
     @x+3,2  SAY "Tag Name"
     @x+3,22 SAY "Index Expression"
     DO WHILE LEN(TAG(DBF()+".cdx",x))>0
       SET ORDER TO ALLTRIM(TAG(DBF()+".cdx",x))
       @x+5,2  SAY TAG(DBF()+".cdx",x)
       @x+5,22 SAY IIF("DESCENDING"$UPPER(SET("ORDER")),"Dsc", "Asc")
       @x+5,27 SAY KEY(DBF()+".cdx",x)      && SAME AS SYS(14,x,DBF())
       x=x+1
     ENDDO
   ELSE
       @2,2 SAY "No tags defined."
   ENDIF
   RELEASE x

Additional reference words: FoxDos FoxWin FoxMac 2.00 2.50 2.50a 2.50b 2.50c 2.60a index tag @ say KBCategory: kbprg kbdisplay kbui kbcode KBSubcategory: FxprgGeneral
Version           : MACINTOSH:2.5b,2.5c,2.6a; MS-DOS:2.0,2.5,2.5a,2.5b; WINDOWS:2.5,2.5a,2.5b,2.6,3.0,3.0b,5.0,5.0a
Platform          : MACINTOSH MS-DOS WINDOWS
Issue type        : kbhowto

Last Reviewed: February 26, 1999