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

📄 operatedlg.cpp

📁 用算法来实现一个收费系统
💻 CPP
📖 第 1 页 / 共 4 页
字号:
	///键入密码
	case 1:
		if(nChar == 0x1b)//ESC
		{
			m_nCurrenBmp = 1;
			m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
			Invalidate();
			m_nStep1 = 0;
			CharNum = 0;
			value =m_nStatu;
		}
		else if((nChar >= 0x30)&&(nChar <= 0x39))
		{
			if(CharNum++<6)
			{
				if(CharNum == 1)
					m_PassWord = "";
				m_PassWord += (char)nChar;
				ShowText(&rect,CharNum,'*');
			}
			else
			{
				CharNum = 8;
			}
			value = m_nStatu;
		}
		else if(nChar == 0x0d)//回车
		{
			if(ComparePassword(&m_PassWord,&m_sManNum))
			{

				CharNum = 0;
				m_PassWord="";
				m_nCurrenBmp = 3;
				m_bShowManNum = TRUE;
				m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
				Invalidate();
				m_nStep1 = 2;
				value = m_nStatu;
				m_nBase_Statu = 1;//上班状态
				
			}
			else
			{
				m_nCurrenBmp = 1;
				m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
				Invalidate();
				m_nStep1 = 0;
				CharNum = 0;
				value =m_nStatu;

			}
		}
		else
		{
			value = m_nStatu;
			m_nStep1 = 1;
		}
		break;
	case 2:
		if(nChar == 0x1b)
		{
			CharNum = 0;
			m_nCurrenBmp = 2;
			m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
			m_bShowManNum = FALSE;
			Invalidate();
			m_nStep1 = 1;
			value = m_nStatu;
		}
		else if((nChar >= 0x30)&&(nChar <= 0x39))
		{
//			if(CharNum++<7)
			if(CharNum++<10)// 2002.4.10 hm add
			{
				if(CharNum == 1)
					m_TicketNum = "";
				m_TicketNum += (char)nChar;
				ShowText(&rect,CharNum, (char)nChar);
			}
			else
			{
				CharNum = 9;
			}
			value = m_nStatu;
		}
		else if(nChar == 0x0d)
		{
			CharNum = 0;
			m_nCurrenBmp = 4;
			m_nTicketNum = atol(m_TicketNum.GetBuffer(10));
			if(m_nTicketNum==0)
			{
				CharNum = 0;
				m_nCurrenBmp = 2;
				m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
				m_bShowManNum = FALSE;
				Invalidate();
				m_nStep1 = 1;
				value = m_nStatu;
			}
			else
			{
				m_nTicketNum-- ;
				m_bShowManNum = TRUE;
				m_bShowTickNum = TRUE;
				m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
				Invalidate();
				m_nStep1 = 0;
				TVShowClass(m_nWorkClass);
				g_nManNum = m_sManNum ;
				g_nTicketNum = m_TicketNum ;
				TVShowTicketNum(atoi(g_nTicketNum.GetBuffer(g_nTicketNum.GetLength()))) ;
				g_BBAK2 = true ;
				value = 2;

				FillTheData(6);
				m_pMainFrame->m_pDatawrite->PostThreadMessage(WM_KEY_PRESS,0,(LONG)&m_dDataUse);
			}
		}
	else
		{
			value = m_nStatu;
		}
		break;
	default:
		value = m_nStatu;
		m_nStep1 = 0;
		break;
	}
	return value;
}
int COperateDlg::Key_CheXing(int nChar)
{
	int value;
	static int CharNum = 0;
	CRect rect(180,8,30,190);
	switch(m_nStep1)
	{
	case 0:
		if(nChar == 0x8 && g_check == 1)//验票
		{
			if(g_code==0)//不带条码的验票代码
			{
				CharNum = 0;
				m_nVehicleType = 0x0c;
				m_nCurrenBmp = 10;
				m_bShowManNum = TRUE;
				m_bShowTickNum = TRUE;
				m_bShowFee = TRUE;
				FeeShowMessage(0);
				m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
				Invalidate();

				m_TxjRead = "K" ;
				m_pMainFrame->m_pNetManger->PostThreadMessage(WM_KEYTXJ_USE,0,(LONG)&m_dDataUse) ;			
				
				m_nStep1 = 0;
				value = 5;
			}
			else
			{
				CharNum = 0;
				m_nVehicleType = 0x0c;
				m_nCurrenBmp = 12;
				m_bShowManNum = TRUE;
				m_bShowTickNum = TRUE;
				m_bShowFee = TRUE;
				m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
				Invalidate();
				FeeShowMessage(0);
				m_nStep1 = 0;
				value = 6;
				m_TxjRead = "K" ;
				m_pMainFrame->m_pNetManger->PostThreadMessage(WM_KEYTXJ_USE,0,(LONG)&m_dDataUse) ;			
			}

		}
		else if(nChar == 0x71)
		{
			CharNum = 0;
			m_nCurrenBmp = 5;
			m_bShowManNum = TRUE;
			m_bShowTickNum = FALSE;
			m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
			Invalidate();
			m_nStep1 = 0;
			value = 3;
			CharNum = 0;

		}
		else if(nChar == 0x74)//车队
		{
			CharNum = 0;

			m_nVehicleType = 0x0b;

			m_nTicketNum++;
			m_TicketNum.Format("%d",m_nTicketNum);
//wangyu
			g_nTicketNum = m_TicketNum ;
//wangyu

			m_nCurrenBmp = 6;
			m_bShowManNum = TRUE;
			m_bShowTickNum = TRUE;
			m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
			Invalidate();
			m_nStep1 = 0;
			value = 4;
			CharNum = 0;
		}
		else if((nChar >= 0x75)&&(nChar <= 0x78))
		{
			CharNum = 0;
			if (nChar == 0x77)
			{
				m_nVehicleType = 7;
			}
			if (nChar == 0x76)
			{
				m_nVehicleType = 8;
			}
			if (nChar == 0x75)
			{
				m_nVehicleType = 9;
			}
			if (nChar == 0x78)
			{
				m_nVehicleType = 0x0a;
			}
			m_nCurrenBmp = 10;
			m_bShowManNum = TRUE;
			m_bShowTickNum = TRUE;
			m_bShowFee = TRUE;
			//Play_Sound(m_nVehicleType);
			FeeShowMessage(0);
/*			if((nChar >= 0x75)&&(nChar <= 0x78))
			{
				FeeShowMessage(0);
			}
			else
			{
				FeeShowMessage(m_nVehicleType);
			}
*/			m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
			Invalidate();

			m_TxjRead = "K" ;
			m_pMainFrame->m_pNetManger->PostThreadMessage(WM_KEYTXJ_USE,0,(LONG)&m_dDataUse) ;			
			
			m_nStep1 = 0;
	        value = 5;
		}
		else if(nChar == 0x30)
		{
			if(g_Print==1)
			{
					PrintStation();
			}
			value = m_nStatu;
				
		}
		else if((nChar >= 0x31)&&(nChar <= 0x36))
		{
			CharNum = 0;
			m_nVehicleType = nChar &0x0f;
			m_nCurrenBmp = 10;
			m_nTicketNum++;
			m_TicketNum.Format("%d",m_nTicketNum);
//wangyu
			g_nTicketNum = m_TicketNum ;
//wangyu
			m_bShowManNum = TRUE;
			m_bShowTickNum = TRUE;
			m_bShowFee = TRUE;
			if(g_Print==1)
			{
//				PrintStation();
				PrintMessage(m_nVehicleType);
			}
//barcode
//			m_pMainView->PostMessage(ID_FILE_PRINT,0,0) ;
//barcode
			FeeShowMessage(m_nVehicleType);
			m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);

			Invalidate();
			m_TxjRead = "K" ;
//			m_pMainFrame->m_pDatawrite->PostThreadMessage(WM_KEYTXJ_PRESS,0,(LONG)&m_dDataUse);
			m_pMainFrame->m_pNetManger->PostThreadMessage(WM_KEYTXJ_USE,0,(LONG)&m_dDataUse) ;			
			m_nStep1 = 0;
	        value = 5;
			Play_Sound(m_nFee[m_nVehicleType]);
			Sleep(100);//2001.10.18
		}
		else
		{
			value = m_nStatu;
		}
	break;
	default:
		value = m_nStatu;
		break;
	}
	return value;
}
int COperateDlg::Key_XiaBan(int nChar)
{
	int value;
	static int CharNum = 0;
	CRect rect(145,17,30,190);
	switch(m_nStep1)
	{
	case 0:
		if(nChar == 0x1b)
		{
			CharNum = 0;
			m_nCurrenBmp = 4;
			m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
			m_bShowManNum = TRUE;
			m_bShowTickNum = TRUE;
			Invalidate();
			m_nStep1 = 0;
			value = 2;
		}
		else if((nChar >= 0x30)&&(nChar <= 0x39))
		{
			if(CharNum++<6)
			{
				if(CharNum == 1)
					m_PassWord = "";
				m_PassWord += (char)nChar;
				ShowText(&rect,CharNum,'*');
			}
			else
			{
				CharNum = 8;
			}
			value = m_nStatu;
		}
		else if(nChar == 0x0d)
		{
			if(ComparePassword(&m_PassWord,&m_sManNum))
			{
				CharNum = 0;
				m_nCurrenBmp = 0;
				m_bShowManNum = FALSE;
				m_bShowTickNum = FALSE;
				TVShowTicketNum(0) ;
				m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
				Invalidate();
//				AfxBeginThread(Bar_Down,NULL,THREAD_PRIORITY_NORMAL);
				m_pMainView->SendMessage(WM_CHANGE_TLAMP,1,0);
				m_pMainView->SendMessage(WM_CHANGE_BAR,1,0);
				FillTheData(7);
				m_pMainFrame->m_pDatawrite->PostThreadMessage(WM_KEY_PRESS,0,(LONG)&m_dDataUse);
				m_sManNum = "0000" ;
				TVShowClass(0);
				g_nTicketNum = "0000000000" ;
				g_BBAK2 = false ;
				m_nStep1 = 0;
				value = 0;
				m_TicketNum="";
			}
			else
			{
				CharNum = 0;
				m_nCurrenBmp = 4;
				m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
				m_bShowManNum = TRUE;
				m_bShowTickNum = TRUE;
				Invalidate();
				m_nStep1 = 0;
				value = 2;
			}

		}
	else
		{
			value = m_nStatu;
		}
		break;
	default:
		value = m_nStatu;
		break;
	}
	return value;
}
int COperateDlg::Key_CheDui(int nChar)
{
	int value;
	static int CharNum = 0;
	CRect rect(245,13,30,190);
	switch(m_nStep1)
	{
	case 0:
		if(nChar == 0x1b)
		{
			CharNum = 0;
			m_nCurrenBmp = 4;
			m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
			m_nTicketNum--;
			m_TicketNum.Format("%d",m_nTicketNum);
//wangyu
			g_nTicketNum = m_TicketNum ;

			m_bShowManNum = TRUE;
			m_bShowTickNum = TRUE;
			Invalidate();
			m_nStep1 = 0;
			value = 2;
		}
		else if((nChar >= 0x30)&&(nChar <= 0x39))
		{
			if(CharNum++<3)
			{
				if(CharNum == 1)
					m_sFee = "";
				m_sFee += (char)nChar;
				ShowText(&rect,CharNum,(char)nChar);
			}
			else
			{
				CharNum = 5;
			}
			value = m_nStatu;
			m_nStep1 = 0;
		}
		else if(nChar == 0x0d)
		{
			if(CharNum==0)
			{
				m_nCurrenBmp = 6;
				m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
				m_bShowManNum = TRUE;
				m_bShowTickNum = TRUE;
				Invalidate();
				m_nStep1 = 0;
				value = m_nStatu;
				return m_nStatu;
			}
			CharNum = 0;
			m_nCurrenBmp = 7;
			m_bShowManNum = TRUE;
			m_bShowTickNum = TRUE;
			m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
			Invalidate();
			g_nCheXing.Format("%d",11) ;
			g_nFeie = m_sFee ;
			TZCheFee = atoi(m_sFee.GetBuffer(m_sFee.GetLength())) ;
			//FeeShowEnd();
			FeeShowMessage(9) ;	//车队费显时,显示9
			TVShowTZType(5,TZCheFee);
			TVShowTicketNum(atoi(g_nTicketNum.GetBuffer(g_nTicketNum.GetLength()))) ;

			m_TxjRead = "K" ;
			m_pMainFrame->m_pNetManger->PostThreadMessage(WM_KEYTXJ_USE,0,(LONG)&m_dDataUse) ;			
			if(g_Print==1 && atoi(m_sFee)!=0)
			{
//				PrintStation();
				PrintMessage(m_nVehicleType);
			}
			m_nStep1 = 1;
			value = m_nStatu;
		}
		else
		{
			value = m_nStatu;
		}
		break;
	case 1:
		if(nChar == 0x1b)
		{
			CharNum = 0;
			m_nCurrenBmp = 8;
			m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
			if(atoi(m_sFee)==0)
			{
				m_nTicketNum--;
				m_TicketNum.Format("%d",m_nTicketNum);
	//wangyu
				g_nTicketNum = m_TicketNum ;

			}
			m_bShowManNum = FALSE;
			m_bShowTickNum = FALSE;
			Invalidate();
			m_nStep1 = 2;
			value = m_nStatu;
			SetTimer(IDT_SHOWMES,2000,NULL);
			if(g_Print==1)
			{
				PrintStation();
			}
			FeeShowEnd() ;
			FillTheData(2);
			m_pMainFrame->m_pDatawrite->PostThreadMessage(WM_KEY_PRESS,0,(LONG)&m_dDataUse);

		}
		else if(nChar == 0x0d)
		{
			CharNum = 0;
			m_nCurrenBmp = 9;
			m_DIB.LoadFromFile(m_HelpFilename[m_nCurrenBmp]);
			if(atoi(m_sFee)==0)
			{
				m_nTicketNum--;
				m_TicketNum.Format("%d",m_nTicketNum);
	
				g_nTicketNum = m_TicketNum ;

			}
			m_bShowManNum = TRUE;
			m_bShowTickNum = TRUE;
			Invalidate();
			_outp(0x3e2,0x20) ;//持续上升信号
			if(g_Print==1)
			{
				PrintStation();
			}
			FeeShowEnd() ;
			m_pMainView->SendMessage(WM_CHANGE_BAR,0,0);
			m_pMainView->SendMessage(WM_CHANGE_TLAMP,0,0);

			FillTheData(5);
			m_pMainFrame->m_pDatawrite->PostThreadMessage(WM_KEY_PRESS,0,(LONG)&m_dDataUse);
			m_TxjRead = "N" ;

			m_pMainFrame->m_pNetManger->PostThreadMessage(WM_KEYTXJ_USE,0,(LONG)&m_dDataUse) ;			

			m_nStep1 = 3;
			value = m_nStatu;
		}
		else
		{
			value = m_nStatu;
		}

		break;

⌨️ 快捷键说明

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