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

📄 unit1.~cpp

📁 串口通讯 串口通讯 支持指令存储
💻 ~CPP
📖 第 1 页 / 共 2 页
字号:
              t=HexChar(h);
              t1=HexChar(l);
              if((t==16)||(t1==16))
                break;
              t=t*16+t1;
              i=k+1;
              rlen++;
              data[rlen]=(char)t;
                break;
            }
          }
          for(int j=1;j<=rlen;j++)
          Temp += data[j];
          SendData=Temp.c_str();
          BS=rlen;
          WriteFile(hComm,SendData,BS, &lrc,NULL);
      }
      if(ChB4->Checked)
      {
         ShowMessage("fdfs");
      }
       else
        {
        for(int j=1;j<=rlen;j++)
        Temp += data[j];
        SendData = Temp.c_str();
        BS = rlen;
        WriteFile(hComm,SendData,BS, &lrc,NULL);
        }
     }
}

void __fastcall TForm1::BitBtn13Click(TObject *Sender)
{
   String s;
   if(Memo1->Text=="")
   {
    return;
   }
   s=Memo1->Text;
   senddata(s);
}
//---------------------------------------------------------------------------


void __fastcall TForm1::BitBtn12Click(TObject *Sender)
{
   Memo2->Text="";
   tex1="";
   tex3="";
   tex11="";
   tex33="";        
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
   SYSTEMTIME time;
   GetSystemTime(&time);
   String StrTime;
   int p;
   if(StrToInt(time.wHour)<17)
   {
     p=time.wHour+8;
     StrTime+=p;
   }
   else
   {
     p=time.wHour-17;
     StrTime+=p;
   }
   Label23->Caption=String(time.wYear)+"-"+String(time.wMonth)+"-"+String(time.wDay)+" "+StrTime+"-"+String(time.wMinute)+"-"+String(time.wSecond);
   String Temp,s,i;
   char *ejz,b[100],buff[10],buff2[10];
   AnsiString ejz2;
   int ejz3,c,len;
   String str;
   unsigned char *a;
   BYTE bt=100;
   DWORD nBytesRead, dwEvent, dwError;
   ClearCommError(hComm,&dwError,&cs);
   if (cs.cbInQue > sizeof(inbuff))
   {
     PurgeComm(hComm, PURGE_RXCLEAR);
     return;
    }
   ReadFile(hComm, inbuff,cs.cbInQue,&nBytesRead,NULL);
   inbuff[cs.cbInQue]= '\0';
   len=cs.cbInQue;
   for(int i=0;i<len;i++)
   {
     s=inbuff[i];
     a=s.c_str();
     str=IntToHex(a[0], 2);
     tex1=str;
     if(ChB1->Checked)
       Memo2->Text=Memo2->Text+tex1;
     tex11=tex11+tex1;
   }
   len=cs.cbInQue;
   for(int i=0;i<len;)
   {
      if(char(inbuff[i])>'128')
      {
        buff[0]=inbuff[i];
        buff[1]=inbuff[i+1];
        buff[2]='\0';
        str=buff;
        i=i+2;
      }
      else
      {
        buff[0]=inbuff[i];
        buff[1]='\0';
        str=buff;
        i++;
      }
      if(!ChB1->Checked)
        Memo2->Text=Memo2->Text+str;
        tex33=tex33+str;
   }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Memo1Change(TObject *Sender)
{
   String texc;
  if(ChB2->Checked)
  {
    if(Memo1->Text=="")
      return;
    texc=Memo1->Text;
     for(int i=1;i<=texc.Length();i++)
     {
      if (texc[i]<'0' || texc[i]>'9')
        if (texc[i]<'a' || texc[i]>'f')
           if (texc[i]<'A'|| texc[i]>'F')
              if(texc[i]!=' ')
              {
                ShowMessage("请键入有效HEX字符组合(0-9,a-f,A-F)!每两个字符之间空一个格!");
                Memo1->Text=tex16;
                return;
              }
     }
     tex16=Memo1->Text;
    }
    else
      tex2=Memo1->Text;        
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{
   this->Close();        
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn4Click(TObject *Sender)
{
   ChB3->Checked=false;
   ChB4->Checked=false;
}
//---------------------------------------------------------------------------



void __fastcall TForm1::BitBtn5Click(TObject *Sender)
{
   String zhiling,shuoming,duixiang;
   if(Memo1->Text=="")
   {
     ShowMessage("指令码不能为空!");
     return;
   }
   if(Edit1->Text=="")
   {
     ShowMessage("指令说明不能为空!");
     return;
   }
   if(Edit3->Text=="")
   {
     ShowMessage("操作对象不能为空!");
     return;
   }
   if(Application->MessageBoxA("确定要将该指令信息存入数据库吗?","友情提示",MB_YESNO)==IDNO)
     return;
   zhiling=Memo1->Text;
   shuoming=Edit1->Text;
   duixiang=Edit3->Text;
   ADOQuery1->Open();
   ADOQuery1->Append();
   ADOQuery1->FieldByName("指令码")->AsString=zhiling;
   ADOQuery1->FieldByName("指令说明")->AsString=shuoming;
   ADOQuery1->FieldByName("操作对象")->AsString=duixiang;
   try
   {
      ADOQuery1->Post();
      ShowMessage("保存成功!");
   }
   catch(...)
   {
      ShowMessage("保存失败!");
   }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn6Click(TObject *Sender)
{
   if(Application->MessageBox("确定要删除该指令吗?","友情提示",MB_YESNO)==IDYES)
   {
     if(ADOQuery1->RecordCount<1)
     {
       ShowMessage("数据表为空!无法删除");
       return;
     }
     ADOQuery1->Delete();
   }
}
//---------------------------------------------------------------------------


void __fastcall TForm1::DBGrid1DblClick(TObject *Sender)
{
   zl=ADOQuery1->FieldByName("指令码")->AsString;
   sm=ADOQuery1->FieldByName("指令说明")->AsString;
   dx=ADOQuery1->FieldByName("操作对象")->AsString;
   Memo1->Text=zl;
   Edit1->Text=sm;
   Edit3->Text=dx;
   flagA="1";
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn7Click(TObject *Sender)
{
  if(Application->MessageBoxA("确定要保存指令内容说明吗?","友情提示",MB_YESNO)==IDYES)
  {
    ADOQuery1->Edit();
    ADOQuery1->FieldByName("指令内容说明")->AsString=Memo3->Text;
    try
    {
      ADOQuery1->Post();
      ShowMessage("保存成功!");
    }
    catch(...)
    {
      ShowMessage("保存失败!");
    }
  }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::DBGrid2CellClick(TColumn *Column)
{
   Memo3->Text=ADOQuery1->FieldByName("指令内容说明")->AsString;        
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn8Click(TObject *Sender)
{
   String zhiling,shuoming,duixiang;
   if(flagA=="0")
   {
     ShowMessage("请选择要修改的指令!双击列表信息选择!");
     return;
   }
   if(Memo1->Text=="")
   {
     ShowMessage("指令码不能为空!");
     return;
   }
   if(Edit1->Text=="")
   {
     ShowMessage("指令说明不能为空!");
     return;
   }
   if(Edit3->Text=="")
   {
     ShowMessage("操作对象不能为空!");
     return;
   }
   if(Application->MessageBoxA("确定要修改这条指令信息吗?","友情提示",MB_YESNO)==IDNO)
     return;
   zhiling=Memo1->Text;
   shuoming=Edit1->Text;
   duixiang=Edit3->Text;
   ADOQuery1->Open();
   ADOQuery1->Edit();
   ADOQuery1->FieldByName("指令码")->AsString=zhiling;
   ADOQuery1->FieldByName("指令说明")->AsString=shuoming;
   ADOQuery1->FieldByName("操作对象")->AsString=duixiang;
   try
   {
      ADOQuery1->Post();
      ShowMessage("修改成功!");
   }
   catch(...)
   {
      ShowMessage("修改失败!");
   }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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