SQABasic "FPSpreadFunctions" Script

 MODULE DESCRIPTION:

      Routines and utilities to work on SQA XClassName=SPR32A30_SpreadSheet
      objects in Data-Driven Automation.

Action Commands Global Variables Routine Details

User Dependencies:

(stuff the developer's library/script $INCLUDES at compile time.)
(Note: The order of items may matter and may be different for your code.)

Internal Dependencies:

(stuff this library needs at compile time.)

DDE Action Commands

 SUPPORTED ACTION COMMANDS:

      ClickCell           'Select/Click a Cell in the Grid
      DoubleClickCell         'Activate/DblClick a cell in the grid
      RightClickCell       'Right_Click a cell in the grid
      ShiftClickCell       'Shift_Click a cell in the grid
      CtrlClickCell        'Ctrl_Click a cell in the grid
      VerifyCellText       'Verify the text of a specific cell
      CaptureRangeToFile   'Capture all of the table data and store it
                            in a file


Globals

    (none)

Routine Details



   Function FPSpreadCaptureRangeToFile alias "captureRangeToFile"
                                                  (
                                                  ) as Integer

 DESCRIPTION:

      Attempts to extract the Text value from each cell in the block.  For
      now, only the full grid is supported.  In the future, it is planned
      to include support for capturing specific blocks of the grid.

      Each extracted cell will represent one field in the output file.
      Each field will be separated by the TAB character.
      Each row will be output on a separate line.


 PARAMETERS:

 RETURNS:

      N           The number of rows output into the file.

     -1           Errors from object property lookup.
     -2           Errors with input parameters.
     -N           Errors from other routines like validateBlockParameters.


 ERRORS:

      none

 Orig Author: Chris Woolner (based on work by Carl Nagle)
 Orig   Date: NOV 09, 2005
 History:

      NOV 09, 2005    Original Release





   Function FPSpreadClickCell (mode As Integer)



 DESCRIPTION:

      Attempts to perform a single or double Click on a visible table cell.
      The cell to Click is provided in separate row and col
      parameters.  Missing parameters indicate index=1. The
      indexes are 0-based.  The  column header row is row 0, but the
      actual first row of the table is 1.  The row label column is 0, but
      the first data column of the table is 0.

      Logical Cells are those data cells viewable to the
      user.  They do not include hidden or fixed cells.
      Thus, the first top left cell for real grid data
      is considered cell 1,1.

      The grid will remain in edit mode if edit mode goes active.

 DATA TABLE PARAMETERS:

      FLD     CONTENT
      ---     ------------------------------
       5      The ROW of the cell to click. If no ROW is specified then the
              routine will use ROW=1.

       6      The COLUMN of the cell to click. If no COLUMN is specified then
              the routine will use COL=1.


  NOTE: the routine's MODE parameter is not used by the Click command.  That is
  provided for other commands such as ClickCell.


 ERRORS:

      none

 Orig Author: Chris Woolner
 Orig   Date: NOV 18, 2005
 History:

      NOV 18, 2005    Original Release





   Function FPSpreadVerifyCellText



 DESCRIPTION:

      Attempts to perform a single Click on a logical table cell.
      The cell to Click is provided in separate row and col
      parameters.  Missing parameters indicate index=1. The
      indexes are 1-based.  That is, the first row is row 1.
      The first col is col 1.

      Logical Cells are those data cells viewable to the
      user.  They do not include hidden or fixed cells.
      Thus, the first top left cell for real grid data
      is considered cell 1,1.

      The grid will remain in edit mode if edit mode goes active.

 DATA TABLE PARAMETERS:

      FLD     CONTENT
      ---     ------------------------------
       5      The ROW of the cell to click. If no ROW is specified then the
              routine will use ROW=1.

       6      The COLUMN of the cell to click. If no COLUMN is specified then
              the routine will use COL=1.


  NOTE: the routine's MODE parameter is not used by the Click command.  That is
  provided for other commands such as ClickCell.


 ERRORS:

      none

 Orig Author: Chris Woolner
 Orig   Date: NOV 17, 2005
 History:

      NOV 17, 2005    Original Release




   Function FPSpreadFindRowNumber alias "findRowNumber"
                                                  (
                                                  ) as Integer

 DESCRIPTION:

      Matches one or multiple  pair(s) and assigns the row
      number that contains all of the given pairs to a given variable.

      If multiple columns are to be searched on, both the columns string
      and the values string must use a specified delimiter to separate
      the pairs.


 PARAMETERS:

 RETURNS:

     -1           Errors from object property lookup.
     -2           Errors with input parameters.


 ERRORS:

      none

 Orig Author: Chris Woolner
 Orig   Date: JAN 16, 2006
 History:

      JAN 16, 2006    Original Release





   Function FPSpreadGetMaxVisibleRows alias "getMaxVisibleRows" as Integer



 DESCRIPTION:

      Returns the maximum number of visible rows in the grid.

 ERRORS:

      none

 Orig Author: Chris Woolner
 Orig   Date: NOV 17, 2005
 History:

      NOV 17, 2005    Original Release




   Function FPSpreadGetMaxVisibleCols alias "getMaxVisibleCols" as Integer



 DESCRIPTION:

      Returns the maximum number of visible columns in the grid.

 ERRORS:

      none

 Orig Author: Chris Woolner
 Orig   Date: NOV 17, 2005
 History:

      JUN 17, 2005    Original Release




   Function FPSpreadGetDefaultGridName alias "getDefaultGridName" as Integer



 DESCRIPTION:

      Returns the maximum number of visible columns in the grid.

 ERRORS:

      none

 Orig Author: Chris Woolner
 Orig   Date: NOV 17, 2005
 History:

      NOV 17, 2005    Original Release




   Function FPSpreadGetColNumberByText alias "getColNumberByText" as Integer



 DESCRIPTION:

      Returns the column number when given a particular column label.

 ERRORS:

      none

 Orig Author: Chris Woolner
 Orig   Date: JAN 16, 2006
 History:

      NOV 17, 2005    Original Release




   Sub Main ()

 DESCRIPTION:

      Entry point to process a StepDriver ACTION COMMAND on a FPSPREAD.
      The routine merely reads the Global StepDriverTestInfo.testcommand and
      calls the appropriate subroutine to process it.

      If the testcommand is unrecognized here we will pass processing on
      to GenericObjectFunctions.

 DATA TABLE PARAMETERS:

      none    -   the called subroutine has the requirements

 ERRORS:

      none

 Orig Author: Chris Woolner
 Orig   Date: NOV 09, 2005
 History:

      NOV 09, 2005    Original Release
      DEC 07, 2005    (CANAGL) Additional Click variations added.


Copyright (C) SAS Institute
GNU General Public License: http://www.opensource.org/licenses/gpl-license.php 
==============================================================================