Microsoft KB Archive/108611: Difference between revisions

From BetaArchive Wiki
(importing KB archive)
 
m (Text replacement - """ to """)
Line 18: Line 18:
<pre>  CLEAR
<pre>  CLEAR
   x=1  &amp;&amp; used for both tag counter and screen coordinate counter
   x=1  &amp;&amp; used for both tag counter and screen coordinate counter
   IF LEN(TAG(DBF()+&quot;.cdx&quot;,1))&gt;0
   IF LEN(TAG(DBF()+".cdx",1))&gt;0
     @x+3,2  SAY &quot;Tag Name&quot;
     @x+3,2  SAY "Tag Name"
     @x+3,22 SAY &quot;Index Expression&quot;
     @x+3,22 SAY "Index Expression"
     DO WHILE LEN(TAG(DBF()+&quot;.cdx&quot;,x))&gt;0
     DO WHILE LEN(TAG(DBF()+".cdx",x))&gt;0
       SET ORDER TO ALLTRIM(TAG(DBF()+&quot;.cdx&quot;,x))
       SET ORDER TO ALLTRIM(TAG(DBF()+".cdx",x))
       @x+5,2  SAY TAG(DBF()+&quot;.cdx&quot;,x)
       @x+5,2  SAY TAG(DBF()+".cdx",x)
       @x+5,22 SAY IIF(&quot;DESCENDING&quot;$UPPER(SET(&quot;ORDER&quot;)),&quot;Dsc&quot;, &quot;Asc&quot;)
       @x+5,22 SAY IIF("DESCENDING"$UPPER(SET("ORDER")),"Dsc", "Asc")
       @x+5,27 SAY KEY(DBF()+&quot;.cdx&quot;,x)      &amp;&amp; SAME AS SYS(14,x,DBF())
       @x+5,27 SAY KEY(DBF()+".cdx",x)      &amp;&amp; SAME AS SYS(14,x,DBF())
       x=x+1
       x=x+1
     ENDDO
     ENDDO
   ELSE
   ELSE
       @2,2 SAY &quot;No tags defined.&quot;
       @2,2 SAY "No tags defined."
   ENDIF
   ENDIF
   RELEASE x
   RELEASE x

Revision as of 10:23, 20 July 2020

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:

  • Microsoft FoxPro for Windows, versions 2.5x
  • Microsoft FoxPro for MS-DOS, versions 2.0, 2.5x
  • Microsoft FoxPro for Macintosh, versions 2.5x, 2.6a

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
© 1999 Microsoft Corporation. All rights reserved. Terms of Use.