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 + -
显示快捷键?