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

📄 dlgstatedisplay.cpp

📁 使用vc++技术实现光电机串口通信管理程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			XstrtoBin(str1E1Warn,strBin);
			protectSet(strBin,0+iDev*4);
		}
		strpre.Format("%sE2",strAdd);
		GetPrivateProfileString("default",strpre,"0",Get,255,strFileName);
		strtem=(LPTSTR)Get;
		if(strtem=="0")
		{
			CString str2E1Warn;
			str2E1Warn =strWarning.Mid(3,2);	
			XstrtoBin(str2E1Warn,strBin);
			WarnSet(strBin,1+iDev*4);
		}
		else
		{
			CString str2E1Warn;
			str2E1Warn =strWarning.Mid(3,2);	
			XstrtoBin(str2E1Warn,strBin);
			protectSet(strBin,1+iDev*4);
		}
		strpre.Format("%sE3",strAdd);
		GetPrivateProfileString("default",strpre,"0",Get,255,strFileName);
		strtem=(LPTSTR)Get;
		if(strtem=="0")
		{
			CString str3E1Warn;
			str3E1Warn =strWarning.Mid(6,2);	
			XstrtoBin(str3E1Warn,strBin);
			WarnSet(strBin,2+iDev*4);
		}
		else
		{
			CString str3E1Warn;
			str3E1Warn =strWarning.Mid(6,2);	
			XstrtoBin(str3E1Warn,strBin);
			protectSet(strBin,2+iDev*4);
		}
		strpre.Format("%sE4",strAdd);
		GetPrivateProfileString("default",strpre,"0",Get,255,strFileName);
		strtem=(LPTSTR)Get;
		if(strtem=="0")
		{
			CString str4E1Warn;
			str4E1Warn =strWarning.Mid(9,2);	
			XstrtoBin(str4E1Warn,strBin);
			WarnSet(strBin,3+iDev*4);
		}
		else
		{
			CString str4E1Warn;
			str4E1Warn =strWarning.Mid(9,2);	
			XstrtoBin(str4E1Warn,strBin);
			protectSet(strBin,3+iDev*4);
		}
	}
	else
	{
		return;
	}
//	UpdateData(false);
}

void CDlgStateDisplay::WarnSet(CString strBinValue,int iLine)
{
	CStringArray straWarning;
	straWarning.Add(strBinValue.Left(1));
	straWarning.Add(strBinValue.Mid(1,1));
	straWarning.Add(strBinValue.Mid(2,1));
	straWarning.Add(strBinValue.Mid(3,1));
	straWarning.Add(strBinValue.Mid(4,1));
	straWarning.Add(strBinValue.Mid(5,1));
	straWarning.Add(strBinValue.Mid(6,1));
	straWarning.Add(strBinValue.Mid(7,1));
	CString strMess;
	for(int i=0;i<8;i++)
	{
		strMess =straWarning.GetAt(i);
		if(strMess.Compare("1")==0)
		{
			switch(i) {
			case 0:
			
				m_ListCtrl.SetItemText(iLine,3,"★");
				break;
			case 1:
				m_ListCtrl.SetItemText(iLine,4,"★");
				break;
			case 2:
				m_ListCtrl.SetItemText(iLine,5,"★");
				break;
			case 3:
				m_ListCtrl.SetItemText(iLine,6,"★");
				break;
			case 4:
				m_ListCtrl.SetItemText(iLine,7,"★");
				break;
			case 5:
			//	m_ListCtrl.SetItemText(iLine,8,"★");
				break;
			case 6:
				m_ListCtrl.SetItemText(iLine,8,"★");
				break;
			case 7:
				m_ListCtrl.SetItemText(iLine,9,"★");
				break;
			
			}
		}
	}
}
void CDlgStateDisplay::protectSet(CString strBinValue,int iLine)
{
	CStringArray straWarning;
	straWarning.Add(strBinValue.Left(1));
	straWarning.Add(strBinValue.Mid(1,1));
	straWarning.Add(strBinValue.Mid(2,1));
	straWarning.Add(strBinValue.Mid(3,1));
	straWarning.Add(strBinValue.Mid(4,1));
	straWarning.Add(strBinValue.Mid(5,1));
	straWarning.Add(strBinValue.Mid(6,1));
	straWarning.Add(strBinValue.Mid(7,1));
	CString strMess;
	for(int i=0;i<8;i++)
	{
		strMess =straWarning.GetAt(i);
	//	if(strMess.Compare("1")==0)
	//	{
			switch(i) {
			case 0:
			
				m_ListCtrl.SetItemText(iLine,3,"☆");
				break;
			case 1:
				m_ListCtrl.SetItemText(iLine,4,"☆");
				break;
			case 2:
				m_ListCtrl.SetItemText(iLine,5,"☆");
				break;
			case 3:
				m_ListCtrl.SetItemText(iLine,6,"☆");
				break;
			case 4:
				m_ListCtrl.SetItemText(iLine,7,"☆");
				break;
			case 5:
			//	m_ListCtrl.SetItemText(iLine,8,"☆");
				break;
			case 6:
				m_ListCtrl.SetItemText(iLine,8,"☆");
				break;
			case 7:
				m_ListCtrl.SetItemText(iLine,9,"☆");
				break;
			
			}
	//	}
	/*	else
		{
				switch(i) {
			case 0:
			
				m_ListCtrl.SetItemText(iLine,3,"★");
				break;
			case 1:
				m_ListCtrl.SetItemText(iLine,4,"★");
				break;
			case 2:
				m_ListCtrl.SetItemText(iLine,5,"★");
				break;
			case 3:
				m_ListCtrl.SetItemText(iLine,6,"★");
				break;
			case 4:
				m_ListCtrl.SetItemText(iLine,7,"★");
				break;
			case 5:
			//	m_ListCtrl.SetItemText(iLine,8,"★");
				break;
			case 6:
				m_ListCtrl.SetItemText(iLine,8,"★");
				break;
			case 7:
				m_ListCtrl.SetItemText(iLine,9,"★");
				break;
			
			}	
		}*/
	}
}

void CDlgStateDisplay::XstrtoBin(CString str,CString &strBin)
{
	str.Replace("0","0000");
	str.Replace("1","0001");
	str.Replace("2","0010");
	str.Replace("3","0011");
	str.Replace("4","0100");
	str.Replace("5","0101");
	str.Replace("6","0110");
	str.Replace("7","0111");
	str.Replace("8","1000");
	str.Replace("9","1001");
	str.Replace("A","1010");
	str.Replace("B","1011");
	str.Replace("C","1100");
	str.Replace("D","1101");
	str.Replace("E","1110");
	str.Replace("F","1111");
	strBin=str;
}



void CDlgStateDisplay::OnClose() 
{
	// TODO: Add your message handler code here and/or call default

	CDialog::OnClose();
}
int CDlgStateDisplay::Str2Hex(CString str, char* data)
{
	int t,t1;
	int rlen=0,len=str.GetLength();
	//data.SetSize(len/2);
	for(int i=0;i<len;)
	{
		char l,h=str[i];
		if(h==' ')
		{
			i++;
			continue;
		}
		i++;
		if(i>=len)
			break;
		l=str[i];
		t=HexChar(h);
		t1=HexChar(l);
		if((t==16)||(t1==16))
			break;
		else 
			t=t*16+t1;
		i++;
		data[rlen]=(char)t;
		rlen++;
	}
	return rlen;

}
char CDlgStateDisplay::HexChar(char c)
{
	if((c>='0')&&(c<='9'))
		return c-0x30;
	else if((c>='A')&&(c<='F'))
		return c-'A'+10;
	else if((c>='a')&&(c<='f'))
		return c-'a'+10;
	else 
		return 0x10;
}


void CDlgStateDisplay::OnBtnNetmana() 
{
	// TODO: Add your control notification handler code here
	CString strID;//选中的设备的ID号
	CString strStaName;//选中的设备的站名
	int iIdx;//选中的设备是该站的第几个设备
	if(m_ListCtrl.GetSelectedCount()>0)
	{
		for(int i=0;i<m_ListCtrl.GetItemCount();i++)
		{
			if(m_ListCtrl.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)//得到选中项的文本
			{
				
				CDlgStateDisplay::strAddress=m_ListCtrl.GetItemText(i,2);
				CDlgStateDisplay::strAddress.Replace("#1E1","");
				CDlgStateDisplay::strAddress.Replace("#2E1","");
				CDlgStateDisplay::strAddress.Replace("#3E1","");
				CDlgStateDisplay::strAddress.Replace("#4E1","");
				strID =m_ListCtrl.GetItemText(i,1);
				strStaName=m_ListCtrl.GetItemText(i,0);
				iIdx =atoi((LPCTSTR)strID);
				iIdx+=1;
			}	
			
		}
		CDlgPcmmam manadlg;
		CString strTemptitle;
		strTemptitle.Format("站 第%d个设备智能PCM120网管",iIdx);
		manadlg.m_strManaTitle=strStaName+strTemptitle;
		manadlg.DoModal();
	}
	else
	{
		AfxMessageBox("请在列表中选择一个设备");
	}

}
void CDlgStateDisplay::SetStaticFont()
{
	CFont * f; 
	f = new CFont; 
	f->CreateFont(18, // nHeight 
		0, // nWidth 
		0, // nEscapement 
		0, // nOrientation 
		FW_BOLD, // nWeight 
		FALSE, // bItalic 
		FALSE, // bUnderline 
		0, // cStrikeOut 
		ANSI_CHARSET, // nCharSet 
		OUT_DEFAULT_PRECIS, // nOutPrecision 
		CLIP_DEFAULT_PRECIS, // nClipPrecision 
		DEFAULT_QUALITY, // nQuality 
		DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily 
		_T("Arial")); // lpszFac 
	GetDlgItem(IDC_STATIC_TITLE)->SetFont(f); 
	delete f; 

}
void CDlgStateDisplay::getFileName()
{
	SYSTEMTIME   mySystemTime;
	GetLocalTime(&mySystemTime);
	CString   filetime;
	CString strPath;
	//	filetime.Format ("%d-%d-%d     %s%d     %d:%d:%d",mySystemTime.wYear,mySystemTime.wMonth,mySystemTime.wDay,"星期",mySystemTime.wDayOfWeek,mySystemTime.wHour,mySystemTime.wMinute,mySystemTime.wSecond);
	filetime.Format("%d-%d-%d.ini",mySystemTime.wYear,mySystemTime.wMonth,mySystemTime.wDay);
	CDlgAllStaSet dlgalstaset;
	dlgalstaset.GetModulePath(strPath,NULL);
	strFileName=strPath+"log\\"+filetime;
}

⌨️ 快捷键说明

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