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

📄 seriesportdlg.cpp

📁 通过COM1与单片机通讯的界面程序
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	     ((CListCtrl*)GetDlgItem(IDC_LIST3))->SetItemText(0,2,btard7); 
	     CTime time=CTime::GetCurrentTime();
	     CString ddtime= time.Format("%m/%d %H:%M %S");
         file1.Seek(long(10+filehead),CFile::begin);
         file1.Write(ddtime,ddtime.GetLength());

         file1.Seek(long(91+filehead+11+20+18+5),CFile::begin);
        file1.Write(btard7,sizeof(btard7));

         
	     }

	if(ItemCode=='G')
			{
			char btard8[5];
	        ltoa(ARDnow[xp_new],btard8,16);
	        ((CListCtrl*)GetDlgItem(IDC_LIST3))->SetItemText(18,2,btard8);
			file1.Seek(long(91+filehead+5),CFile::begin);
			file1.Write(btard8,sizeof(btard8));
	         }

	if(ItemCode=='I')
			{
				char btard9[5];
	        ltoa(ARDnow[xp_new],btard9,16);
	        ((CListCtrl*)GetDlgItem(IDC_LIST3))->SetItemText(19,2,btard9);
	       file1.Seek(long(91+filehead+9),CFile::begin);
			file1.Write(btard9,sizeof(btard9));
	         }


            if(ItemCode=='T')
			{
				char btardb[4];
	        ltoa(ARDnow[xp_new],btardb,16);
	        ((CListCtrl*)GetDlgItem(IDC_LIST3))->SetItemText(1,2,btardb); 
	        file1.Seek(long(89*2+filehead+18+6),CFile::begin);
           file1.Write(btardb,sizeof(btardb));
			}

			if(ItemCode=='U')
			{
				char btard8[4];
	        ltoa(ARDnow[xp_new],btard8,16);
	        ((CListCtrl*)GetDlgItem(IDC_LIST3))->SetItemText(2,2,btard8); 
	         file1.Seek(long(89*2+filehead+35+6),CFile::begin);
        file1.Write(btard8,sizeof(btard8));
			}

			if(ItemCode=='V')
			{
				char btard9[4];
	        ltoa(ARDnow[xp_new],btard9,16);
	        ((CListCtrl*)GetDlgItem(IDC_LIST3))->SetItemText(3,2,btard9); 
	         file1.Seek(long(89*2+filehead+52+6),CFile::begin);
        file1.Write(btard9,sizeof(btard9));
			}

			if(ItemCode=='W')
			{
				char btarda[4];
	        ltoa(ARDnow[xp_new],btarda,16);
	        ((CListCtrl*)GetDlgItem(IDC_LIST3))->SetItemText(4,2,btarda); 
	        file1.Seek(long(89*2+filehead+69+6),CFile::begin);
        file1.Write(btarda,sizeof(btarda));
			}

		}

      	char stt[2];
    	      for(int i=0;i<21;i++)
		for(int j=0;j<2;j++)
		{    ((CListCtrl*)GetDlgItem(IDC_LIST2))->GetItemText(i,3*j+1,stt,sizeof(stt));
         	if(stt[0]==ItemCode)
			{  char btard[5];
	           ltoa(ARDnow[xp_new],btard,16);
	          ((CListCtrl*)GetDlgItem(IDC_LIST2))->SetItemText(i,3*j+2,btard);  
			}
		
		}

	}	break;

	default:break;
}
	
	CDialog::OnTimer(nIDEvent);
}

void CSeriesPortDlg::OnCancelMode() 
{
	CDialog::OnCancelMode();
	
	// TODO: Add your message handler code here
	
}

/*void CSeriesPortDlg::OnDisplay() 
{
	// TODO: Add your control notification handler code here
	 
	DWORD dwThreadRe;
	GetExitCodeThread(hCommThread,&dwThreadRe);
  GetDlgItem(IDC_BUTTON4)->EnableWindow(TRUE);
  ::TerminateThread(hCommThread,dwThreadRe);
	SetTimer(1,100,NULL);
  GetDlgItem(IDC_LIST1)->ShowWindow(TRUE);
  GetDlgItem(IDC_LIST2)->ShowWindow(TRUE);
  GetDlgItem(IDC_STATIC2)->ShowWindow(TRUE);
  GetDlgItem(IDC_STATIC3)->ShowWindow(TRUE);
  
	 // GetDlgItem(IDC_BUTTON3)->EnableWindow(FALSE);
for(int jj=0;jj<20;jj++)
		for(int kk=0;kk<100;kk++)
	InforBuff[jj][kk]='\0';
Invalidate(TRUE);
}*/

//void CSeriesPortDlg::OnStartTest() 
//{
	// TODO: Add your control notification handler code here
		
//	for(int jj=0;jj<20;jj++)
//		for(int kk=0;kk<100;kk++)
//	InforBuff[jj][kk]='\0';
//	BuffAdd=0;


  
//GetDlgItem(IDC_BUTTON4)->EnableWindow(FALSE);

//GetDlgItem(IDC_BUTTON3)->EnableWindow(TRUE);
//}
void CSeriesPortDlg::OnSendCmd(WPARAM wParam)
{
	KeyforSend1((char)wParam);
}

void CSeriesPortDlg::ExPrint()
{

  


}

//void CSeriesPortDlg::OnBeep() 
//{
	// TODO: Add your control notification handler code here
	//	Beep(300,20);Sleep(3);Beep(300,20);Sleep(3);Beep(300,20);
	
//}
void CSeriesPortDlg::IsoImages() 
{     
	if(BuffAdd>=20)
	{for(int jj=0;jj<20;jj++)
		for(int kk=0;kk<100;kk++)
	InforBuff[jj][kk]='\0';

	for(int xx=0;InforBuff[20][xx]!='\0';xx++)
	InforBuff[0][xx]=InforBuff[20][xx];	

	BuffAdd=0;
	InvalidateRect(CRect(50,50 ,600,700),TRUE);
	}

		CDC *pDC=GetDC();
	pDC->SetBkColor(RGB(30,125,0));
	pDC->SetBkMode(TRANSPARENT);
	pDC->SetTextColor(RGB(20,0,127));
	//InvalidateRect(CRect(70,50+20*BuffAdd, 600,70+20*BuffAdd),TRUE);
	for(int i=0;i<=BuffAdd;i++)
  	pDC->TextOut(70,50+20*i,InforBuff[i]);
	//::ReleaseDC(m_hWnd,*pDC);

	::ReleaseDC(m_hWnd,*pDC);
}

//void CSeriesPortDlg::OnV30() 
//{
	// TODO: Add your control notification handler code here
//	ddata=0x0002;
//	KeyforSend1('#');
	
//}

//void CSeriesPortDlg::OnV27() 
//{
	// TODO: Add your control notification handler code here
//	ddata=0x0001;
//	KeyforSend1('#');
	
//}

//void CSeriesPortDlg::OnV255() 
//{
	// TODO: Add your control notification handler code here
//	ddata=0x0004;
//	KeyforSend1('#');
	
//}



void CSeriesPortDlg::OnButton6() 
{
	// TODO: Add your control notification handler code here
    UpdateData(TRUE);
	if(m_dutdata.GetLength()<4||m_item.GetLength()<1)
		MessageBox("请输入4个字符!及正确的ITEM");
	else 


	{
		DWORD res;
	DWORD factdata = 0;
	char KeyinData[10];
 	char SendLength=6;
	long ChkSumS=0;
	KeyinData[0]=STX;
 	KeyinData[1]=m_item[0];
   	sprintf(KeyinData+2,"%s",m_dutdata);//Visual C++同样支持c 的函数!
    ChkSumS=ASC2toI(KeyinData+2)+ASC2toI(KeyinData+4)+(KeyinData[1]-'A'+0x0041);
    ChkSumS=ChkSumS%0x0100;
    sprintf(KeyinData+SendLength,"%02lX",ChkSumS);//Visual C++同样支持c 的函数!
	KeyinData[SendLength+2]=CR;
	KeyinData[SendLength+3]='\0';
   	str=KeyinData;  
    wOverLaped.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL);//创建一个事件对象
	//IsStop = FALSE;
	if (WriteFile(hCom,str,str.GetLength(),&factdata,&wOverLaped))//开始发送数据
	{
		//IsStop = TRUE;
		MessageBox("发送成功");
	}
	else
	{
		res = WaitForSingleObject(wOverLaped.hEvent,50); //延时5秒,等待数据发送
		if (WAIT_OBJECT_0 == res)//如果事件处于有信号状态,表示发送完成
		{
			//IsStop = TRUE;
		}
		else
			//IsStop = FALSE;

		Sleep(10); //延时1秒钟		
	}	
	}

	

//	MessageBox(" OperatTion OK!");

}

void CSeriesPortDlg::OnLButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
//	MessageBox("这表示释放了鼠标左键");
	
	CDialog::OnLButtonUp(nFlags, point);
}

void CSeriesPortDlg::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
//	MessageBox("这表示按下了鼠标左键");
	
	CDialog::OnLButtonDown(nFlags, point);
}

void CSeriesPortDlg::OnSize(UINT nType, int cx, int cy) 
{
	CDialog::OnSize(nType, cx, cy);
	
	// TODO: Add your message handler code here
//	CRect* initrect;
	//GetWindowRect(initrect);
//	if(!(initrect->IsRectNull()))
//	MessageBox("这表示ONSIZE消息被发送");
	RECT   rctScreen;   
  ::GetClientRect(::GetDesktopWindow(),   &rctScreen);   
 // m_statusbar.MoveWindow(0,-100+rctScreen.bottom,rctScreen.right,20,FALSE);

	RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);

}

//DEL void CSeriesPortDlg::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
//DEL {
//DEL 	// TODO: Add your message handler code here and/or call default
//DEL 	//if((nFlags&0x0100)==0x0100)
//DEL 	//{
//DEL 		if((nChar=='r')||(nChar=='R'))
//DEL 		{ // CSeriesPortDlg::OnButton1() ;
//DEL 			MessageBox("字母R按下了");
//DEL 		}
//DEL //	}
//DEL 	
//DEL 	CDialog::OnChar(nChar, nRepCnt, nFlags);
//DEL }

void CSeriesPortDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
	// TODO: Add your message handler code here and/or call default
	
	
	CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
	
}

BOOL CSeriesPortDlg::PreTranslateMessage(MSG* pMsg) 
{
	// TODO: Add your specialized code here and/or call the base class
//	if(pMsg->message==WM_KEYUP)
	//	MessageBox("处理了按键释放消息");

	
	return CDialog::PreTranslateMessage(pMsg);
}

void CSeriesPortDlg::OnHUBPIN15() 
{
	// TODO: Add your control notification handler code here
		ddata=0x0008;
	KeyforSend1('#');
	
}

//void CSeriesPortDlg::OnButton8() 
//{
	// TODO: Add your control notification handler code here
	
  
  
//}

void CSeriesPortDlg::OnClose() 
{
	// TODO: Add your message handler code here and/or call default
	file1.Close();
	CDialog::OnClose();
}



void CSeriesPortDlg::OnTH() 
{
	// TODO: Add your control notification handler code here
	char THmin[42][12]={"Ath2","Bth","Cth","QambBs","TIbbTs","TIambT",
                 "GNI","Rvtco","SdPER","BatMed","BatLow","fTH8E2R","Mcount","CAQAfg",
                 "SN_MSB","","","","","","","SN_LSB","TIoral","MeaTHigh","FevTemp","MeaTLow","TIrvtco","AOffset",
                 "Kamb1","Kamb2","PDStatus","DUTver","DUTpara5","DUTpara6","SKinHi","SKinLo",
				 "","","","","","",};
                 char THitem[42][2]={"D","b","c","d","L","f","g","h","i","j","k","p","n","o","G","","","","","","",
                 "I","T","M","N","O","m","l","q","U","s","Z","r","y","V","W"
				 "","","","","",""};
   for(int i=0;i<=41;i++)
    {  if(i>=0&&i<=20)
    ((CListCtrl*)GetDlgItem(IDC_LIST2))->SetItemText(20-i,0,THmin[20-i]);
       else if(i>=21)
	((CListCtrl*)GetDlgItem(IDC_LIST2))->SetItemText(i-21,3,THmin[i]);//3表示列
	   else;
    }//4
  for( i=0;i<=20;i++)
  {((CListCtrl*)GetDlgItem(IDC_LIST2))->SetItemText(i,1,THitem[i]);//1表示列
  ((CListCtrl*)GetDlgItem(IDC_LIST2))->SetItemText(i,4,THitem[i+21]);}//1表示列


for(int ip=0;ip<21;ip++)
              for(int jp=0;jp<2;jp++)
			   ((CListCtrl*)GetDlgItem(IDC_LIST2))->SetItemText(ip,3*jp+2,"");  	
}

void CSeriesPortDlg::OnTN1() 
{
	// TODO: Add your control notification handler code here
char TN1min[42][12]={"Ath2","Bth","Cth","QambBs","TIbbTs","TIambT",
"GNI","Rvtco","SdPER","BatMed","BatLow","RDModCtl","EmissLow","MeaThigh","SN_MSB","SN_LSB",
"","","","","","CtrlFg","ExtPCtrl","Emiss","MeaTLow","TIrvtco","AOffset","Wbb0","Wbb1",
"Wbb2","Wbb3","DUTver","Wamb0","Wamb1","Wamb2","Wamb3","","","","","",""};

char TN1item[42][2]={"D","b","c","d","L","f","g","h","i","j","k","y","`","M","G","I",
"","","","","","r","K","S","O","m","l","T","U","V","W","Z","n","o","p","q","","","",
"","",""};
                 for(int i=0;i<=41;i++)
    {  if(i>=0&&i<=20)
    ((CListCtrl*)GetDlgItem(IDC_LIST2))->SetItemText(20-i,0,TN1min[20-i]);
       else if(i>=21)
	((CListCtrl*)GetDlgItem(IDC_LIST2))->SetItemText(i-21,3,TN1min[i]);//3表示列
	   else;
    }//4
  for( i=0;i<=20;i++)
  {((CListCtrl*)GetDlgItem(IDC_LIST2))->SetItemText(i,1,TN1item[i]);//1表示列
  ((CListCtrl*)GetDlgItem(IDC_LIST2))->SetItemText(i,4,TN1item[i+21]);}//1表示列
			 
for(int ip=0;ip<21;ip++)
              for(int jp=0;jp<2;jp++)
			   ((CListCtrl*)GetDlgItem(IDC_LIST2))->SetItemText(ip,3*jp+2,"");  			 
	
}

void CSeriesPortDlg::OnTN4() 
{
	// TODO: Add your control notification handler code here
	char TN4min[42][12]={"Ath2","Bth","Cth","QambBs","TIbbTs","TIambT",
"GNI","Rvtco","SdPER","BatMed","BatLow","GNJ","SpMode","MeaTHigh","SN_MSB","SN_LSB",
"","","","","","CtrlFg","ExtPCtrl","Emiss","MeaTLow","LCDCon","AOffset","GNRatio0",
"GNRatio1","GNRatio2","GNSwLv1","GNSwLv2","QdnRTB","DUTver","WIenIdx","WIenData"};

char TN4item[42][2]={"D","b","c","d","L","f","g","h","i","j","k","A","~","M","G","I",
"","","","","","r","K","S","O","}","l","T","U","V","

⌨️ 快捷键说明

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