📄 stockdlg.cpp
字号:
delete pStock;*/
}
void CStockDlg::OnModify()
{ /*
CString str,str2;
int iPos = -1;
CString tmpStr;
CSection tmpSec,tmpSec2;
POSITION pos;
pos = m_ctrStockList.GetFirstSelectedItemPosition();
int Select= m_ctrStockList.GetNextSelectedItem(pos);
//如果双击空白处
if(Select==-1)
return;
CDealModifyDlg DealModifyDlg(this) ;
CStock *pStock = new CStock();
DealModifyDlg.m_strAccountName = m_strStockName ;
DealModifyDlg.m_strDealTime = m_ctrStockList.GetItemText(Select,0);
DealModifyDlg.m_strCategory = m_ctrStockList.GetItemText(Select,1);
if( m_ctrStockList.GetItemText(Select,2) == "收入")
DealModifyDlg.m_strInOrOut = "in";
else
DealModifyDlg.m_strInOrOut = "out";
DealModifyDlg.m_iAmount = _wtoi(m_ctrStockList.GetItemText(Select,3));
if( DealModifyDlg.DoModal() == IDOK )
{
pStock->deal_money = DealModifyDlg.m_iAmount;
pStock->deal_inout = DealModifyDlg.m_strInOrOut ;
pStock->Account_Type = DealModifyDlg.m_strCategory;
pStock->deal_time = DealModifyDlg.m_strDealTime ;
pStockIni = new CIniReader(m_strStockName+".ini");
if(! pStockIni->Load())
{
::AfxMessageBox(L"Can not load ini");
delete pStockIni;
pStockIni = NULL;
return ;
}
if(! pStockIni->Parse())
{
::AfxMessageBox(L"Invalid format ini ");
delete pStockIni;
pStockIni = NULL;
return ;
}
for(int i=0;i<m_iCount;i++)
{
CString str;
str.Format(L"%d",i);
CSection Info= (*pStockIni)[str];
if(EqualSection(Info,pStock))
{
iPos = i;
}
}
if(iPos == -1)
{
AfxMessageBox(L"修改失败");
return ;
}
//向文件中增加信息:
tmpSec2.m_SectionName.Format(L"%d",iPos);
pStockIni->AddPair(L"deal_time",pStock->deal_time,tmpSec2.m_SectionName);
pStockIni->AddPair(L"deal_type",pStock->Account_Type,tmpSec2.m_SectionName);
tmpStr.Format(L"%d",pStock->deal_money);
pStockIni->AddPair(L"deal_money",tmpStr,tmpSec2.m_SectionName);
pStockIni->AddPair(L"deal_inout",pStock->deal_inout,tmpSec2.m_SectionName);
pStockIni->Store();
ReadIni(m_strStockName);
}
if(pStock)
delete pStock;*/
}
void CStockDlg::OnDelete()
{
POSITION pos;
pos = m_ctrStockList.GetFirstSelectedItemPosition();
int Select= m_ctrStockList.GetNextSelectedItem(pos);
//如果双击空白处
if(Select==-1)
return;
if(::MessageBox(NULL,L"确定删除?",L"警告!",MB_OKCANCEL) != IDOK )
return ;
// pStockIni = new CIniReader("\\Program Files\\理财能手\\Data\\"+m_strStockName+".ini");
pStockIni = new CIniReader(m_strStockName+".ini");
if(! pStockIni->Load())
{
::AfxMessageBox(L"Can not load ini");
delete pStockIni;
pStockIni = NULL;
return ;
}
if(! pStockIni->Parse())
{
::AfxMessageBox(L"Invalid format ini");
delete pStockIni;
pStockIni = NULL;
return ;
}
for(int i=1;i<pStockIni->m_Sections.GetSize();i++)
{
CString value;
pStockIni->m_Sections[i].m_item.Lookup(L"deal_time",value);
if(value==m_ctrStockList.GetItemText(Select,0))
{
pStockIni->m_Sections.RemoveAt(i);
if(i<m_iCount) //不是删除最后一项
{
CString tmp;
AfxMessageBox(L"不是删除最后一项");
for(int j=i;j<m_iCount+1;j++)
{
tmp.Format(L"%d",j-1);
pStockIni->m_Sections[j].m_SectionName = tmp;
}
}
else
AfxMessageBox(L"删除最后一项");
m_iCount--;
}
}
CString tmpStr;
tmpStr.Format(L"%d",m_iCount);
pStockIni->AddPair(L"deal_count",tmpStr,L"Info"); //将帐户数自减1
pStockIni->Store();
ReadIni(m_strStockName);
}
BOOL CStockDlg::EqualSection(CSection sec, CStock *pStock)
{
POSITION pos = sec.m_item.GetStartPosition();
CString time ,money,type,inout;
while( pos != NULL)
{
String key;
String value;
sec.m_item.GetNextAssoc(pos, key, value);
if(key == "deal_time")
time = value;
else if(key == "deal_type")
type = value;
else if(key == "deal_money")
money = value;
else if(key == "deal_inout")
inout = value;
}
CString tmpStr;
// tmpStr.Format(L"%d",pStock->deal_money);
// if((time == pStock->deal_time)&&(type == pStock->deal_type)&&(money == tmpStr))
// return true;
// else
return false;
}
void CStockDlg::OnBtnstockhelp()
{
}
void CStockDlg::OnDblclkListStock(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
}
void CStockDlg::OnBuyIn()
{
CString str,str2;
CString tmpStr;
CSection tmpSec,tmpSec2;
CStock *pStock = new CStock();
CMakeStockDealBuyIn BuyInDlg(this) ;
BuyInDlg.m_strStockAccount = m_strStockName;
if( BuyInDlg.DoModal() == IDOK )
{
pStock->deal_inout = L"买入" ;
pStock->stock_code = BuyInDlg.m_strStockCode;
pStock->deal_time = BuyInDlg.m_strDealTime ;
pStock->price = BuyInDlg.m_fPrice ;
pStock->stock_name = BuyInDlg.m_strStockName;
//pStockIni = new CIniReader("\\Program Files\\理财能手\\Data\\"+m_strStockName+".ini");
pStockIni = new CIniReader(m_strStockName+".ini");
if(! pStockIni->Load())
{
::AfxMessageBox(L"Can not load ini");
delete pStockIni;
pStockIni = NULL;
return ;
}
if(! pStockIni->Parse())
{
::AfxMessageBox(L"Invalid format ");
delete pStockIni;
pStockIni = NULL;
return ;
}
//向文件中增加信息:
tmpSec2.m_SectionName.Format(L"%d",m_iCount);
m_iCount++;
tmpStr.Format(L"%d",m_iCount);
pStockIni->AddPair(L"deal_count",tmpStr,L"Info"); //将帐户数自增1
pStockIni->AddPair(L"deal_time",pStock->deal_time,tmpSec2.m_SectionName);
pStockIni->AddPair(L"stock_name",pStock->stock_name,tmpSec2.m_SectionName);
pStockIni->AddPair(L"stock_code",pStock->stock_code,tmpSec2.m_SectionName);
tmpStr.Format(L"%d",pStock->stock_amount);
pStockIni->AddPair(L"stock_amount",tmpStr,tmpSec2.m_SectionName);
tmpStr.Format(L"%f",pStock->price);
pStockIni->AddPair(L"price",tmpStr,tmpSec2.m_SectionName);
pStockIni->AddPair(L"deal_inout",pStock->deal_inout,tmpSec2.m_SectionName);
pStockIni->Store();
ReadIni(m_strStockName);
}
if(pStock)
delete pStock;
}
void CStockDlg::OnSellOut()
{
CString str,str2;
CString tmpStr;
CSection tmpSec,tmpSec2;
CStock *pStock = new CStock();
CStockSellOutDlg SellOutDlg(this) ;
SellOutDlg.m_strStockAccount = m_strStockName;
if( SellOutDlg.DoModal() == IDOK )
{
pStock->deal_inout = L"卖出" ;
pStock->stock_code = SellOutDlg.m_strStockCode;
pStock->deal_time = SellOutDlg.m_strDealTime ;
pStock->price = SellOutDlg.m_fPrice ;
pStock->stock_name = SellOutDlg.m_strStockName;
//tmpStr = "\\Program Files\\理财能手\\Data\\"+m_strStockName+".ini";
tmpStr = m_strStockName+".ini";
pStockIni = new CIniReader(tmpStr);
if(! pStockIni->Load())
{
::AfxMessageBox(L"Can not load ini");
delete pStockIni;
pStockIni = NULL;
return ;
}
if(! pStockIni->Parse())
{
::AfxMessageBox(L"Invalid format ");
delete pStockIni;
pStockIni = NULL;
return ;
}
//向文件中增加信息:
tmpSec2.m_SectionName.Format(L"%d",m_iCount);
m_iCount++;
tmpStr.Format(L"%d",m_iCount);
pStockIni->AddPair(L"deal_count",tmpStr,L"Info"); //将帐户数自增1
pStockIni->AddPair(L"deal_time",pStock->deal_time,tmpSec2.m_SectionName);
pStockIni->AddPair(L"stock_name",pStock->stock_name,tmpSec2.m_SectionName);
pStockIni->AddPair(L"stock_code",pStock->stock_code,tmpSec2.m_SectionName);
tmpStr.Format(L"%d",pStock->stock_amount);
pStockIni->AddPair(L"stock_amount",tmpStr,tmpSec2.m_SectionName);
tmpStr.Format(L"%f",pStock->price);
pStockIni->AddPair(L"price",tmpStr,tmpSec2.m_SectionName);
pStockIni->AddPair(L"deal_inout",pStock->deal_inout,tmpSec2.m_SectionName);
pStockIni->Store();
ReadIni(m_strStockName);
}
if(pStock)
delete pStock;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -