parameterlist.h

来自「SQLBig5BugTool 宽字符操作问题」· C头文件 代码 · 共 84 行

H
84
字号
// ParameterList.h: interface for the CParameterList class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PARAMETERLIST_H__B9CC35C3_235D_4BB7_9EE7_2C1E53F04D1D__INCLUDED_)
#define AFX_PARAMETERLIST_H__B9CC35C3_235D_4BB7_9EE7_2C1E53F04D1D__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "I_ParameterList.h"
#include "MyLog.h"
#include <assert.h>

#include <afxmt.h>

class CParameterList  :public IParameterList
{
public:
	CParameterList();
	
	virtual ~CParameterList();
	
	void CopyParameterList(IParameterList* pIParameterList)
	{
		CParameterList* pParameterListNew=(CParameterList*)pIParameterList;
		
		CSingleLock lck(&m_csLock,TRUE);
		CSingleLock lck2(&pParameterListNew->m_csLock,TRUE);
		
		m_ParamText=pParameterListNew->m_ParamText;
		m_ParamLONG=pParameterListNew->m_ParamLONG;
		m_ParamULONG=pParameterListNew->m_ParamULONG;

		m_ParamNameList=pParameterListNew->m_ParamNameList;
	};
	
	virtual void CopyFromParameterList(IParameterList* pIParameterList)
	{
		CopyParameterList(pIParameterList);
	};

	virtual const char* GetParamValueText(const char* pszName);
	
	virtual LONG GetParamValueLONG(const char* pszName) ;
	virtual ULONG GetParamValueULONG(const char* pszName) ;
	
	virtual void SetParamValueText(const char* pszName,const char*pszValue);
	
	virtual void SetParamValueLONG(const char* pszName,LONG lValue);
	virtual void SetParamValueULONG(const char* pszName,ULONG ulValue);
	
	virtual ULONG GetParamCount();
	
	virtual void GetAllParamAsText(
		std::string& strAllTxt,
		const char* pszTokenBetweenParams="  ;",
		const bool  bGetType=false
		);
	
	virtual void GetParamValueAsText(
		const ULONG		ulIndex,
		std::string&	strName,
		std::string&	strType,
		std::string&	strValue
		);

private:
#define TYPE_TEXT "TEXT"
#define TYPE_LONG "LONG"
#define TYPE_ULONG "ULONG"
		
	STD_MAP_STRING_2_STRING m_ParamText;
	STD_MAP_STRING_2_LONG   m_ParamLONG;
	STD_MAP_STRING_2_ULONG   m_ParamULONG;

	STRING_LIST m_ParamNameList;
	
	CCriticalSection m_csLock;
};

#endif // !defined(AFX_PARAMETERLIST_H__B9CC35C3_235D_4BB7_9EE7_2C1E53F04D1D__INCLUDED_)

⌨️ 快捷键说明

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