#include "stdafx.h" #include "VSPDef.h" LPCTSTR CVSPDefinition::SPID = _T("SPID"); LPCTSTR CVSPDefinition::LANGUAGE = _T("LANGUAGE"); LPCTSTR CVSPDefinition::GAMENAME = _T("GAMENAME"); LPCTSTR CVSPDefinition::BINDCOINNAME = _T("BINDCOINNAME"); LPCTSTR CVSPDefinition::COINNAME = _T("COINNAME"); LPCTSTR CVSPDefinition::BINDYBNAME = _T("BINDYBNAME"); LPCTSTR CVSPDefinition::YBNAME = _T("YBNAME"); CVSPDefinition::CVSPDefinition() { } CVSPDefinition::~CVSPDefinition() { ClearDefinitions(); } LPCTSTR CVSPDefinition::GetDefinition(LPCTSTR sDefName) const { INT_PTR i, nCount = m_Defines.count(); for (i=0; i sText) { //在行尾写入终止符 sLineEnd++; sLineEnd[0] = 0; //如果该行不是一个注释行,则按定义行分析 if ( sText[0] != '-' && sText[1] != '-' ) { sTag = _tcschr(sText, '='); if ( sTag ) { //跳过定义名称后面的空白字符 sPtr = sTag - 1; while (sPtr > sText && (unsigned char)*sPtr <= 0x20) { sPtr--; } sPtr++; //如果定义名称有效则设置名称指针 if ( sPtr > sText ) { sPtr[0] = 0;//在定义名称后面写入终止符 //跳过定义值前面的空白字符 sPtr = sTag + 1; while (sPtr < sLineEnd && (unsigned char)*sPtr <= 0x20) { sPtr++; } //添加此定义 SetDefinition(sText, sPtr); } } } } sText = sNewLine; } return true; } VOID CVSPDefinition::SetDefinition(LPCTSTR sDefName, LPCTSTR sDefValue) { INT_PTR i, nCount = m_Defines.count(); SIZE_T nNameLen, nValueLen; Definition define; for (i=0; i