#include "StdAfx.h" #include ".\script.h" #include "math.h" CScript::CScript(void) { m_nColumnCount = 0; } CScript::~CScript(void) { } CString CScript::GetTextFromWORD(WORD nNum) { CString str; if(nNum == (WORD)(-1)) str = ""; else str.Format("%d", nNum); return str; } CString CScript::GetTextFromDWORD(DWORD nNum) { CString str; if(nNum == (DWORD)(-1)) str = ""; else str.Format("%d", nNum); return str; } CString CScript::GetTextFromBYTE(BYTE nNum) { CString str; if(nNum == (BYTE)(-1)) str = ""; else str.Format("%d", nNum); return str; } CString CScript::GetTextFromFLOAT(FLOAT fNum) { CString str; if(fNum == (FLOAT)(-1)) str = ""; else str.Format("%0.2f", fNum); return str; } CString CScript::GetTextFromINT(int nNum) { CString str; //if(nNum == (int)(-1)) //INT´Â -1°ªÀÌ µé¾î°¥¼ö ÀÖ´Ù. // str = ""; //else str.Format("%d", nNum); return str; } WORD CScript::CheckWORD(VARIANT value, int& nErrorCode) { WORD wValue = 0; int nMaxWord = 65535; int nMinWord = 0; if(value.vt == VT_R8) { int nValue = (int)value.dblVal; if(nValue < nMinWord || nValue > nMaxWord) //WORD ÀÇ °ªÀ» ³Ñ¾î ¼¹À¸¸é.. { wValue = -1; nErrorCode = ERROR_WRONG_VALUE; } else //Á¤»óÀûÀÎ °ªÀ̸é... { nErrorCode = ERROR_NOTHING; wValue = (WORD)nValue; } } else if(value.vt == VT_EMPTY) //ºóÄ­À̸é.. { wValue = -1; nErrorCode = ERROR_INPUT_EMPTY; } else if(value.vt == VT_BSTR) //¹®ÀÚ¿­À̸é.. { wValue = -1; nErrorCode = ERROR_INPUT_TEXT; } else //±âŸ ´Ù¸¥ °ªÀ̸é.. { wValue = -1; nErrorCode = ERROR_INPUT_ETC; } return wValue; } DWORD CScript::CheckDWORD(VARIANT value, int& nErrorCode) { DWORD dwValue = 0; unsigned int nMaxDWord = _Pow_int(2, 32) - 1; unsigned int nMinDWord = 0; if(value.vt == VT_R8) { unsigned int nValue = (int)value.dblVal; if(nValue < nMinDWord || nValue > nMaxDWord) //DWORD ÀÇ °ªÀ» ³Ñ¾î ¼¹À¸¸é.. { dwValue = -1; nErrorCode = ERROR_WRONG_VALUE; } else //Á¤»óÀûÀÎ °ªÀ̸é... { nErrorCode = ERROR_NOTHING; dwValue = (WORD)nValue; } } else if(value.vt == VT_EMPTY) //ºóÄ­À̸é.. { dwValue = -1; nErrorCode = ERROR_INPUT_EMPTY; } else if(value.vt == VT_BSTR) //¹®ÀÚ¿­À̸é.. { dwValue = -1; nErrorCode = ERROR_INPUT_TEXT; } else //±âŸ ´Ù¸¥ °ªÀ̸é.. { dwValue = -1; nErrorCode = ERROR_INPUT_ETC; } return dwValue; } BYTE CScript::CheckBYTE(VARIANT value, int& nErrorCode) { BYTE byValue = 0; int nMax = 255; int nMin = 0; if(value.vt == VT_R8) { int nValue = (int)value.dblVal; if(nValue < nMin || nValue > nMax) //BYTE ÀÇ °ªÀ» ³Ñ¾î ¼¹À¸¸é.. { byValue = -1; nErrorCode = ERROR_WRONG_VALUE; } else //Á¤»óÀûÀÎ °ªÀ̸é... { byValue = (BYTE)nValue; nErrorCode = ERROR_NOTHING; } } else if(value.vt == VT_EMPTY) //ºóÄ­À̸é.. { byValue = -1; nErrorCode = ERROR_INPUT_EMPTY; } else if(value.vt == VT_BSTR) //¹®ÀÚ¿­À̸é.. { byValue = -1; nErrorCode = ERROR_INPUT_TEXT; } else //±âŸ ´Ù¸¥ °ªÀ̸é.. { byValue = -1; nErrorCode = ERROR_INPUT_ETC; } return byValue; } FLOAT CScript::CheckFLOAT(VARIANT value, int& nErrorCode) { float fValue = 0; double dMax = 200000000; double dMin = 0; if(value.vt == VT_R8) { double dValue = (double)value.dblVal; if(dValue < dMin || dValue > dMax) //float ÀÇ °ªÀ» ³Ñ¾î ¼¹À¸¸é.. { fValue = -1; nErrorCode = ERROR_WRONG_VALUE; } else //Á¤»óÀûÀÎ °ªÀ̸é... { fValue = (float)dValue; nErrorCode = ERROR_NOTHING; } } else if(value.vt == VT_EMPTY) //ºóÄ­À̸é.. { fValue = -1; nErrorCode = ERROR_INPUT_EMPTY; } else if(value.vt == VT_BSTR) //¹®ÀÚ¿­À̸é.. { fValue = -1; nErrorCode = ERROR_INPUT_TEXT; } else //±âŸ ´Ù¸¥ °ªÀ̸é.. { fValue = -1; nErrorCode = ERROR_INPUT_ETC; } return fValue; } int CScript::CheckINT(VARIANT value, int& nErrorCode) { int nValue = 0; int dMax = 200000000; int dMin = -200000000; if(value.vt == VT_R8) { double dValue = (double)value.dblVal; if(dValue < dMin || dValue > dMax) //int º¸´Ù Å« °ªÀ¸·Î ºñ±³ÇϱâÀ§ÇØ doubleÇüÀ¸·Î ºñ±³ÇÑ´Ù. { nValue = -1; nErrorCode = ERROR_WRONG_VALUE; } else //Á¤»óÀûÀÎ °ªÀ̸é... { nValue = (int)dValue; nErrorCode = ERROR_NOTHING; } } else if(value.vt == VT_EMPTY) //ºóÄ­À̸é.. { nValue = -1; nErrorCode = ERROR_INPUT_EMPTY; } else if(value.vt == VT_BSTR) //¹®ÀÚ¿­À̸é.. { nValue = -1; nErrorCode = ERROR_INPUT_TEXT; } else //±âŸ ´Ù¸¥ °ªÀ̸é.. { nValue = -1; nErrorCode = ERROR_INPUT_ETC; } return nValue; } CString CScript::CheckString(VARIANT value, int& nErrorCode) { CString str = ""; if(value.vt == VT_BSTR) { str = value.bstrVal; nErrorCode = ERROR_NOTHING; } else if(value.vt == VT_R8) { str = ""; nErrorCode = ERROR_INPUT_INT; } else { str = ""; nErrorCode = ERROR_INPUT_ETC; } return str; }