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

📄 djbkdlg.cpp

📁 本项目是我工作时候应公司需求开发的 开发工具是EVC++4.0
💻 CPP
📖 第 1 页 / 共 2 页
字号:

		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].eddl [j];		
		p=(float *)ch;
		m_Djbk_fEDDL=*p;

		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].eddy [j];	
		p=(float *)ch;		
		m_Djbk_fEDDY=*p;

		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].jddj [j];	
		p=(float *)ch;
		m_Djbk_fJDDJ=*p;

		strcpy(ZXLH.ch,DjbkData[DjbkNum].jbqs  );
		m_Djbk_iJBQS=ZXLH.i ;
		
		strcpy(ZXLH.ch,DjbkData[DjbkNum].bl );
		m_Djbk_iBL=ZXLH.i ;


		UpdateData(FALSE);
		UpdateWindow();
	}


	CString s;
	s.Format(_T("电表总数: %d"),DjbkTotal);
    CEdit* pEdit = (CEdit*)GetDlgItem(IDC_DJBKDLG_COUNT_INFO);
    pEdit->SetWindowText(s);    

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDjbkDlg::OnDjbkdlgBtnAdd() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	char back[26]="";
	int i;
	if (m_Djbk_sJBH==_T(""))
	{
		AfxMessageBox(_T("局编号不能为空!!!"));
		return;
	}

    WideCharToMultiByte(CP_ACP, 0, m_Djbk_sJBH, -1, back, 25, NULL, NULL); 

    for(i=0;i<DjbkTotal;i++)
	{
		if(strcmp(back,DjbkData[i].jbh)==0)
		{
			if((MessageBox(_T("此表数据已存在,是否覆盖?"),_T("覆盖?"),MB_OKCANCEL))==IDOK)
			{
		    	break;
			}
			else return;
			
		}
	}
	if(i==DjbkTotal)
	{
		DjbkNum=DjbkTotal++;
	}
	


    WideCharToMultiByte(CP_ACP, 0, m_Djbk_sJBH, -1, DjbkData[i].jbh, 25, NULL, NULL);//1 

	
	WideCharToMultiByte(CP_ACP, 0, m_Djbk_sCCBH, -1, DjbkData[i].ccbh , 25, NULL, NULL);//3 

	WideCharToMultiByte(CP_ACP, 0, m_Djbk_sCTBB, -1, DjbkData[i].CT , 25, NULL, NULL);//4

	WideCharToMultiByte(CP_ACP, 0, m_Djbk_sDATE, -1, DjbkData[i].jbrq, 25, NULL, NULL); //5

	WideCharToMultiByte(CP_ACP, 0, m_Djbk_sDBXH, -1, DjbkData[i].dbxh , 25, NULL, NULL);//7 

	WideCharToMultiByte(CP_ACP, 0, m_Djbk_sDLJR, -1, DjbkData[i].dljr , 25, NULL, NULL);//8

	WideCharToMultiByte(CP_ACP, 0, m_Djbk_sJDY, -1, DjbkData[i].jdy , 25, NULL, NULL);//13 

	WideCharToMultiByte(CP_ACP, 0, m_Djbk_sJXFS, -1, DjbkData[i].jxfs , 25, NULL, NULL); //14

	WideCharToMultiByte(CP_ACP, 0, m_Djbk_sPTBB, -1, DjbkData[i].PT , 25, NULL, NULL);//15


	char *p;
	int j;
	p=(char *)(&m_Djbk_fDBCS);
	for(j=0;j<4;j++)DjbkData[i].dbcs[j]=(p[j]&0xff);    //6
	p=(char *)(&m_Djbk_fEDDL);
	for(j=0;j<4;j++)DjbkData[i].eddl[j]=(p[j]&0xff);//9
	p=(char *)(&m_Djbk_fEDDY);
	for(j=0;j<4;j++)DjbkData[i].eddy[j]=(p[j]&0xff);//9
	p=(char *)(&m_Djbk_fJDDJ);
	for(j=0;j<4;j++)DjbkData[i].jddj[j]=(p[j]&0xff);//9
	
	
	

	ZXLH.i =m_Djbk_iJBQS;
	for(j=0;j<2;j++)DjbkData[i].jbqs[j]=(ZXLH.ch[j]&0xff);    //11

   	ZXLH.i =m_Djbk_iBL;
	for(j=0;j<2;j++)DjbkData[i].bl[j]=(ZXLH.ch[j]&0xff);    //11	


	strcpy(DjbkData[i].sccj,DjbkBL.sccj);	

	strcpy(DjbkData[i].scbh ,DjbkBL.scbh );	

	strcpy(DjbkData[i].ccrq,DjbkBL.ccrq);

	strcpy(DjbkData[i].azdw,DjbkBL.azdw);

	strcpy(DjbkData[i].azdz,DjbkBL.azdz);

	strcpy(DjbkData[i].bwdh,DjbkBL.bwdh);

	strcpy(DjbkData[i].tzbh,DjbkBL.tzbh);

	strcpy(DjbkData[i].shy,DjbkBL.shy);
	
	CString s;
	s.Format(_T("电表总数: %d"),DjbkTotal);
    CEdit* pEdit = (CEdit*)GetDlgItem(IDC_DJBKDLG_COUNT_INFO);
    pEdit->SetWindowText(s);
	AfxMessageBox(_T("成功!"));

	m_Djbk_fDBCS=0.0;
	m_Djbk_fEDDL=0.0;
	m_Djbk_fEDDY=0.0;
	m_Djbk_fJDDJ=0.0;
	m_Djbk_iJBQS=0;
	m_Djbk_iBL=0;
	m_Djbk_sCCBH=L"";
	m_Djbk_sCTBB=L"";
	m_Djbk_sDATE=L"";	
	m_Djbk_sDBXH=L"";
	m_Djbk_sDLJR=L"";	
	m_Djbk_sJBH=L"";
	m_Djbk_sJDY=L"";
	m_Djbk_sJXFS=L"";
	m_Djbk_sPTBB=L"";


	UpdateData(FALSE);

}

void CDjbkDlg::OnDjbkdlgBtnUp() 
{
	// TODO: Add your control notification handler code here	
	DjbkNum--;
	if(DjbkNum<0)
	{
		DjbkNum=0;	
	}	
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].ccbh ,-1,m_Djbk_sCCBH.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].CT ,-1,m_Djbk_sCTBB.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].jbrq ,-1,m_Djbk_sDATE.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].dbxh ,-1,m_Djbk_sDBXH.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].dljr ,-1,m_Djbk_sDLJR.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].jbh ,-1,m_Djbk_sJBH.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].jdy ,-1,m_Djbk_sJDY.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].jxfs ,-1,m_Djbk_sJXFS.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].PT ,-1,m_Djbk_sPTBB.GetBuffer(25),25);
		int j;
		char ch[4];
		float *p;
		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].dbcs[j]; 
		p=(float *)ch;
		m_Djbk_fDBCS=*p;		

		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].eddl [j];		
		p=(float *)ch;
		m_Djbk_fEDDL=*p;

		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].eddy [j];	
		p=(float *)ch;		
		m_Djbk_fEDDY=*p;

		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].jddj [j];	
		p=(float *)ch;
		m_Djbk_fJDDJ=*p;

		strcpy(ZXLH.ch,DjbkData[DjbkNum].jbqs  );
		m_Djbk_iJBQS=ZXLH.i ;
		
		strcpy(ZXLH.ch,DjbkData[DjbkNum].bl );
		m_Djbk_iBL=ZXLH.i ;

	CString s;
   	s.Format(_T("电表总数: %d"),DjbkTotal);
    CEdit* pEdit = (CEdit*)GetDlgItem(IDC_DJBKDLG_COUNT_INFO);
    pEdit->SetWindowText(s);

	UpdateData(FALSE);
			

}

void CDjbkDlg::OnDjbkdlgBtnDel() 
{
	// TODO: Add your control notification handler code here
	int i=0;
	if(DjbkTotal==0)
	{
		AfxMessageBox(_T("数据库为空!"));
		return;
	}
	if((MessageBox(_T("确认删除当前表数据?"),_T("删除?"),MB_OKCANCEL))==IDCANCEL)
	{
		return;
	}
	int j;
	for(i=DjbkNum;i<DjbkTotal-1;i++)
	{
		strcpy(DjbkData[i].azdw,DjbkData[i+1].azdw);
		strcpy(DjbkData[i].azdz,DjbkData[i+1].azdz);
		strcpy(DjbkData[i].bl,DjbkData[i+1].bl);
		strcpy(DjbkData[i].bwdh,DjbkData[i+1].bwdh);
		strcpy(DjbkData[i].ccbh,DjbkData[i+1].ccbh);
		strcpy(DjbkData[i].ccrq,DjbkData[i+1].ccrq);
		strcpy(DjbkData[i].CT,DjbkData[i+1].CT);
		for(j=0;j<4;j++)DjbkData[i].dbcs[j]=DjbkData[i+1].dbcs[j];
		strcpy(DjbkData[i].dbxh,DjbkData[i+1].dbxh);
		strcpy(DjbkData[i].dljr,DjbkData[i+1].dljr);
		for(j=0;j<4;j++)DjbkData[i].eddl[j]=DjbkData[i+1].eddl[j];
		for(j=0;j<4;j++)DjbkData[i].eddy[j]=DjbkData[i+1].eddy[j];
		strcpy(DjbkData[i].jbh,DjbkData[i+1].jbh);
		strcpy(DjbkData[i].jbqs,DjbkData[i+1].jbqs);
		strcpy(DjbkData[i].jbrq,DjbkData[i+1].jbrq);
		for(j=0;j<4;j++)DjbkData[i].jddj[j]=DjbkData[i+1].jddj[j];
		strcpy(DjbkData[i].jdy,DjbkData[i+1].jdy);
		strcpy(DjbkData[i].jxfs,DjbkData[i+1].jxfs);
		strcpy(DjbkData[i].PT,DjbkData[i+1].PT);
		strcpy(DjbkData[i].scbh,DjbkData[i+1].scbh);
		strcpy(DjbkData[i].sccj,DjbkData[i+1].sccj);
		strcpy(DjbkData[i].shy,DjbkData[i+1].shy);
		strcpy(DjbkData[i].tzbh,DjbkData[i+1].tzbh);		
	}
	  	strcpy(DjbkData[i].azdw,"");
		strcpy(DjbkData[i].azdz,"");
		strcpy(DjbkData[i].bl,"");
		strcpy(DjbkData[i].bwdh,"");
		strcpy(DjbkData[i].ccbh,"");
		strcpy(DjbkData[i].ccrq,"");
		strcpy(DjbkData[i].CT,"");
		for(j=0;j<4;j++)DjbkData[i].dbcs[j]=0;		
		strcpy(DjbkData[i].dbxh,"");
		strcpy(DjbkData[i].dljr,"");
		for(j=0;j<4;j++)DjbkData[i].eddl[j]=0;
		for(j=0;j<4;j++)DjbkData[i].eddy[j]=0;
		strcpy(DjbkData[i].jbh,"");
		strcpy(DjbkData[i].jbqs,"");
		strcpy(DjbkData[i].jbrq,"");
		for(j=0;j<4;j++)DjbkData[i].jddj [j]=0;
		strcpy(DjbkData[i].jdy,"");
		strcpy(DjbkData[i].jxfs,"");
		strcpy(DjbkData[i].PT,"");
		strcpy(DjbkData[i].scbh,"");
		strcpy(DjbkData[i].sccj,"");
		strcpy(DjbkData[i].shy,"");
		strcpy(DjbkData[i].tzbh,"");		

	DjbkTotal--;
	DjbkTotal=DjbkTotal<0?0:DjbkTotal;
	DjbkNum=0;


	//显示数据0		
		
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].ccbh ,-1,m_Djbk_sCCBH.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].CT ,-1,m_Djbk_sCTBB.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].jbrq ,-1,m_Djbk_sDATE.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].dbxh ,-1,m_Djbk_sDBXH.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].dljr ,-1,m_Djbk_sDLJR.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].jbh ,-1,m_Djbk_sJBH.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].jdy ,-1,m_Djbk_sJDY.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].jxfs ,-1,m_Djbk_sJXFS.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].PT ,-1,m_Djbk_sPTBB.GetBuffer(25),25);

		
		
		
		
		
		
		char ch[4];
		float *p;
		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].dbcs[j]; 
		p=(float *)ch;
		m_Djbk_fDBCS=*p;		

		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].eddl [j];		
		p=(float *)ch;
		m_Djbk_fEDDL=*p;

		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].eddy [j];	
		p=(float *)ch;		
		m_Djbk_fEDDY=*p;

		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].jddj [j];	
		p=(float *)ch;
		m_Djbk_fJDDJ=*p;

		strcpy(ZXLH.ch,DjbkData[DjbkNum].jbqs  );
		m_Djbk_iJBQS=ZXLH.i ;
		
		strcpy(ZXLH.ch,DjbkData[DjbkNum].bl );
		m_Djbk_iBL=ZXLH.i ;

	CString s;
   	s.Format(_T("电表总数: %d"),DjbkTotal);
    CEdit* pEdit = (CEdit*)GetDlgItem(IDC_DJBKDLG_COUNT_INFO);
    pEdit->SetWindowText(s);

	UpdateData(FALSE);
}

void CDjbkDlg::OnDjbkdlgBtnDown() 
{
	// TODO: Add your control notification handler code here
	DjbkNum++;
	if(DjbkNum>DjbkTotal)
	{
		DjbkNum=DjbkTotal;
		
	}	

	MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].ccbh ,-1,m_Djbk_sCCBH.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].CT ,-1,m_Djbk_sCTBB.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].jbrq ,-1,m_Djbk_sDATE.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].dbxh ,-1,m_Djbk_sDBXH.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].dljr ,-1,m_Djbk_sDLJR.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].jbh ,-1,m_Djbk_sJBH.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].jdy ,-1,m_Djbk_sJDY.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].jxfs ,-1,m_Djbk_sJXFS.GetBuffer(25),25);
		MultiByteToWideChar(CP_ACP,MB_COMPOSITE,DjbkData[DjbkNum].PT ,-1,m_Djbk_sPTBB.GetBuffer(25),25);
		int j;
		char ch[4];
		float *p;
		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].dbcs[j]; 
		p=(float *)ch;
		m_Djbk_fDBCS=*p;		

		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].eddl [j];		
		p=(float *)ch;
		m_Djbk_fEDDL=*p;

		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].eddy [j];	
		p=(float *)ch;		
		m_Djbk_fEDDY=*p;

		for(j=0;j<4;j++)ch[j]=DjbkData[DjbkNum].jddj [j];	
		p=(float *)ch;
		m_Djbk_fJDDJ=*p;

		strcpy(ZXLH.ch,DjbkData[DjbkNum].jbqs  );
		m_Djbk_iJBQS=ZXLH.i ;
		
		strcpy(ZXLH.ch,DjbkData[DjbkNum].bl );
		m_Djbk_iBL=ZXLH.i ;

	CString s;
   	s.Format(_T("电表总数: %d"),DjbkTotal);
    CEdit* pEdit = (CEdit*)GetDlgItem(IDC_DJBKDLG_COUNT_INFO);
    pEdit->SetWindowText(s);

	UpdateData(FALSE);
			

	
}

HBRUSH CDjbkDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	if(nCtlColor==CTLCOLOR_EDIT && pWnd->GetDlgCtrlID()==IDC_DJBKDLG_EDT_JBH)
	{
		pDC->SetBkColor(RGB(134,171,192));
		return m_hbrush;
	}

	
	// TODO: Return a different brush if the default is not desired
	return hbr;
}

void CDjbkDlg::OnDjbkdlgBtnBreak() 
{
	// TODO: Add your control notification handler code here
	if(serialOpen==0)
	{
		CCommSetDlg dlg;
	    dlg.m_bFullScreen = FALSE;
	    dlg.DoModal();
	}
	if(serialOpen!=1)
	{
		return ;
	}	

   BYTE buf[10]="";
   buf[0]=0x41;
   buf[1]=0x42;
   buf[2]=0x00;
   buf[3]=0x07;
   buf[4]=0x00;
   buf[5]=0x1d;
   buf[6]=0xa7;
   buf[7]=0x43;
   if (!serial.WritePort(buf,8))
	{
		AfxMessageBox(_T("写入串口失败"));
		return;		
	}
   AfxMessageBox(_T("断开成功!"));
}

⌨️ 快捷键说明

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