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

📄 textfilter.h

📁 奇迹世界公用文件源代码,研究网络游戏的朋友可以研究下
💻 H
字号:
#ifndef	__TEXT_FILTER__
#define	__TEXT_FILTER__

//------------------------------------------------------------------------------
/**
@brief

//	咆胶飘 鞘磐傅阑 困茄 努贰胶.
//	鞘磐傅 措惑捞 乐绰瘤甫 八荤窍绰 窃荐 (IsHaveReplace)客
//	角力肺 鞘磐傅阑 窍绰 窃荐 (Replace) 滴俺肺 捞风绢廉 乐促.
//	货 鞘磐甫 父甸 锭绰 ITextFilter甫 惑加茄 第
//	virtual	char*	GetReplaceTarget(int *nLength, char *szSrc);
//	virtual	void	ReplaceWord(char *szDest, const char *szSrc, int nMaxLength);
//	滴俺 窃荐甫 override窃栏肺结 力累窍霸 等促.

@author
	- 瘤肯 

@since
	- 2005.8.12
@remarks

*/

#define	SLANG_LENGTH_MAX	32


class IAbstractInterface
{
public:
	bool		IsInit() {return m_xInit;	}
	
protected:
	bool		m_xInit;
};

class	ITextFilter : public IAbstractInterface
{
public :
					ITextFilter() {Initialize();	}
	virtual			~ITextFilter() {Release();	}

	virtual	HRESULT	Create() = 0;
	virtual	HRESULT	Destroy() = 0;
	virtual	HRESULT	Save(const char *szFName) = 0;
	virtual	HRESULT	Load(const char *szFName) = 0;
	virtual	HRESULT	LoadFromPack(const char *szFName) = 0;


	bool			Replace(char *szDest, char *szSrc, int nMaxLength);
	bool            CheckIncludeString(char *szSrc);//

	bool            CheckString(char *szSrc);
	bool			IsHaveReplace(char *szSrc,bool binclude=true);
	
protected :
	void			Clear() {}
	void			Initialize() {m_xInit = false;	}
	void			Release() {}

	static	char*	FindString(char *szStr, const char *szCharSet);
	static	void	GetStringPart(char *szDest, const char *szSrc, int nLength);
	static	void	Trim(char *szDest, const char *szSrc);

	virtual	char*	GetReplaceTarget(int *nLength, char *szSrc) = 0;
	virtual	void	ReplaceWord(char *szDest, const char *szSrc, int nMaxLength) = 0;

protected :
	char			**m_szaSlangTarget, **m_szaSlangReplace;
	int				m_nSlangNumber;

protected :

};

class	CNSlangTextFilter : public ITextFilter
{

public :
	CNSlangTextFilter() {Clear();	Create();}
	virtual			~CNSlangTextFilter() {Destroy();	}

	virtual	HRESULT	Create() {m_xInit = true;	return true;	}
	virtual	HRESULT	Destroy();
	virtual	HRESULT	Save(const char *szFName) {szFName;return false;	}
	virtual	HRESULT	Load(const char *szFName);
	virtual	HRESULT	LoadFromPack(const char *szFName);

protected :
	void			Clear();
	virtual	char*	GetReplaceTarget(int *nLength, char *szSrc);
	virtual	void	ReplaceWord(char *szDest, const char *szSrc, int nMaxLength);
};


#endif

⌨️ 快捷键说明

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