/*
* function: var2str(const _variant_t &var)
*
* purpose: cover the type "_vartiant_t"to the type "CString"
*
* parameters: _vartiant_t &var
*
* return value: CString
*
*/
CString var2str(const _variant_t &var)
{
CString strValue;
switch (var.vt)
{
case VT_BSTR:
case VT_LPSTR:
case VT_LPWSTR: /* character string */
strValue = (LPCTSTR)(_bstr_t)var;
break;
case VT_I1:
case VT_UI1:
strValue.Format("%d", var.bVal);
break;
case VT_I2: /* short int */
strValue.Format("%d", var.iVal);
break;
case VT_UI2: /* unsigned short int */
strValue.Format("%d", var.uiVal);
break;
case VT_INT: /* int */
strValue.Format("%d", var.intVal);
break;
case VT_I4: /* int */
strValue.Format("%d", var.lVal);
break;
case VT_I8: /* long int */
strValue.Format("%d", var.lVal);
break;
case VT_UINT: /* unsigned int */
strValue.Format("%d", var.uintVal);
break;
case VT_UI4: /* unsigned int */
strValue.Format("%d", var.ulVal);
break;
case VT_UI8: /* unsigned long int */
strValue.Format("%d", var.ulVal);
break;
case VT_VOID: /* void */
strValue.Format("%8x", var.byref);
break;
case VT_R4: /* float */
strValue.Format("%.4f", var.fltVal);
break;
case VT_R8: /* double float */
strValue.Format("%.8f", var.dblVal);
break;
case VT_DECIMAL: /* double */
strValue.Format("%.8f", (double)var);
break;
case VT_BLOB:
case VT_BLOB_OBJECT:
case 0x2011:
strValue = "[BLOB]";
break;
case VT_BOOL: /* bool */
strValue = var.boolVal ? "TRUE" : "FALSE";
break;
case VT_DATE: /* datetime */
{
DATE dt = var.date;
COleDateTime da = COleDateTime(dt);
strValue = da.Format("%Y-%m-%d %H:%M:%S");
}
break;
case VT_NULL: /* null */
strValue = "";
break;
case VT_EMPTY: /* empty */
strValue = "";
break;
case VT_UNKNOWN: /* unkown type */
default:
strValue = "UN_KNOWN";
break;
}
return strValue;
}
* function: var2str(const _variant_t &var)
*
* purpose: cover the type "_vartiant_t"to the type "CString"
*
* parameters: _vartiant_t &var
*
* return value: CString
*
*/
CString var2str(const _variant_t &var)
{
CString strValue;
switch (var.vt)
{
case VT_BSTR:
case VT_LPSTR:
case VT_LPWSTR: /* character string */
strValue = (LPCTSTR)(_bstr_t)var;
break;
case VT_I1:
case VT_UI1:
strValue.Format("%d", var.bVal);
break;
case VT_I2: /* short int */
strValue.Format("%d", var.iVal);
break;
case VT_UI2: /* unsigned short int */
strValue.Format("%d", var.uiVal);
break;
case VT_INT: /* int */
strValue.Format("%d", var.intVal);
break;
case VT_I4: /* int */
strValue.Format("%d", var.lVal);
break;
case VT_I8: /* long int */
strValue.Format("%d", var.lVal);
break;
case VT_UINT: /* unsigned int */
strValue.Format("%d", var.uintVal);
break;
case VT_UI4: /* unsigned int */
strValue.Format("%d", var.ulVal);
break;
case VT_UI8: /* unsigned long int */
strValue.Format("%d", var.ulVal);
break;
case VT_VOID: /* void */
strValue.Format("%8x", var.byref);
break;
case VT_R4: /* float */
strValue.Format("%.4f", var.fltVal);
break;
case VT_R8: /* double float */
strValue.Format("%.8f", var.dblVal);
break;
case VT_DECIMAL: /* double */
strValue.Format("%.8f", (double)var);
break;
case VT_BLOB:
case VT_BLOB_OBJECT:
case 0x2011:
strValue = "[BLOB]";
break;
case VT_BOOL: /* bool */
strValue = var.boolVal ? "TRUE" : "FALSE";
break;
case VT_DATE: /* datetime */
{
DATE dt = var.date;
COleDateTime da = COleDateTime(dt);
strValue = da.Format("%Y-%m-%d %H:%M:%S");
}
break;
case VT_NULL: /* null */
strValue = "";
break;
case VT_EMPTY: /* empty */
strValue = "";
break;
case VT_UNKNOWN: /* unkown type */
default:
strValue = "UN_KNOWN";
break;
}
return strValue;
}