📄 accobook_ceview.cpp
字号:
{
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 + -