Parinfo()

From Recital Documentation Wiki
Revision as of 12:43, 30 March 2009 by Yvonnemilne (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

PURPOSE

Check data type of parameters


SYNONYM

api_par_info()


SYNOPSIS

#include "dbapi.h"
 
int	_parinfo(order )
 
<input parameters>
int	order;		/* Placement in list of parameters	*/
 
<output parameters>
none


DESCRIPTION

The _parinfo() function returns the data type of a parameter passed. The order specifies the actual placement in the parameter list. If 0 is specified as the order value then the total number of parameters passed is returned. This function should be used to check the data types of all parameters passed before they are assessed.

The following table contains possible data types that may be passed.


TYPE VALUE DESCRIPTION
API_UTYPE 0 Undefined
API_CTYPE 1 Character
API_NTYPE 2 Numeric
API_LTYPE 4 Logical
API_DTYPE 8 Date
API_MTYPE 16 Memo
API_REFPAR 32 Passed by reference
API_ATYPE 512 Array


EXAMPLE

The following returns .T. if the first parameter passed is a logical.

Example Recital program:

m_value=.t.
m_result=islogical(m_value)
return

Example 'C' function:

#include "dbapi.h"
 
dbapi_islogical()
{
    char	result[10];
 
    if (_parinfo(1) == API_CTYPE) {
       strcpy(result , "Character");
    else if (_parinfo(1) == API_NTYPE)
       strcpy(result , "Numeric");
    else if (_parinfo(1) == API_LTYPE)
       strcpy(result , "Logical");
    else if (_parinfo(1) == API_DTYPE)
       strcpy(result , "Date");
    else if (_parinfo(1) == API_ATYPE)
       strcpy(result , "Array");
    else
       strcpy(result ,"");
 
    _retc( result );
}


SEE ALSO

_parc(), _parclen(), _parcsiz(), _parinfa(), _retc(), _retclen(), CHAR_LTRIM(), CHAR_RPAD(), CHAR_RTRIM(), CHAR_STR(), CHAR_UPPER(), DATE_STOD(), ISARRAY(), ISCHAR(), ISDATE(), ISLOG(), ISMEMO(), ISNUM(), PCOUNT