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

📄 accobook_ceview.cpp

📁 股票助手的源代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
				{
				l=g_dbf.ReadFieldStr(i+1,0,g_pFieldBuf);
				s=g_dbf.CharToWideChar(g_pFieldBuf,l);
				CMyTime t(s);
				time=CTime(t.m_dYear,t.m_dMonth,t.m_dDay,0,0,0);
				if((time1<=time)&&(time<=time2))
					{
					g_wStationsArray.Add(count);
					}
				}
			}
		}
	}
	}
	count++;
	}
RefreshCtrl(); 
return 1;
}

void CAccobook_CEView::OnButtonStatistics() 
{
CString sType2=_T("买入");
CString sType1=_T("卖出");
char cType1[50],cType2[50];
g_dbf.WideCharToChar(sType1,cType1);
g_dbf.WideCharToChar(sType2,cType2);
double dShouRu=0;
double dZhiChu=0;
double fShuE,fJiaGe;
int i,j,len;
CString s;
TCHAR  *stopstring;
for(i=0;i<g_nTotalRecordNum;i++)
	{
	if(m_nIsListAll)
		{
		len=g_dbf.ReadFieldStr(i+1,2,g_pFieldBuf);
		s=g_dbf.CharToWideChar(g_pFieldBuf,len);
		fShuE=_tcstod(s,&stopstring);
		len=g_dbf.ReadFieldStr(i+1,3,g_pFieldBuf);
		s=g_dbf.CharToWideChar(g_pFieldBuf,len);
		fJiaGe=_tcstod(s,&stopstring);
		len=g_dbf.ReadFieldStr(i+1,1,g_pFieldBuf);
		if(StationIn2((const char*)g_pFieldBuf,cType1))
			dShouRu+=fShuE*fJiaGe;
		else
			dZhiChu+=fShuE*fJiaGe;
		}
	else
		{
		len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,2,g_pFieldBuf);
		s=g_dbf.CharToWideChar(g_pFieldBuf,len);
		fShuE=_tcstod(s,&stopstring);
		len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,3,g_pFieldBuf);
		s=g_dbf.CharToWideChar(g_pFieldBuf,len);
		fJiaGe=_tcstod(s,&stopstring);
		len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,1,g_pFieldBuf);
		if(StationIn2((const char*)g_pFieldBuf,cType1))
			dShouRu+=fShuE*fJiaGe;
		else
			dZhiChu+=fShuE*fJiaGe;
		}
	}
m_dIncome=dShouRu;
m_dOutcome=dZhiChu;
m_dYingyu=dShouRu-dZhiChu;
UpdateData(0);
}

CString CAccobook_CEView::MyMakeUpperAndRemoveSpaces(CString str)
{
CString sCSpace=" ";
CString temp="";
CString strRtn="";
int i=0;
while(i<str.GetLength())
	{
	temp=str[i];
	if(((unsigned char)str[i]>0xA0)&&((i+1)<str.GetLength()))
		{
		temp+=str[i+1];
		if(temp!=sCSpace)
			strRtn+=temp;
		i++;
		i++;
		}
	else
		{
		if(temp!=" "&&temp!="\n")
			{
			temp.MakeUpper();
			strRtn+=temp;
			}
		i++;
		}
	}
return strRtn;
}

void CAccobook_CEView::OnButton1()//Append()添加 确认
{
TCHAR cc[100];
CString sRiQi,sType,sShuE,sBeiZhu;
g_pEditBeiZhu->GetWindowText(sBeiZhu);

UpdateData();	
if(m_bShouRu&&m_bZhiChu)
	{
	//AfxMessageBox(_T("买入或卖出只能选一个!"));
	::MessageBox(GetSafeHwnd(),_T("买入或卖出只能选一个!"),
		_T("StockStar_CE Application"),MB_OK);
	
	return;
	}
g_pEditShuE->GetWindowText(sShuE);	

g_pEditRiQi->GetWindowText(sRiQi);
if(m_bShouRu)
	sType=_T("买入");
else
	sType=_T("卖出");

if(::MessageBox(GetSafeHwnd(),_T("真要添加记录吗?"),
		_T("  Add Record ?"),MB_YESNO)==IDNO)
	{
	return;	
	}

char cRiQi[40],cType[20],cShuE[100],cJiaGe[30],
	cDaiMa[50],cMingChen[255],cBeiZhu[255],
	cKaiPan[30],cShouPan[30],cZuiGao[30],cZuiDi[30];
g_dbf.AppendBlankRecordInMem();

int num=g_dbf.GetRecordCount();

int len=g_dbf.WideCharToChar(sRiQi,cRiQi);
g_dbf.SetFieldStr(num,0,(PBYTE)cRiQi,len);
len=g_dbf.WideCharToChar(sType,cType);
g_dbf.SetFieldStr(num,1,(PBYTE)cType,len);
len=g_dbf.WideCharToChar(sShuE,cShuE);
g_dbf.SetFieldStr(num,2,(PBYTE)cShuE,len);
len=g_dbf.WideCharToChar(m_sJiaGe,cJiaGe);
g_dbf.SetFieldStr(num,3,(PBYTE)cJiaGe,len);

len=g_dbf.WideCharToChar(m_sDaiMa,cDaiMa);
g_dbf.SetFieldStr(num,4,(PBYTE)cDaiMa,len);
len=g_dbf.WideCharToChar(m_sMingChen,cMingChen);
g_dbf.SetFieldStr(num,5,(PBYTE)cMingChen,len);
len=g_dbf.WideCharToChar(sBeiZhu,cBeiZhu);
g_dbf.SetFieldStr(num,6,(PBYTE)cBeiZhu,len);

len=g_dbf.WideCharToChar(m_sKaiPanJia,cKaiPan);
g_dbf.SetFieldStr(num,7,(PBYTE)cKaiPan,len);
len=g_dbf.WideCharToChar(m_sShouPanJia,cShouPan);
g_dbf.SetFieldStr(num,8,(PBYTE)cShouPan,len);
len=g_dbf.WideCharToChar(m_sZuiGaoJia,cZuiGao);
g_dbf.SetFieldStr(num,9,(PBYTE)cZuiGao,len);
len=g_dbf.WideCharToChar(m_sZuiDiJia,cZuiDi);
g_dbf.SetFieldStr(num,10,(PBYTE)cZuiDi,len);

g_dbf.WriteAllDataToFile();
ShowAll();
}

void CAccobook_CEView::OnButtonDelete() 
{
int num=g_dbf.GetRecordCount();
if(g_nHitIndex<0||g_nHitIndex>num)
	{
	//AfxMessageBox(_T("请先选定要删除的记录!"));
	::MessageBox(GetSafeHwnd(),_T("请先选定要删除的记录!"),
		_T("StockStar_CE Application"),MB_OK);
	
	return;
	}
if(::MessageBox(GetSafeHwnd(),_T("真要删除所选记录吗?"),
		_T("  Delete Record ?"),MB_YESNO)==IDNO)
	return;
int index;
if(m_nIsListAll)
	index=g_nHitIndex+1;
else
	index=g_wStationsArray[g_nHitIndex]+1;
BOOL bTrue=-1;
bTrue=g_dbf.DeleteRecordInMem(index);
if(bTrue==1)
	g_dbf.WriteAllDataToFile();
if(m_nIsListAll)
	ShowAll();
else
	RefreshCtrl();
g_nHitIndex=-1;
}

void CAccobook_CEView::OnButtonModify() 
{
int num=g_dbf.GetRecordCount();
if(g_nHitIndex<0||g_nHitIndex>num)
	{
	//AfxMessageBox(_T("请先选定要修改的记录!"));
	::MessageBox(GetSafeHwnd(),_T("请先选定要修改的记录!"),
		_T("  Modify Record ?"),MB_OK);
	return;
	}
if(::MessageBox(GetSafeHwnd(),_T("真要修改所选记录吗?"),
		_T("  Modify Record ?"),MB_YESNO)==IDNO)
	{
	return;	
	}
TCHAR cc[100];
CString sRiQi,sShuE,sType,sBeiZhu;
g_pEditBeiZhu->GetWindowText(sBeiZhu);
UpdateData();	
if(m_bShouRu&&m_bZhiChu)
	{
	//AfxMessageBox(_T("买入或卖出只能选一个!"));
	::MessageBox(GetSafeHwnd(),_T("买入或卖出只能选一个!"),
		_T("StockStar_CE Application"),MB_OK);
	
	return;
	}
g_pEditShuE->GetWindowText(sShuE);	
g_pEditRiQi->GetWindowText(sRiQi);
if(m_bShouRu)
	sType=_T("买入");
else
	sType=_T("卖出");
char cRiQi[40],cType[20],cShuE[100],cJiaGe[30],
	cDaiMa[50],cMingChen[255],cBeiZhu[255],
	cKaiPan[30],cShouPan[30],cZuiGao[30],cZuiDi[30];
int len;
int index;
if(m_nIsListAll)
	index=g_nHitIndex+1;
else
	index=g_wStationsArray[g_nHitIndex]+1;
len=g_dbf.WideCharToChar(sRiQi,cRiQi);
g_dbf.SetFieldStr(index,0,(PBYTE)cRiQi,len);
len=g_dbf.WideCharToChar(sType,cType);
g_dbf.SetFieldStr(index,1,(PBYTE)cType,len);
len=g_dbf.WideCharToChar(sShuE,cShuE);
g_dbf.SetFieldStr(index,2,(PBYTE)cShuE,len);
len=g_dbf.WideCharToChar(m_sJiaGe,cJiaGe);
g_dbf.SetFieldStr(index,3,(PBYTE)cJiaGe,len);

len=g_dbf.WideCharToChar(m_sDaiMa,cDaiMa);
g_dbf.SetFieldStr(index,4,(PBYTE)cDaiMa,len);
len=g_dbf.WideCharToChar(m_sMingChen,cMingChen);
g_dbf.SetFieldStr(index,5,(PBYTE)cMingChen,len);
len=g_dbf.WideCharToChar(sBeiZhu,cBeiZhu);
g_dbf.SetFieldStr(index,6,(PBYTE)cBeiZhu,len);

len=g_dbf.WideCharToChar(m_sKaiPanJia,cKaiPan);
g_dbf.SetFieldStr(index,7,(PBYTE)cKaiPan,len);
len=g_dbf.WideCharToChar(m_sShouPanJia,cShouPan);
g_dbf.SetFieldStr(index,8,(PBYTE)cShouPan,len);
len=g_dbf.WideCharToChar(m_sZuiGaoJia,cZuiGao);
g_dbf.SetFieldStr(index,9,(PBYTE)cZuiGao,len);
len=g_dbf.WideCharToChar(m_sZuiDiJia,cZuiDi);
g_dbf.SetFieldStr(index,10,(PBYTE)cZuiDi,len);

g_dbf.WriteAllDataToFile();
if(m_nIsListAll)
	ShowAll();
else
	RefreshCtrl();
g_nHitIndex=-1;
}

void CAccobook_CEView::OnButtonCalc() 
{
p_CalcDlg->DoModal();	
}

void CAccobook_CEView::OnButtonK() 
{
p_KXianTu->DoModal();		
}

BOOL CAccobook_CEView::UpdateListForKXianTu(
									CString sRIQI1,CString sRIQI2,
									CString sDaiMa,CString sMingChen)
{
char sc1[101],sc2[101];
int i,j,count=0;
InitCtrl();
m_nIsListAll=0;
int len;
g_wStationsArray.RemoveAll();
//TCHAR  *stopstring;
if(sRIQI1=="")sRIQI1=_T("0.0.0.");
if(sRIQI2=="")sRIQI2=_T("2999.12.31.");
CMyTime t1(sRIQI1);
g_time1=CTime(t1.m_dYear,t1.m_dMonth,t1.m_dDay,0,0,0);
CMyTime t2(sRIQI2);
g_time2=CTime(t2.m_dYear,t2.m_dMonth,t2.m_dDay,0,0,0);
CTime time1(t1.m_dYear,t1.m_dMonth,t1.m_dDay,0,0,0);
CTime time2(t2.m_dYear,t2.m_dMonth,t2.m_dDay,0,0,0);
CTime time;
if(time1>time2)
	{
	time=time1;
	time1=time2;
	time2=time;
	}
g_nYear1=t1.m_dYear;
g_nMonth1=t1.m_dMonth;
g_nDay1=t1.m_dDay;
g_nYear2=t2.m_dYear;
g_nMonth2=t2.m_dMonth;
g_nDay2=t2.m_dDay;
CTimeSpan ts =g_time2 - g_time1;
g_nDays=ts.GetDays( );
DWORD l;
CString s;
g_YearArray.RemoveAll();
g_MonthArray.RemoveAll();
g_DayArray.RemoveAll();
for(i=0;i<g_dbf.GetRecordCount();i++)
	{
	l=g_dbf.ReadFieldStr(i+1,4,g_pFieldBuf);
	s=g_dbf.CharToWideChar(g_pFieldBuf,l);
	s=MyMakeUpperAndRemoveSpaces(s);
	if((sDaiMa=="")||(s==sDaiMa))
		{
		l=g_dbf.ReadFieldStr(i+1,5,g_pFieldBuf);
		s=g_dbf.CharToWideChar(g_pFieldBuf,l);
		s=MyMakeUpperAndRemoveSpaces(s);
		if((sMingChen=="")||(s==sMingChen))
			{
			l=g_dbf.ReadFieldStr(i+1,0,g_pFieldBuf);
			s=g_dbf.CharToWideChar(g_pFieldBuf,l);
			CMyTime t(s);
			time=CTime(t.m_dYear,t.m_dMonth,t.m_dDay,0,0,0);
			if((time1<=time)&&(time<=time2))
				{
				g_YearArray.Add(t.m_dYear);
				g_MonthArray.Add(t.m_dMonth);
				g_DayArray.Add(t.m_dDay);
				g_wStationsArray.Add(count);
				}
			}
		}
	count++;
	}
RefreshCtrl(); 
return 1;
}

int CAccobook_CEView::Swap(double& d1,double& d2)
{
double d;
if(d1>d2)
	{
	d=d1;
	d1=d2;
	d2=d;
	return 1;
	}
return 0;
}

int CAccobook_CEView::PrePareTimeIndex()
{
int i,j,num=g_YearArray.GetSize();
CTime TimeI,TimeJ;
double dYear,dMonth,dDay,dYearI,dMonthI,dDayI,dYearJ,dMonthJ,dDayJ;
//CWordArray IndexArray;
for(i=1;i<num;i++)
	{
	//TimeI=CTime(g_YearArray[i],g_MonthArray[i],g_DayArray[i],0,0,0);
	for(j=i-1;j>=0;j--)
		{
		dYearI=g_YearArray[j+1];
		dMonthI=g_MonthArray[j+1];
		dDayI=g_DayArray[j+1];
		TimeI=CTime(g_YearArray[j+1],g_MonthArray[j+1],g_DayArray[j+1],0,0,0);
		dYearJ=g_YearArray[j];
		dMonthJ=g_MonthArray[j];
		dDayJ=g_DayArray[j];
		TimeJ=CTime(g_YearArray[j],g_MonthArray[j],g_DayArray[j],0,0,0);
		if(TimeI<TimeJ)
			{
			dYear=g_YearArray[j];
			dMonth=g_MonthArray[j];
			dDay=g_DayArray[j];
			g_YearArray[j]=g_YearArray[j+1];
			g_MonthArray[j]=g_MonthArray[j+1];
			g_DayArray[j]=g_DayArray[j+1];
			g_YearArray[j+1]=dYear;
			g_MonthArray[j+1]=dMonth;
			g_DayArray[j+1]=dDay;
			}
		else
			{
			break;
			}
		}
	}
num=g_YearArray.GetSize();
CTimeSpan ts;
CTime t1,t2;
if(num>1)
	{
	t1=CTime(g_YearArray[0],g_MonthArray[0],g_DayArray[0],0,0,0);
	t2=CTime(g_YearArray[num-1],g_MonthArray[num-1],g_DayArray[num-1],0,0,0);
	ts =t2 - t1;	
	g_nDays=ts.GetDays( );
	}
return 1;
}

int CAccobook_CEView::PrePareKXianTuValues()
{
g_nMax=0;
g_nMin=1000000;
g_ZuiGaoJiaArray.RemoveAll();
g_ZuiDiJiaArray.RemoveAll();
g_KaiPanJiaArray.RemoveAll();
g_ShouPanJiaArray.RemoveAll();
CString s;
double len,temp;
TCHAR  *stopstring;
PrePareTimeIndex();
int i,j,num=g_YearArray.GetSize();
CTime TimeJ,TimeI;
if(num>0)
	{
	g_time1=CTime(g_YearArray[0],g_MonthArray[0],g_DayArray[0],0,0,0);
	g_time2=CTime(g_YearArray[num-1],g_MonthArray[num-1],g_DayArray[num-1],0,0,0);
	}
for(j=0;j<num;j++)
	{
	TimeJ=CTime(g_YearArray[j],g_MonthArray[j],g_DayArray[j],0,0,0);
	for(i=0;i<g_wStationsArray.GetSize();i++)
		{
		len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,0,g_pFieldBuf);
		s=g_dbf.CharToWideChar(g_pFieldBuf,len);
		CMyTime t(s);
		TimeI=CTime(t.m_dYear,t.m_dMonth,t.m_dDay,0,0,0);
		if(TimeI==TimeJ)
			{
			len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,7,g_pFieldBuf);
			s=g_dbf.CharToWideChar(g_pFieldBuf,len);
			g_KaiPanJiaArray.Add(s);
			len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,8,g_pFieldBuf);
			s=g_dbf.CharToWideChar(g_pFieldBuf,len);
			g_ShouPanJiaArray.Add(s);
			len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,9,g_pFieldBuf);
			s=g_dbf.CharToWideChar(g_pFieldBuf,len);
			g_ZuiGaoJiaArray.Add(s);
			temp=_tcstod(s,&stopstring);
			g_nMax=max(g_nMax,temp);
			len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,10,g_pFieldBuf);
			s=g_dbf.CharToWideChar(g_pFieldBuf,len);
			g_ZuiDiJiaArray.Add(s);
			temp=_tcstod(s,&stopstring);
			g_nMin=min(g_nMin,temp);
			break;
			}
		}
	}
if(g_nMax<g_nMin)
	{
	g_nMax=0;
	g_nMin=0;
	}
return 1;
}

⌨️ 快捷键说明

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