[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 DATATYPE()*
 Determines the data type of a variable or UDF
------------------------------------------------------------------------------
 Syntax

     DATATYPE(<expValue>) --> nDataType

     *  This is retained in CA-Clipper for compatibility purposes.  Use the
        CA-Clipper VALTYPE() function to develop future applications.

 Argument

     <expValue>  Designates any valid CA-Clipper expression.

 Returns

     DATATYPE() returns a value that corresponds to the data type in
     <expValue>.

 Description

     DATATYPE() is similar to the CA-Clipper TYPE() function, but returns
     more extensive information in numeric value form.  The bits in the
     result correspond to specific data types.  Two bits can be set at the
     same time.  It is easy to recognize specific data types with the ISBIT()
     function.  The following codes apply:

     Table 13-2: Data Type Coding
     ------------------------------------------------------------------------
     Value   Symb. Const.   Data Type
     ------------------------------------------------------------------------
      0      TYPE_UNDEF     Undefined
      1      TYPE_STR       Character string
      2      TYPE_NUM       Numeric
      4      TYPE_LOG       Logical
      8      TYPE_DATE      Date
     16      TYPE_ALIAS     Alias
     64      TYPE_MEMO      Memo field
     128     TYPE_WORD      Word
     512     TYPE_ARRAY     Array
     4096    TYPE_BLOCK     Code block
     ------------------------------------------------------------------------

     In addition, DATATYPE() returns the respective data type for a
     CA-Clipper Tools function or one of your own UDF's.  This is impossible
     with TYPE().

 Notes

     .  An invalid <expValue> output results in a runtime error.

     .  The function cannot determine if a parameter has passed to a
        function by reference (32 + type), because this information is no
        longer available in CA-Clipper.

 Example

     Return values of DATATYPES() used for different data types:

     ? DATATYPE()                 //    0, undefined
     ? DATATYPE("XXX")            //    1, string
     ? DATATYPE(123)              //    2, numeric
     ? DATATYPE(DOY())            //    2, numeric result
     ? DATATYPE(.T.)              //    4, logical
     ? DATATYPE(3 > 2)            //    4, logical expression
     ? DATATYPE(EOF())            //    4, logical result
     ? DATATYPE(DATE())           //    8, date
     ? DATATYPE(memofld)          //    1, memo field
     ? DATATYPE(@crlf)            //   33, reference to string
     ? DATATYPE(@array)           //  544, reference to array
     ? DATATYPE(array[1])         //    2, numeric element
     ? DATATYPE(array[2])         //    1, string element
     ? DATATYPE(myfunc())         //       type for your own UDF


This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson