📄 accobook_ceview.cpp
字号:
{
for(j=0;j<g_nTotalFieldNum;j++)
{
len=g_dbf.ReadFieldStr(i+1,j,g_pFieldBuf);
s=g_dbf.CharToWideChar(g_pFieldBuf,len);
s=MyMakeUpperAndRemoveSpaces(s);
m_listctrl.AddItem(i-start,j,s);
}
}
}
else
{
for(i=start;i<end;i++)
{
for(j=0;j<g_nTotalFieldNum;j++)
{
len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,j,g_pFieldBuf);
s=g_dbf.CharToWideChar(g_pFieldBuf,len);
s=MyMakeUpperAndRemoveSpaces(s);
m_listctrl.AddItem(i-start,j,s);
}
}
}
if(m_nStepNum>(g_nTotalRecordNum/10-1))
{
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(FALSE);
}
else
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(1);
GetDlgItem(IDC_BUTTON_PREV)->EnableWindow(1);
UpdateData(FALSE);
}
void CAccobook_CEView::OnButtonPrev()
{
if(m_nStepNum<1)
{
GetDlgItem(IDC_BUTTON_PREV)->EnableWindow(FALSE);
return;
}
m_listctrl.DeleteAllItems();
UpdateData();
GetDlgItem(IDC_BUTTON_PREV)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(FALSE);
m_nStepNum--;
int i;
int j;
int start=max(10*m_nStepNum,0);
int end=min(start+10,g_nTotalRecordNum);
TCHAR cc1[10],cc2[10];
wsprintf(cc1,_T("%d"),start+1);
wsprintf(cc2,_T("%d"),end);
m_s1=cc1;
m_s1+=_T("~");
m_s1+=cc2;
int len;
CString s;
if(m_nIsListAll)
{
for(i=start;i<end;i++)
{
for(j=0;j<g_nTotalFieldNum;j++)
{
len=g_dbf.ReadFieldStr(i+1,j,g_pFieldBuf);
s=g_dbf.CharToWideChar(g_pFieldBuf,len);
s=MyMakeUpperAndRemoveSpaces(s);
m_listctrl.AddItem(i-start,j,s);
}
}
}
else
{
for(i=start;i<end;i++)
{
for(j=0;j<g_nTotalFieldNum;j++)
{
len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,j,g_pFieldBuf);
s=g_dbf.CharToWideChar(g_pFieldBuf,len);
s=MyMakeUpperAndRemoveSpaces(s);
m_listctrl.AddItem(i-start,j,s);
}
}
}
if(m_nStepNum<1)
{
GetDlgItem(IDC_BUTTON_PREV)->EnableWindow(FALSE);
}
else
GetDlgItem(IDC_BUTTON_PREV)->EnableWindow(1);
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(1);
UpdateData(FALSE);
}
void CAccobook_CEView::OnButtonTest()
{
g_dbf.SetRecordCountInMem(0);
g_dbf.WriteAllDataToFile();
}
void CAccobook_CEView::MyUpdate()
{
m_sKaiPanJia=g_sKaiPanJia;
m_sShouPanJia=g_sShouPanJia;
m_sZuiGaoJia=g_sZuiGaoJia;
m_sZuiDiJia=g_sZuiDiJia;
m_sJiaGe=g_sJiaGe;
m_sDaiMa=g_sDaiMa;
m_sMingChen=g_sMingChen;
m_bShouRu=g_bShouRu;
m_bZhiChu=g_bZhiChu;
UpdateData(0);
}
void CAccobook_CEView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
{
long lwStyle = ::GetWindowLong(GetSafeHwnd(), GWL_STYLE);
lwStyle &= ~WS_VSCROLL;
lwStyle &= ~WS_HSCROLL;
::SetWindowLong(GetSafeHwnd(), GWL_STYLE, lwStyle);
}
void CAccobook_CEView::OnFileDeleteall()
{
if(::MessageBox(GetSafeHwnd(),_T("真要删除全部记录吗?"),
_T(" Delete All Records ?"),MB_YESNO)==IDNO)
return;
if(::MessageBox(GetSafeHwnd(),_T("删除的全部记录将不能恢复!是否继续?"),
_T(" Delete All Records ?"),MB_YESNO)==IDNO)
return;
int num=g_dbf.GetRecordCount();
int i;
BOOL bTrue=-1;
for(i=0;i<num;i++)
{
bTrue=g_dbf.DeleteRecordInMem(1);
}
if(bTrue==1)
g_dbf.WriteAllDataToFile();
ShowAll();
g_nHitIndex=-1;
}
void CAccobook_CEView::InitCtrl()
{
m_listctrl.DeleteAllItems();
UpdateData();
GetDlgItem(IDC_BUTTON_PREV)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_LISTALL)->EnableWindow(FALSE);
m_nStepNum=0;
g_nTotalRecordNum=0;
m_s2=_T("0");
m_s1=_T("0");
UpdateData(FALSE);
}
void CAccobook_CEView::RefreshCtrl()
{
OnButton2();
m_listctrl.DeleteAllItems();
TCHAR cc[20];
int i,j,len;
CString s;
g_nTotalRecordNum=g_wStationsArray.GetSize();
wsprintf(cc,_T("%d"),g_nTotalRecordNum);
m_s2=cc;
int total=min(10,g_nTotalRecordNum);
for(i=0;i<total;i++)
{
len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,0,g_pFieldBuf);
s=g_dbf.CharToWideChar(g_pFieldBuf,len);
s=MyMakeUpperAndRemoveSpaces(s);
m_listctrl.AddItem(i,0,s);
for(j=1;j<g_nTotalFieldNum;j++)
{
len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,j,g_pFieldBuf);
s=g_dbf.CharToWideChar(g_pFieldBuf,len);
s=MyMakeUpperAndRemoveSpaces(s);
m_listctrl.AddItem(i,j,s);
}
}
if(total>=10)
{
m_s1=_T("1~10");
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(TRUE);
}
else
{
m_s1=_T("1~")+m_s2;
}
GetDlgItem(IDC_BUTTON_LISTALL)->EnableWindow(TRUE);
UpdateData(FALSE);
}
int CAccobook_CEView::StationIn(PBYTE cc,CString s)
{
int nRtn=0;
CString ss=cc;
int pos=ss.Find(s);
if(pos>-1)nRtn=1;
if(s=="")nRtn=1;
return nRtn;
}
int CAccobook_CEView::StationIn2(const char* cc,const char* c)
{
char* ptr=strstr(cc,c);
if(ptr==NULL)return 0;
return 1;
}
void CAccobook_CEView::ReShow()
{
GetDlgItem(IDC_BUTTON_PREV)->EnableWindow(0);
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(0);
//GetDlgItem(IDC_BUTTON_ListAll)->EnableWindow(0);
m_listctrl.DeleteAllItems();
int i ,j ,len;
CString s;
TCHAR cc3[30];
m_nStepNum=0;
g_nTotalRecordNum=g_dbf.GetRecordCount();
wsprintf(cc3,_T("%d"),g_nTotalRecordNum);
m_s2=cc3;
int total=min(10,g_nTotalRecordNum);
if(total<10)
{
m_s1=_T("1~")+m_s2;
}
else
m_s1=_T("1~10");
if(m_nIsListAll)
{
for(i=0;i<total;i++)
{
for(j=0;j<g_nTotalFieldNum;j++)
{
len=g_dbf.ReadFieldStr(i+1,j,g_pFieldBuf);
s=g_dbf.CharToWideChar(g_pFieldBuf,len);
s=MyMakeUpperAndRemoveSpaces(s);
m_listctrl.AddItem(i,j,s);
}
}
}
else
{
for(i=0;i<total;i++)
{
for(j=0;j<g_nTotalFieldNum;j++)
{
len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,j,g_pFieldBuf);
s=g_dbf.CharToWideChar(g_pFieldBuf,len);
s=MyMakeUpperAndRemoveSpaces(s);
m_listctrl.AddItem(i,j,s);
}
}
}
GetDlgItem(IDC_BUTTON_PREV)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(TRUE);
// GetDlgItem(IDC_BUTTON_ListAll)->EnableWindow(1);
UpdateData(FALSE);
}
BOOL CAccobook_CEView::YearMonthDayIn(
double y1,double m1,double d1,
double y2,double m2,double d2,
double y,double m,double d)
{
if(y==y1&&y==y2&&m>=m1&&m<=m2&&d>=d1&&d<=d2)
return 1;
if(y>y1&&y<y2)
return 1;
if(y==y1&&y<y2)
{
if(m>m1)
return 1;
if(m==m1&&d>=d1)
return 1;
else
return 0;
}
if(y==y2&&y>y1)
{
if(m<m2)
return 1;
if(m==m2&&d<=d2)
return 1;
else
return 0;
}
return 0;
}
int CAccobook_CEView::UpdateList(int nField,CString s)//sBeiZhu,sType
{
char sc[101];
int i,j,count=0;
InitCtrl();
m_nIsListAll=0;
int len;
g_wStationsArray.RemoveAll();
g_dbf.WideCharToChar(s,sc);
DWORD l;
for(i=0;i<g_dbf.GetRecordCount();i++)
{
l=g_dbf.ReadFieldStr(i+1,nField,g_pFieldBuf);
if(StationIn2((const char*)g_pFieldBuf,sc))
{
g_wStationsArray.Add(count);
}
count++;
}
RefreshCtrl();
return 1;
}
int CAccobook_CEView::UpdateList2(int nField,CString s1,CString s2)//sShuE1,sShuE2
{
char sc1[101],sc2[101];
int i,j,count=0;
InitCtrl();
m_nIsListAll=0;
int len;
g_wStationsArray.RemoveAll();
TCHAR *stopstring;
double f1=_tcstod(s1,&stopstring);
double f2=_tcstod(s2,&stopstring);
if(f1==0)
f1=-100000000000000;
if(f2==0)
f2=100000000000000;
double f;
DWORD l;
CString s;
for(i=0;i<g_dbf.GetRecordCount();i++)
{
l=g_dbf.ReadFieldStr(i+1,nField,g_pFieldBuf);
s=g_dbf.CharToWideChar(g_pFieldBuf,l);
f=_tcstod(s,&stopstring);
if(f>=f1&&f<=f2)
{
g_wStationsArray.Add(count);
}
count++;
}
RefreshCtrl();
return 1;
}
int CAccobook_CEView::UpdateListByTime(int nField,CString s1,CString s2)//sRIQI1,sRIQI2
{
if(s1=="")s1=_T("0.0.0.");
if(s2=="")s2=_T("2999.12.31.");
CMyTime t1(s1);
CMyTime t2(s2);
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;
//AfxMessageBox(_T("起始日期大于终止日期,重新输入!"));
//return 0;
}
char sc1[101],sc2[101];
int i,j,count=0;
InitCtrl();
m_nIsListAll=0;
int len;
g_wStationsArray.RemoveAll();
DWORD l;
CString s;
for(i=0;i<g_dbf.GetRecordCount();i++)
{
l=g_dbf.ReadFieldStr(i+1,nField,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;
}
int CAccobook_CEView::UpdateListWithAll(CString sType,
CString sShuE1,CString sShuE2,
CString sRIQI1,CString sRIQI2,
CString sBeiZhu,
CString sDaiMa,CString sMingChen)
{
char sc1[101],sc2[101];
int i,j,count=0;
InitCtrl();
m_nIsListAll=0;
int len;
g_wStationsArray.RemoveAll();
char cType[40];
g_dbf.WideCharToChar(sType,cType);
TCHAR *stopstring;
double f1=_tcstod(sShuE1,&stopstring);
double f2=_tcstod(sShuE2,&stopstring);
if(f1==0)
f1=-100000000000000;
if(f2==0)
f2=100000000000000;
if(sRIQI1=="")sRIQI1=_T("0.0.0.");
if(sRIQI2=="")sRIQI2=_T("2999.12.31.");
CMyTime t1(sRIQI1);
CMyTime t2(sRIQI2);
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;
//AfxMessageBox(_T("起始日期大于终止日期,重新输入!"));
//return 0;
}
char cBeiZhu[255];
g_dbf.WideCharToChar(sBeiZhu,cBeiZhu);
char cDaiMa[51];
g_dbf.WideCharToChar(sDaiMa,cDaiMa);
char cMingChen[255];
g_dbf.WideCharToChar(sMingChen,cMingChen);
double f;
DWORD l;
CString s;
for(i=0;i<g_dbf.GetRecordCount();i++)
{
l=g_dbf.ReadFieldStr(i+1,4,g_pFieldBuf);
if(StationIn2((const char*)g_pFieldBuf,cDaiMa))
{
l=g_dbf.ReadFieldStr(i+1,5,g_pFieldBuf);
if(StationIn2((const char*)g_pFieldBuf,cMingChen))
{
l=g_dbf.ReadFieldStr(i+1,1,g_pFieldBuf);
if(StationIn2((const char*)g_pFieldBuf,cType))
{
l=g_dbf.ReadFieldStr(i+1,6,g_pFieldBuf);
if(StationIn2((const char*)g_pFieldBuf,cBeiZhu))
{
l=g_dbf.ReadFieldStr(i+1,2,g_pFieldBuf);
s=g_dbf.CharToWideChar(g_pFieldBuf,l);
f=_tcstod(s,&stopstring);
if(f>=f1&&f<=f2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -