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

📄 airtime_ceview.cpp

📁 本软件主要是使用数据库函数和字符串函数来显示民航时刻表。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
if(nCurSel==CB_ERR)
	{
	pCombo->GetWindowText(s);
	}
else
	{
	pCombo->GetLBText(nCurSel,s);
	}
if(s=="")return;
InitCtrl();

if(s==arrDays[0]||MyMakeUpperAndRemoveSpaces(s)==arrDays[0])
	{
	m_nIsListAll=1;
	}
else
	m_nIsListAll=0;

int i=0;
int j;
TCHAR cc[20];
int len;
if(m_nIsListAll)
	{
	ShowAll();
	return;
	}

int count=0;
s=MyMakeUpperAndRemoveSpaces(s);
g_wStationsArray.RemoveAll();
DWORD l;
for(i=0;i<g_dbf.GetRecordCount();i++)
	{
	l=g_dbf.ReadFieldStr(i+1,5,g_pFieldBuf);
	if(StationIn(g_pFieldBuf,s))
		{
		g_wStationsArray.Add(count);
		}
	count++;
	}

RefreshCtrl();
}

void CAirtime_CEView::OnBUTTONListAll() 
{
if(m_nIsListAll)
	return;
else
	m_nIsListAll=1;
int count=0;
for(int i=0;i<g_dbf.GetRecordCount();i++)
	{
	g_wStationsArray.Add(count);
	count++;
	}

ShowAll();
}

void CAirtime_CEView::OnBUTTONNext() 
{
if(m_nStepNum>(g_nTotalRecordNum/10-1))
	{
	GetDlgItem(IDC_BUTTON_Next)->EnableWindow(FALSE);
	return;
	}
GetDlgItem(IDC_BUTTON_Prev)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_Next)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_Start)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_Endstop)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_Days)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_Flightno)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_SearchAll)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_ListAll)->EnableWindow(FALSE);

m_listctrl.DeleteAllItems();
m_nStepNum++;
int i;
int j;
int start=10*m_nStepNum;
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;
for(i=start;i<end;i++)
	{
	len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,5,g_pFieldBuf);
	s=g_dbf.CharToWideChar(g_pFieldBuf,len);
	s=MyMakeUpperAndRemoveSpaces(s);
	m_listctrl.AddItem(i-start,0,s);
	for(j=1;j<3;j++)
		{
		len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,j-1,g_pFieldBuf);
		s=g_dbf.CharToWideChar(g_pFieldBuf,len);
		s=MyMakeUpperAndRemoveSpaces(s);
		m_listctrl.AddItem(i-start,j,s);
		}
	len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,3,g_pFieldBuf);
	s=g_dbf.CharToWideChar(g_pFieldBuf,len);
	s=MyMakeUpperAndRemoveSpaces(s);
	m_listctrl.AddItem(i-start,3,s);
	len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,4,g_pFieldBuf);
	s=g_dbf.CharToWideChar(g_pFieldBuf,len);
	s=MyMakeUpperAndRemoveSpaces(s);
	m_listctrl.AddItem(i-start,4,s);
	
	len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,2,g_pFieldBuf);
	s=g_dbf.CharToWideChar(g_pFieldBuf,len);
	s=MyMakeUpperAndRemoveSpaces(s);
	m_listctrl.AddItem(i-start,5,s);
	
	for(j=6;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);
GetDlgItem(IDC_BUTTON_Start)->EnableWindow(1);
GetDlgItem(IDC_BUTTON_Endstop)->EnableWindow(1);
GetDlgItem(IDC_BUTTON_Days)->EnableWindow(1);
GetDlgItem(IDC_BUTTON_Flightno)->EnableWindow(1);
GetDlgItem(IDC_BUTTON_SearchAll)->EnableWindow(1);
GetDlgItem(IDC_BUTTON_ListAll)->EnableWindow(1);

UpdateData(FALSE);
}

void CAirtime_CEView::OnBUTTONPrev() 
{
if(m_nStepNum<1)
	{
	GetDlgItem(IDC_BUTTON_Prev)->EnableWindow(FALSE);
	return;
	}
GetDlgItem(IDC_BUTTON_Prev)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_Next)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_Start)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_Endstop)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_Days)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_Flightno)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_SearchAll)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_ListAll)->EnableWindow(FALSE);

m_listctrl.DeleteAllItems();
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;
for(i=start;i<end;i++)
	{
	len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,5,g_pFieldBuf);
	s=g_dbf.CharToWideChar(g_pFieldBuf,len);
	s=MyMakeUpperAndRemoveSpaces(s);
	m_listctrl.AddItem(i-start,0,s);
	for(j=1;j<3;j++)
		{
		len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,j-1,g_pFieldBuf);
		s=g_dbf.CharToWideChar(g_pFieldBuf,len);
		s=MyMakeUpperAndRemoveSpaces(s);
		m_listctrl.AddItem(i-start,j,s);
		}
	len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,3,g_pFieldBuf);
	s=g_dbf.CharToWideChar(g_pFieldBuf,len);
	s=MyMakeUpperAndRemoveSpaces(s);
	m_listctrl.AddItem(i-start,3,s);
	len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,4,g_pFieldBuf);
	s=g_dbf.CharToWideChar(g_pFieldBuf,len);
	s=MyMakeUpperAndRemoveSpaces(s);
	m_listctrl.AddItem(i-start,4,s);
	
	len=g_dbf.ReadFieldStr(g_wStationsArray[i]+1,2,g_pFieldBuf);
	s=g_dbf.CharToWideChar(g_pFieldBuf,len);
	s=MyMakeUpperAndRemoveSpaces(s);
	m_listctrl.AddItem(i-start,5,s);
	
	for(j=6;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);
GetDlgItem(IDC_BUTTON_Start)->EnableWindow(1);
GetDlgItem(IDC_BUTTON_Endstop)->EnableWindow(1);
GetDlgItem(IDC_BUTTON_Days)->EnableWindow(1);
GetDlgItem(IDC_BUTTON_Flightno)->EnableWindow(1);
GetDlgItem(IDC_BUTTON_SearchAll)->EnableWindow(1);
GetDlgItem(IDC_BUTTON_ListAll)->EnableWindow(1);

UpdateData(FALSE);
}
void CAirtime_CEView::OnSelendokCOMBODays() 
{
}


int  CAirtime_CEView::UpdateList(int nField,CString s)
{
char sc[101];
WCHAR cc[20];
int i,j,count=0;

InitCtrl();

if(s==arrDays[0])
	{
	m_nIsListAll=1;
	}
else
	m_nIsListAll=0;
int len;
if(m_nIsListAll)
	{
	ShowAll();
	return 1;
	}

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-1,g_pFieldBuf);
	if(StationIn2((const char*)g_pFieldBuf,sc))
		{
		g_wStationsArray.Add(count);
		}
	count++;
	}
RefreshCtrl();
return 1;
}

void CAirtime_CEView::OnBUTTONStart() 
{
CString s;
CComboBox* pCombo=(CComboBox*)GetDlgItem(IDC_COMBO_Start);
int nCurSel=pCombo->GetCurSel();
if(nCurSel==CB_ERR)
	{
	pCombo->GetWindowText(s);
	}
else
	{
	pCombo->GetLBText(nCurSel,s);
	}
if(s=="")return;
UpdateList(1,s);
}

void CAirtime_CEView::OnBUTTONSearchAll() 
{
CString sFlightno="";
CComboBox* pCombo=(CComboBox*)GetDlgItem(IDC_COMBO_Flightno);
int nCurSel=pCombo->GetCurSel();
if(nCurSel==CB_ERR)
	{
	pCombo->GetWindowText(sFlightno);
	}
else
	{
	pCombo->GetLBText(nCurSel,sFlightno);
	}
CString sBuf="";
CString sStart;
CComboBox* pComboStart=(CComboBox*)GetDlgItem(IDC_COMBO_Start);
int nCurSelStart=pComboStart->GetCurSel();
if(nCurSelStart==CB_ERR)
	{
	pComboStart->GetWindowText(sStart);
	}
else
	{
	pComboStart->GetLBText(nCurSelStart,sStart);
	}
CString sEndstop;
CComboBox* pComboEndstop=(CComboBox*)GetDlgItem(IDC_COMBO_Endstop);
int nCurSelEndstop=pComboEndstop->GetCurSel();
if(nCurSelEndstop==CB_ERR)
	{
	pComboEndstop->GetWindowText(sEndstop);
	}
else
	{
	pComboEndstop->GetLBText(nCurSelEndstop,sEndstop);
	}
CString sDays;
CComboBox* pComboDays=(CComboBox*)GetDlgItem(IDC_COMBO_Days);
int nCurSelDays=pComboDays->GetCurSel();
if(nCurSelDays==CB_ERR)
	{
	pComboDays->GetWindowText(sDays);
	}
else
	{
	pComboDays->GetLBText(nCurSelDays,sDays);
	}
if(sStart==""&&sEndstop==""&&sDays==""&&sFlightno=="")
   return;
GetDlgItem(IDC_BUTTON_Prev)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_Next)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_Start)->EnableWindow(0);
GetDlgItem(IDC_BUTTON_Endstop)->EnableWindow(0);
GetDlgItem(IDC_BUTTON_Days)->EnableWindow(0);
GetDlgItem(IDC_BUTTON_Flightno)->EnableWindow(0);
GetDlgItem(IDC_BUTTON_SearchAll)->EnableWindow(0);
GetDlgItem(IDC_BUTTON_ListAll)->EnableWindow(0);

m_nStepNum=0;	
g_nTotalRecordNum=0;
m_s2=_T("0");
m_s1=_T("0");
m_listctrl.DeleteAllItems();
UpdateData(FALSE);
if(sFlightno==arrDays[0])
	sFlightno="";
if(sStart==arrDays[0])
	sStart="";
if(sEndstop==arrDays[0])
	sEndstop="";
if(sDays==arrDays[0])
	sDays="";
if(sStart==""&&sEndstop==""&&sDays==""&&sFlightno=="")
	m_nIsListAll=1;
else
	m_nIsListAll=0;
int i=0;
int j;
CString s;
WCHAR cc3[200];
char sc1[200],sc2[200];
int len;
if(m_nIsListAll)
	{
	ShowAll();
	return;
	}
sStart=MyMakeUpperAndRemoveSpaces(sStart);
sEndstop=MyMakeUpperAndRemoveSpaces(sEndstop);
g_dbf.WideCharToChar(sStart,sc1);
g_dbf.WideCharToChar(sEndstop,sc2);
sFlightno=MyMakeUpperAndRemoveSpaces(sFlightno);

int count=0;
g_wStationsArray.RemoveAll();

DWORD l;
for(i=0;i<g_dbf.GetRecordCount();i++)
	{
	if(nCurSelDays!=CB_ERR&&nCurSelDays!=0)
		{
		l=g_dbf.ReadFieldStr(i+1,2,g_pFieldBuf);
		if(DaysIn(g_pFieldBuf,nCurSelDays))
			{
			l=g_dbf.ReadFieldStr(i+1,0,g_pFieldBuf);
			if(StationIn2((const char*)g_pFieldBuf,sc1))
				{
				l=g_dbf.ReadFieldStr(i+1,1,g_pFieldBuf);
				if(StationIn2((const char*)g_pFieldBuf,sc2))
					{
					l=g_dbf.ReadFieldStr(i+1,5,g_pFieldBuf);
					if(StationIn(g_pFieldBuf,sFlightno))
						g_wStationsArray.Add(count);
					}
				}
			}
		}
	else
		{
		l=g_dbf.ReadFieldStr(i+1,0,g_pFieldBuf);
		if(StationIn2((const char*)g_pFieldBuf,sc1))
			{
			l=g_dbf.ReadFieldStr(i+1,1,g_pFieldBuf);
			if(StationIn2((const char*)g_pFieldBuf,sc2))
				{
				l=g_dbf.ReadFieldStr(i+1,5,g_pFieldBuf);
				if(StationIn(g_pFieldBuf,sFlightno))
					g_wStationsArray.Add (count);
				}
			}
		}
	count++;
	}
RefreshCtrl();
}

void CAirtime_CEView::OnDestroy() 
{
	CFormView::OnDestroy();
	delete[] g_pFieldBuf;
	g_dbf.CloseDbf();
}

CString CAirtime_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 CAirtime_CEView::OnMenuitem32772() 
{
	CBeiZhuInfoDlg	dlg;
	dlg.DoModal();
}

⌨️ 快捷键说明

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