How to Determine the Variable Type

ID: Q139863

3.00 WINDOWS

 kbhowto

The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, version 3.0

SUMMARY

When using the Visual FoxPro TYPE() function, you must ensure that the expression passed to the function is always be of the character type. You can use a user-defined function (UDF) to determine the type of a variable without trying to convert the variable to a character string. This article shows you how to do it.

MORE INFORMATION

Step-by-Step Example

1. Open a program file, and type the following function into it:

   FUNCTION ALLTYPE
    *
    *  Purpose:  Determine the data type of a variable
    *  Syntax:   m.cNewValue = ALLTYPE(<Variable Name>)
    *  Parms:    xxx (Can be Character, Numeric, Date, or Logical)
    *            The variable for which the type is to be determined.
    *  Return:   lcType:  C for Character
    *                     N for Numeric
    *                     D for Date
    *                     L for Logical
    *  Example:  lcTheType=ALLTYPE(Variable)
    *
    PARAMETER xxx
    local llType,lcType
    lcTemperror=ON('ERROR')
    ON ERROR llType=.f.
    llType=.T.
    xxx=xxx+" "
    IF llType
      lcType="C"
    ENDIF
    llType=.T.
    xxx=!xxx
    IF llType
      lcType="L"
    ENDIF
    llType=.T.
    xxx=xxx+1
    IF llType
      lcType="N"
    ENDIF
    llType=.T.
    xxx=MONTH(xxx)
    IF llType
      lcType="D"
    ENDIF
    ON ERROR &lcTemperror
   RETURN lcType

2. Save and close the program file.

3. In the Command window, type the following:

   SET PROCEDURE TO <Program File>
   x=3
   ? ALLTYPE(x)

4. The value returned is N.

The TYPE() function may be used to obtain the same result if the variable is placed enclosed in quotation marks. For example, the following will also return N:

   ? TYPE('x')

Additional reference words: 3.00 VFoxWin KBCategory: kbhowto KBSubcategory: FxprgGeneral
Keywords          : kbcode FxprgGeneral 
Version           : 3.00
Platform          : WINDOWS


Last Reviewed: May 22, 1998
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.