|
#pragma once
class CVariant : public VARIANT
{
public:
CVariant();
CVariant(bool bValue);
CVariant(int nValue);
CVariant(LPCTSTR szValue);
CVariant(VARIANT *pV);
CVariant(int lBound, int iElementCount);
~CVariant(void);
// Attributes
BOOL IsArray(int iElement = 0);
BOOL IsString(int iElement = 0) { return SingleTypeCheck(VT_BSTR, iElement); }
BOOL IsInt(int iElement = 0);
BOOL IsBool(int iElement = 0) { return SingleTypeCheck(VT_BOOL, iElement); }
BOOL IsEmpty(int iElement = 0) { return SingleTypeCheck(VT_EMPTY, iElement); }
BOOL IsNull(int iElement = 0) { return SingleTypeCheck(VT_NULL, iElement); }
// Conversions
VARIANT *operator&() { return this; }
// Get operations
VARIANT *ElementAt(int iElement = 0);
CString ToString(int iElement = 0);
int ToInt(int iElement = 0);
BOOL ToBool(int iElement = 0);
// Set operations
void Set(LPCTSTR szString, int iElement = 0);
void Set(int iValue, int iElement = 0);
void Set(bool bValue, int iElement = 0);
private:
BOOL SingleTypeCheck(VARTYPE vType, int iElement = 0);
};
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I've been programming for 35 years - started in machine language on the National Semiconductor SC/MP chip, moved via the 8080 to the Z80 - graduated through HP Rocky Mountain Basic and HPL - then to C and C++ and now C#.
I used (30 or so years ago when I worked for Hewlett Packard) to repair HP Oscilloscopes and Spectrum Analysers - for a while there I was the one repairing DC to daylight SpecAns in the Asia Pacific area.
Afterward I was the fourth team member added to the Australia Post EPOS project at Unisys Australia. We grew to become an A$400 million project. I wrote a few device drivers for the project under Microsoft OS/2 v 1.3 - did hardware qualification and was part of the rollout team dealing directly with the customer.
Born and bred in Melbourne Australia, now living in Scottsdale Arizona USA, became a US Citizen on September 29th, 2006.
I work for a medical insurance broker, learning how to create ASP.NET websites in VB.Net and C#. It's all good.
Oh, I'm also a Kentucky Colonel.
http://www.kycolonels.org