⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fun.cpp

📁 数据库程序的作业
💻 CPP
字号:
#include "fun.h"
CString strVARIANT(const COleVariant &var)
{
	CString strRet;
	strRet = _T("Fish");
	
	switch(var.vt )
	{
	case VT_EMPTY:
	case VT_NULL:
		strRet = _T("NULL");
		break;
	case VT_I2:
		strRet.Format (_T("%hd"), V_I2(&var));
		break;
	case VT_I4:
		strRet.Format (_T("%d"), V_I4(&var));
		break;
	case VT_R4:
		strRet.Format (_T("%e"), (double)V_R4(&var));
		break;
	case VT_R8:
		strRet.Format (_T("%e"), V_R8(&var));
		break;
	case VT_CY:
		strRet = COleCurrency(var).Format ();
		break;
	case VT_DATE:
		strRet = COleDateTime(var).Format (_T("%m-%d-%y"));
		break;
	case VT_BSTR:
		strRet = V_BSTRT(&var);
		break;
	case VT_DISPATCH:
		strRet = _T("VT_DISPATCH");
		break;
	case VT_ERROR:
		strRet = _T("VT_ERROR");
		break;
	case VT_BOOL:
		return strBOOL(V_BOOL(&var));
	case VT_VARIANT:
		strRet = _T("VT_VARIANT");
		break;
	case VT_UNKNOWN:
		strRet = _T("VT_UNKNOWN");
		break;
	case VT_I1:
		strRet = _T("VT_I1");
		break;
	case VT_UI1:
		strRet.Format (_T("0x%02hx"), (unsigned short)V_UI1(&var));
		break;
	case VT_UI2:
		strRet = _T("VT_UI2");
		break;
	case VT_UI4:
		strRet = _T("VT_UI4");
		break;
	case VT_I8:
		strRet = _T("VT_I8");
		break;
	case VT_UI8:
		strRet = _T("VT_UI8");
		break;
	case VT_INT:
		strRet = _T("VT_INT");
		break;
	case VT_UINT:
		strRet = _T("VT_UINT");
		break;
	case VT_VOID:
		strRet = _T("VT_VOID");
		break;
	case VT_HRESULT:
		strRet = _T("VT_HRESULT");
		break;
	case VT_PTR:
		strRet = _T("VT_PTR");
		break;
	case VT_SAFEARRAY:
		strRet = _T("VT_SAFEARRAY");
		break;
	case VT_CARRAY:
		strRet = _T("VT_CARRAY");
		break;
	case VT_USERDEFINED:
		strRet = _T("VT_USERDEFINED");
		break;
	case VT_LPSTR:
		strRet = _T("VT_LPSTR");
		break;
	case VT_LPWSTR:
		strRet = _T("VT_LPWSTR");
		break;
	case VT_FILETIME:
		strRet = _T("VT_FILETIME");
		break;
	case VT_BLOB:
		strRet = _T("VT_BLOB");
		break;
	case VT_STREAM:
		strRet = _T("VT_STREAM");
		break;
	case VT_STORAGE:
		strRet = _T("VT_STORAGE");
		break;
	case VT_STREAMED_OBJECT:
		strRet = _T("VT_STREAMED_OBJECT");
		break;
	case VT_STORED_OBJECT:
		strRet = _T("VT_STORED_OBJECT");
		break;
	case VT_BLOB_OBJECT:
		strRet = _T("VT_BLOB_OBJECT");
		break;
	case VT_CF:
		strRet = _T("VT_CF");
		break;
	case VT_CLSID:
		strRet = _T("VT_CLSID");
		break;
	}
	
	WORD vt = var.vt ;
	if(vt & VT_ARRAY)
	{
		vt = vt & ~VT_ARRAY;
		strRet = _T("Pointer to ");
	}
	if(vt != var.vt )
	{
		switch(vt)
		{
		case VT_EMPTY:
			strRet += _T("VT_EMPTY");
			break;
		case VT_NULL:
			strRet += _T("VT_NULL");
			break;
		case VT_I2:
			strRet += _T("VT_I2");
			break;
		case VT_I4:
			strRet += _T("VT_I4");
			break;
		case VT_R4:
			strRet += _T("VT_R4");
			break;
		case VT_R8:
			strRet += _T("VT_R8");
			break;
		case VT_CY:
			strRet += _T("VT_CY");
			break;
		case VT_DATE:
			strRet += _T("VT_DATE");
			break;
		case VT_BSTR:
			strRet += _T("VT_BSTR");
			break;
		case VT_DISPATCH:
			strRet += _T("VT_DISPATCH");
			break;
		case VT_ERROR:
			strRet += _T("VT_ERROR");
			break;
		case VT_BOOL:
			strRet += _T("VT_BOOL");
			break;
		case VT_VARIANT:
			strRet += _T("VT_VARIANT");
			break;
		case VT_UNKNOWN:
			strRet += _T("VT_UNKNOWN");
			break;
		case VT_I1:
			strRet += _T("VT_I1");
			break;
		case VT_UI1:
			strRet += _T("VT_UI1");
			break;
		case VT_UI2:
			strRet += _T("VT_UI2");
			break;
		case VT_UI4:
			strRet += _T("VT_UI4");
			break;
		case VT_I8:
			strRet += _T("VT_I8");
			break;
		case VT_UI8:
			strRet += _T("VT_UI8");
			break;
		case VT_INT:
			strRet += _T("VT_INT");
			break;
		case VT_UINT:
			strRet += _T("VT_UINT");
			break;
		case VT_VOID:
			strRet += _T("VT_VOID");
			break;
		case VT_HRESULT:
			strRet += _T("VT_HRESULT");
			break;
		case VT_PTR:
			strRet += _T("VT_PTR");
			break;
		case VT_SAFEARRAY:
			strRet += _T("VT_SAFEARRAY");
			break;
		case VT_CARRAY:
			strRet += _T("VT_CARRAY");
			break;
		case VT_USERDEFINED:
			strRet += _T("VT_USERDEFINED");
			break;
		case VT_LPSTR:
			strRet += _T("VT_LPSTR");
			break;
		case VT_LPWSTR:
			strRet += _T("VT_LPWSTR");
			break;
		case VT_FILETIME:
			strRet += _T("VT_FILETIME");
			break;
		case VT_BLOB:
			strRet += _T("VT_BLOB");
			break;
		case VT_STREAM:
			strRet += _T("VT_STREAM");
			break;
		case VT_STORAGE:
			strRet += _T("VT_STORAGE");
			break;
		case VT_STREAMED_OBJECT:
			strRet += _T("VT_STREAMED_OBJECT");
			break;
		case VT_STORED_OBJECT:
			strRet += _T("VT_STORED_OBJECT");
			break;
		case VT_BLOB_OBJECT:
			strRet += _T("VT_BLOB_OBJECT");
			break;
		case VT_CF:
			strRet += _T("VT_CF");
			break;
		case VT_CLSID:
			strRet += _T("VT_CLSID");
			break;
		}
	}
	return strRet;
}

LPCTSTR strBOOL(BOOL bFlag)
{
	return bFlag ? _T("TRUE") : _T("FALSE");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -