Skip to content

Instantly share code, notes, and snippets.

@fushnisoft
Last active February 17, 2017 09:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fushnisoft/9ffbb674b6c3636e489331142dbbfebe to your computer and use it in GitHub Desktop.
Save fushnisoft/9ffbb674b6c3636e489331142dbbfebe to your computer and use it in GitHub Desktop.
Determing data type of passed parameter (*?) in Clarion https://clarionhub.com/t/determing-data-type-of-passed-parameter/997
MAP
GetVT_Type(*BYTE),LONG
GetVT_Type(*SHORT),LONG
GetVT_Type(*USHORT),LONG
GetVT_Type(*DATE),LONG
GetVT_Type(*TIME),LONG
GetVT_Type(*LONG),LONG
GetVT_Type(*ULONG),LONG
GetVT_Type(*SREAL),LONG
GetVT_Type(*REAL),LONG
GetVT_Type(*BFLOAT4),LONG
GetVT_Type(*BFLOAT8),LONG
GetVT_Type(*BSTRING),LONG
GetVT_Type(*_SAFEARRAY),LONG
GetVT_Type(*VARIANT),LONG
GetVT_Type(*?),LONG
END
GetVT_Type PROCEDURE(*BYTE pVar)
CODE
RETURN VT_UI1
GetVT_Type PROCEDURE(*SHORT pVar)
CODE
RETURN VT_I2
GetVT_Type PROCEDURE(*USHORT pVar)
CODE
RETURN VT_UI2
GetVT_Type PROCEDURE(*DATE pVar)
CODE
RETURN VT_BSTR
GetVT_Type PROCEDURE(*TIME pVar)
CODE
RETURN VT_BSTR
GetVT_Type PROCEDURE(*LONG pVar)
CODE
RETURN VT_I4
GetVT_Type PROCEDURE(*ULONG pVar)
CODE
RETURN VT_UI4
GetVT_Type PROCEDURE(*SREAL pVar)
CODE
RETURN VT_R4
GetVT_Type PROCEDURE(*REAL pVar)
CODE
RETURN VT_R8
GetVT_Type PROCEDURE(*BFLOAT4 pVar)
CODE
RETURN VT_R4
GetVT_Type PROCEDURE(*BFLOAT8 pVar)
CODE
RETURN VT_R8
GetVT_Type PROCEDURE(*BSTRING pVar)
CODE
RETURN VT_BSTR
GetVT_Type PROCEDURE(*_SAFEARRAY pVar)
CODE
RETURN VT_ARRAY
!RETURN VT_BSTR
GetVT_Type PROCEDURE(*VARIANT pVar)
v VARIANT
gv LIKE(gVariant),OVER(v)
CODE
vpVar
RETURN gv.vt
GetVT_Type PROCEDURE(*? pVar)
CODE
RETURN VT_EMPTY
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment