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

📄 scommsenderdlg.cpp

📁 发送串口数据
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		   PostMessage(WM_SENDCA);
		   if(m_strEditRXData=="hello1#1/5")
		   PostMessage(WM_SENDKEY);
		}
}

void CSCommSenderDlg::OnSendCa()
{
  char	tmp[6]="1#0/5";
	int j;

	CByteArray binData;
	binData.RemoveAll();

	for(j=0;j<6;j++)
	binData.Add(tmp[j]);  //add the "hello" to binData

	COleVariant var(binData);
	m_ctrlComm.SetOutput(var);  //send "hello" to receiver

    PostMessage(WM_SENDHELLODONE);
	
	return;
}

void CSCommSenderDlg::OnSendDone()
{
	char	tmp[5]="Done";
	int j;

	CByteArray binData;
	binData.RemoveAll();

	for(j=0;j<5;j++)
	binData.Add(tmp[j]); 
	COleVariant var(binData);
	m_ctrlComm.SetOutput(var);
	
	return;
}

void CSCommSenderDlg::OnKUrKey()
{
	int len;
	int k;
    
	len=m_strEditRXData.GetLength();

	for(k=0;k<len;k++)
	{
	  valid_time=m_strEditRXData[k];
	  
	  if(valid_time=='#')
	  {
		  valid_time=m_strEditRXData[k-1];
		  IDb=m_strEditRXData[k+1];
		  KUr=(m_strEditRXData[k+3]-48);
	  }
	}

	return;
}


void CSCommSenderDlg::OnButtonSendkey() 
{
	// TODO: Add your control notification handler code here
  unsigned int j;
  unsigned int en_N1=1;
  unsigned int en_IDa=1;
  IDa=48;
  unsigned int IDaN1[6];

  IDaN1[0]=45;
  
  for( j=0; j < KUr; j++)  //encrypt IDa
	 {
       en_IDa *= IDa;
        if( en_IDa >= IDa )
		{
          en_IDa %= num;
		}
        if(!en_IDa)
        en_IDa=en_IDa;
	 }
   en_IDa=en_IDa%num;

   IDaN1[1]=en_IDa;
   IDaN1[2]=36;

     for( j=0; j < KUr; j++)  //encrypt N1
	 {
       en_N1 *= N1;
        if( en_N1 >= N1 )
		{
          en_N1 %= num;
		}
        if(!en_N1)
        en_N1=en_N1;
	 }
   en_N1=en_N1%num;
   IDaN1[3]=en_N1;
   IDaN1[4]=95;
   IDaN1[5]=35;

	CByteArray binData;
    binData.RemoveAll();

    for(j=0;j<6;j++)
	binData.Add(IDaN1[j]);
	
	COleVariant var(binData);
	m_ctrlComm.SetOutput(var);

	times=2;

  return;
}

void CSCommSenderDlg::OnReEnN2() 
{
  	unsigned int j; 

    for( j=0; j < KRs; j++)  //decrypt EN_N2
	 {
       de_N2 *= en_N2;
        if( de_N2 >= en_N2 )
		{
          de_N2 %= num;
		}
        if(!de_N2)
       de_N2=de_N2;
	 }
    de_N2=de_N2%num;

    CByteArray binData; //send de_N2
    binData.RemoveAll();

	binData.Add(de_N2); 
	COleVariant var(binData);
	m_ctrlComm.SetOutput(var);
    
   return;
}

void CSCommSenderDlg::OnEnDeN1()
{
    unsigned int j;
	unsigned int de_en_de_N1=1;

    for( j=0; j < KRs; j++)  //decrypt en_de_N1
	 {
       de_en_de_N1 *= en_de_N1;
        if( de_en_de_N1 >= en_de_N1 )
		{
          de_en_de_N1 %= num;
		}
        if(!de_en_de_N1)
       de_en_de_N1=de_en_de_N1;
	 }
    de_en_de_N1=de_en_de_N1%num;

    CByteArray binData; //send de_en_de_N1
    binData.RemoveAll();

	binData.Add(de_en_de_N1); 
	COleVariant var(binData);
	m_ctrlComm.SetOutput(var);
      	
    
	if(de_en_de_N1!=N1)
	{}

   return;
} 

void CSCommSenderDlg::OnButtonSend1() 
{
	// TODO: Add your control notification handler code here
	char	tmp[10]="hello";
	int j;

	CByteArray binData;
	binData.RemoveAll();

	for(j=0;j<10;j++)
	binData.Add(tmp[j]);  //add the "hello" to binData

	COleVariant var(binData);
	m_ctrlComm.SetOutput(var);  //send "hello" to receiver
	
	return;
}

void CSCommSenderDlg::OnButtonSendn2() 
{
	// TODO: Add your control notification handler code here
    unsigned int  tmp[3];
	unsigned int j;
	unsigned int en_de_N2=1;
    
	tmp[2]='N';
	tmp[0]='2';

	for( j=0; j < KUr; j++)  
	 {
       en_de_N2 *= de_N2;
        if( en_de_N2 >= de_N2 )
		{
          en_de_N2 %= num;
		}
        if(!en_de_N2)
       en_de_N2=en_de_N2;
	 }
    en_de_N2=en_de_N2%num;
	tmp[1]=en_de_N2;

	CByteArray binData;
	binData.RemoveAll();

	for(j=0;j<3;j++)
	binData.Add(tmp[j]);

	COleVariant var(binData);
	m_ctrlComm.SetOutput(var);
	
	return;	
}

void CSCommSenderDlg::OnButtonSendkeys() 
{
	// TODO: Add your control notification handler code here
	unsigned int i,j;
    Keys[0]=122;
    Keys[1]=122;
    Keys[2]=122;
    Keys[3]=122;
    Keys[8]=122;
    Keys[5]=122;
    Keys[6]=122;
    Keys[7]=122;
	unsigned int en_Keys_0[10]={1,1,1,1,1,1,1,1,1,1};
    unsigned int en_Keys_1[10];
    en_Keys_1[0]=1;
	en_Keys_1[1]=1;
    en_Keys_1[2]=1;
	en_Keys_1[3]=1;
    en_Keys_1[5]=1;
	en_Keys_1[6]=1;
    en_Keys_1[7]=1;
	en_Keys_1[8]=1;

	en_Keys_1[9]='K';
	en_Keys_1[4]='k';
    
	for(i=0;i<4;i++)
	{
       for( j=0; j < KRs; j++)  
	 {
       en_Keys_0[i] *= Keys[i];
        if( en_Keys_0[i] >= Keys[i] )
		{
          en_Keys_0[i] %= num;
		}
        if(!en_Keys_0[i])
       en_Keys_0[i]=en_Keys_0[i];
	 }
    en_Keys_0[i]=en_Keys_0[i]%num;

       for( j=0; j < KUr; j++)  
	 {
       en_Keys_1[i] *= en_Keys_0[i];
        if( en_Keys_1[i] >= en_Keys_0[i] )
		{
          en_Keys_1[i] %= num;
		}
        if(!en_Keys_1[i])
       en_Keys_1[i]=en_Keys_1[i];
	 }
    en_Keys_1[i]=en_Keys_1[i]%num;
	}

	CByteArray binData126;
	binData126.RemoveAll();

	binData126.Add(126);

	COleVariant var126(binData126);
	m_ctrlComm.SetOutput(var126);

	CByteArray binData;
	binData.RemoveAll();

	for(j=0;j<5;j++)
	binData.Add(en_Keys_1[j]);

	COleVariant var(binData);
	m_ctrlComm.SetOutput(var);

    for(i=5;i<9;i++)
	{
       for( j=0; j < KRs; j++)  
	 {
       en_Keys_0[i] *= Keys[i];
        if( en_Keys_0[i] >= Keys[i] )
		{
          en_Keys_0[i] %= num;
		}
        if(!en_Keys_0[i])
       en_Keys_0[i]=en_Keys_0[i];
	 }
    en_Keys_0[i]=en_Keys_0[i]%num;

       for( j=0; j < KUr; j++)  
	 {
       en_Keys_1[i] *= en_Keys_0[i];
        if( en_Keys_1[i] >= en_Keys_0[i] )
		{
          en_Keys_1[i] %= num;
		}
        if(!en_Keys_1[i])
       en_Keys_1[i]=en_Keys_1[i];
	 }
    en_Keys_1[i]=en_Keys_1[i]%num;
	}

	CByteArray binData125;
	binData125.RemoveAll();

	binData125.Add(126);

	COleVariant var125(binData125);
	m_ctrlComm.SetOutput(var125);

	CByteArray binData1;
	binData1.RemoveAll();

	for(j=5;j<10;j++)
	binData1.Add(en_Keys_1[j]);

	COleVariant var1(binData1);
	m_ctrlComm.SetOutput(var1);

	
	return;	
}

void CSCommSenderDlg::OnButtonFinished() 
{
	// TODO: Add your control notification handler code here
    CByteArray binData;
	binData.RemoveAll();

	binData.Add(94);
    binData.Add(118);
	binData.Add(94);

	COleVariant var(binData);
	m_ctrlComm.SetOutput(var);	
}

⌨️ 快捷键说明

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