2 dimensional array editing function using TBrowse


      FT_AREDIT( <nTop>, <nLeft>, <nBottom>, <nRight>, <Array Name>, ;
         <nElem>, <aHeadings>, <aBlocks> [, <bGetFunc> ] ) -> xElement


     <nTop>, <nLeft>, <nBottom>, <nRight> are coordinates for TBrowse

     <Array Name> is name of 2 dimensional to array edit

     <nElem>      is pointer for element in array

     <aHeadings>  is array of column headings

     <aBlocks>    is array of blocks describing each array element

     [ <bGetFunc> ] is get editing function for handling individual elements


     Value of element positioned on when exit FT_AREDIT()
     The type of this value depends on what is displayed.


     This function allows you to position yourself in an array,
     add and delete rows with the <F7> and <F8> keys,
     and pass a UDF with information to edit the individual gets.


      FT_AREDIT(3, 5, 18, 75, ar, @nElem, aHeadings, aBlocks)

      This example will allow you to browse a 2 dimensional array
      But you can't edit it since there is no GetBlock UDF
      It allows the user to hit ENTER to select an element or ESC to
      return 0

      * This second example shows how to edit a 2 dimensional array
      * as might be done to edit an invoice

            LOCAL i, ar[3, 26], aBlocks[3], aHeadings[3]
            LOCAL nElem := 1, bGetFunc

      * Set up two dimensional array "ar"

            FOR i = 1 TO 26
               ar[1, i] := i          //  1  ->  26  Numeric
               ar[2, i] := CHR(i+64)  // "A" -> "Z"  Character
               ar[3, i] := CHR(91-i)  // "Z" -> "A"  Character
             NEXT i

      * SET UP aHeadings Array for column headings

            aHeadings  := { "Numbers", "Letters", "Reverse" }

      * Need to set up individual array blocks for each TBrowse column

        aBlocks[1] := {|| STR(ar[1, nElem], 2) } // prevent default 10 spaces
        aBlocks[2] := {|| ar[2, nElem] }
        aBlocks[3] := {|| ar[3, nElem] }

      * set up TestGet() as the passed Get Function so FT_ArEdit knows how
      * to edit the individual gets.

        bGetFunc   := { | b, ar, nDim, nElem | TestGet(b, ar, nDim, nElem) }
        SetColor( "N/W, W/N, , , W/N" )
        FT_AREDIT(3, 5, 18, 75, ar, @nElem, aHeadings, aBlocks, bGetFunc)


 Author: James J. Orlowski, M.D.


3 responses to “FT_AREDIT

  1. Pingback: FT Functions | Viva Clipper !

  2. Pingback: FT Array Functions | Viva Clipper !

  3. Pingback: NanForum Toolkit | Viva Clipper !

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.