cdbexpaliasmanager.cpp

来自「本人买的<<VC++项目开发实例>>源代码配套光盘.」· C++ 代码 · 共 95 行

CPP
95
字号
// Copyright (C) 1991 - 1999 Rational Software Corporation

#include "stdafx.h"
#include "CDBExpAliasManager.h"
#include "DBExp.h"

extern CVicApp theApp;

//##ModelId=3C369A27016F
const CString& CDBExpAliasManager::GetAliasIniFileName() const
{
	return m_strAliasIniFileName;
}

//##ModelId=3C377A640169
void CDBExpAliasManager::SetAliasIniFileName(CString& szIniFileName)
{
	// TODO: Add your specialized code here.
	if(szIniFileName != m_strAliasIniFileName)
		m_strAliasIniFileName = szIniFileName;
}



//##ModelId=3C377EC402F0
CDBExpAliasManager::~CDBExpAliasManager()
{
	// ToDo: Add your specialized code here and/or call the base class
	if("" != m_strAliasIniFileName)
		m_AliasIniFile.WriteFile();
	//释放掉m_AliasList所占之内存
	POSITION pos = m_AliasList.GetHeadPosition();
	while(NULL != pos)
		delete m_AliasList.GetNext(pos);
}

//##ModelId=3C377EC6013A
CDBExpAliasManager::CDBExpAliasManager() 
	: m_strAliasIniFileName(CString(theApp.GetAppPath()) + theApp.m_pszExeName + ".ini")
{
	// ToDo: Add your specialized code here and/or call the base class
	m_AliasIniFile.SetPath(m_strAliasIniFileName);
	VERIFY(m_AliasIniFile.ReadFile());
}



//##ModelId=3C39C130028E
void CDBExpAliasManager::LoadAllAliases()
{
	// TODO: Add your specialized code here.
	CDBExpAlias alias(&m_AliasIniFile, _T(""));

	CStringList list;
	try
	{
		alias.EnumAliases(list);
		CDBExpAlias *pTempAlias;
		POSITION pos = list.GetHeadPosition();
		
		while(NULL != pos)
		{
			pTempAlias = new CDBExpAlias(&m_AliasIniFile, list.GetAt(pos));
			pTempAlias->LoadAlias();
			
			m_AliasList.AddTail(pTempAlias);
			list.GetNext(pos);
		}
//		pTempAlias->Dump(afxDump);
	}
	catch(...)
	{
		throw;
	}
}


//##ModelId=3CA0A1F4019E
void CDBExpAliasManager::RevokeAliasNode(CDBExpAlias *pAlias)
{
	//释放掉m_AliasList所占之内存
	POSITION pos = m_AliasList.GetHeadPosition();
	while(NULL != pos)
	{

		if(m_AliasList.GetAt(pos) == pAlias)
		{
			m_AliasList.RemoveAt(pos);
			break;
		}
		m_AliasList.GetNext(pos);
	}	

}

⌨️ 快捷键说明

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