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

📄 jnstring.cpp

📁 此次上传的使linux下的文件传输协议
💻 CPP
📖 第 1 页 / 共 3 页
字号:
			case 3:
				if(strTemp=="零")
					strTemp=_T("零");
				else
					strTemp+=_T("佰");
				break;
			case 4:
				if(strTemp=="零")
					strTemp=_T("零");
				else
					strTemp+=_T("仟");
				break;
			case 5:
				if(strTemp=="零")
					strTemp=_T("万");
				else
					strTemp+=_T("万");
				break;
			case 6:
				if(strTemp=="零")
					strTemp=_T("零");
				else
					strTemp+=_T("拾");
				break;
			case 7:
				if(strTemp=="零")
					strTemp=_T("零");
				else
					strTemp+=_T("佰");
				break;
			case 8:
				if(strTemp=="零")
					strTemp=_T("零");
				else
					strTemp+=_T("仟");
				break;
			case 9:
				if(strTemp=="零")
					strTemp=_T("亿");
				else
					strTemp+=_T("亿");
				break;
			}
			DXStr.TrimLeft();
			DXStr.TrimRight();
  			sTempA=DXStr.Left(2);
			if(strTemp=="零")
			{
				if(sTempA=="零")
				{
					DXStr=DXStr;
				}
				else if(sTempA=="元")
				{
					DXStr=DXStr;
				}
				else if(sTempA=="万")
				{
					DXStr=DXStr;
				}
				else if(sTempA=="亿")
				{
					DXStr=DXStr;
				}
				else
				{
					DXStr=strTemp+DXStr;
				}
			}
			else
			{
				DXStr=strTemp+DXStr;
			}
		}
		n1=s1.GetLength();
		if(n1==1)
		{	
			s1+=_T("0");
		}
		for(i=1;i<=2;i++)
		{
			strTemp=s1.GetAt(2-i);
			strTemp=ConvertNumber(strTemp);
			switch(i)
			{
			case 1:
				if(strTemp=="零")
					strTemp=_T("");
				else
					strTemp+=_T("分");
				break;
			case 2:
				if(strTemp=="零")
					strTemp=_T("");
				else
					strTemp+=_T("角");
				break;
			}
			s2.Insert(0,strTemp);
		}
		DXStr+=s2;
	}
	sTempA=DXStr.Left(2);
	if(sTempA=="元")
		DXStr=DXStr.Right(DXStr.GetLength()-2);
	return DXStr;
}

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

CString JnString::strVARIANT(const COleVariant &var)
{
	CString strRet;
	strRet = _T("Fish");
	switch(var.vt)
	{
		case VT_EMPTY:
		case VT_NULL:
			strRet = _T("");
			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:
			switch(m_nDigit)
			{
			case 0:
				strRet.Format(_T("%e"),(double)V_R4(&var));
				break;
            case 1:
				strRet.Format(_T("%.1f"),(double)V_R4(&var));
				break;
            case 2:
				strRet.Format(_T("%.2f"),(double)V_R4(&var));
				break;
            case 3:
				strRet.Format(_T("%.3f"),(double)V_R4(&var));
				break;
			case 4:
				strRet.Format(_T("%.4f"),(double)V_R4(&var));
				break;
			case 5:
				strRet.Format(_T("%.5f"),(double)V_R4(&var));
				break;
			case 6:
				strRet.Format(_T("%.6f"),(double)V_R4(&var));
				break;
			case 7:
				strRet.Format(_T("%.7f"),(double)V_R4(&var));
				break;
			case 8:
				strRet.Format(_T("%.8f"),(double)V_R4(&var));
				break;
			case 9:
				strRet.Format(_T("%.9f"),(double)V_R4(&var));
				break;
			case 10:
				strRet.Format(_T("%.10f"),(double)V_R4(&var));
				break;
			case 11:
				strRet.Format(_T("%.1f"),(double)V_R4(&var));
				break;
			default:
				strRet.Format(_T("%g"),(double)V_R4(&var));
				break;
			}
			break;
		case VT_R8:
			switch(m_nDigit)
			{
			case 0:
				strRet.Format(_T("%e"),(double)V_R8(&var));
				break;
            case 1:
				strRet.Format(_T("%.1f"),(double)V_R8(&var));
				break;
            case 2:
				strRet.Format(_T("%.2f"),(double)V_R8(&var));
				break;
            case 3:
				strRet.Format(_T("%.3f"),(double)V_R8(&var));
				break;
			case 4:
				strRet.Format(_T("%.4f"),(double)V_R8(&var));
				break;
			case 5:
				strRet.Format(_T("%.5f"),(double)V_R8(&var));
				break;
			case 6:
				strRet.Format(_T("%.6f"),(double)V_R8(&var));
				break;
			case 7:
				strRet.Format(_T("%.7f"),(double)V_R8(&var));
				break;
			case 8:
				strRet.Format(_T("%.8f"),(double)V_R8(&var));
				break;
			case 9:
				strRet.Format(_T("%.9f"),(double)V_R8(&var));
				break;
			case 10:
				strRet.Format(_T("%.10f"),(double)V_R8(&var));
				break;
			case 11:
				strRet.Format(_T("%.0f"),(double)V_R8(&var));
				break;
			default:
				strRet.Format(_T("%g"),(double)V_R8(&var));
				break;
			}
			break;
		case VT_CY:
			strRet = COleCurrency(var).Format();
			break;
		case VT_DATE:
				strRet = COleDateTime(var).Format(_T("%Y年%m月%d日"));
			break;
		case VT_BSTR:
			strRet = V_BSTR(&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("Array of ");
	}
	if(vt & VT_BYREF){
		vt = vt & ~VT_BYREF;
		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;
}

int JnString::GetDiskSerial()
{
	LPCTSTR lpRootPathName="c:\\"; //取C盘的序列号
	LPTSTR lpVolumeNameBuffer=new char[12];//磁盘卷标
	DWORD nVolumeNameSize=12;
	DWORD VolumeSerialNumber;//磁盘序列号
	DWORD MaximumComponentLength;
	LPTSTR lpFileSystemNameBuffer=new char[10];
	DWORD nFileSystemNameSize=10;
	DWORD FileSystemFlags;
	GetVolumeInformation(lpRootPathName,
		lpVolumeNameBuffer, nVolumeNameSize,
		&VolumeSerialNumber, &MaximumComponentLength,
		&FileSystemFlags,lpFileSystemNameBuffer, nFileSystemNameSize);
	VolumeSerialNumber^=0x91827364;//做一转换,
	delete lpVolumeNameBuffer;
	delete lpFileSystemNameBuffer;
	return  (int)VolumeSerialNumber;
}

CString JnString::Jiami1(CString str1)
{
/*
1,源码是:123456ABCDE
2,密码是:Jn
加密过程为:
1,把Jn获得它的字符串的和
2,源码的每个字符都要加上这个字符串的和的偏移

  另外还有一种方法是:
  使得源码和密码能够偏移到26个字母区域中去,方法是:
 1,获得那个字母的数值
 2,用这个字母的数值去获得余数
*/
	int nLenght=str1.GetLength();
	char charAt;
	CString str=_T("");
	CTime ptime=CTime::GetCurrentTime();
	div_t t;
	for(int i=0;i<nLenght;i++)
	{
		charAt=str1.GetAt(i);
		t=div(charAt,26);
		charAt=t.rem+65;

⌨️ 快捷键说明

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