今天又用c++builer写了个风机模拟软件,贴出来备忘,协议我的上传资源里有

使用C++Builder开发了一款风机模拟软件,主要涉及MSComm和Anigif控件,源代码包括.cpp和.h文件,已上传资源供参考。
摘要由CSDN通过智能技术生成

*.cpp

 

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
 #include "crc.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "MSCommLib_OCX"
#pragma link "AniGIFCtrl_OCX"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::fan(bool b,int i)
{
        switch(i)
        {
        case 0:
        AniGIF2->Playing=b;
        AniGIF4->Playing=b;
        AniGIF6->Playing=b;
        AniGIF8->Playing=b;
        AniGIF10->Playing=b;
        AniGIF12->Playing=b;
        AniGIF14->Playing=b;
        break;
        case 1:
        AniGIF1->Playing=b;
        AniGIF3->Playing=b;
        AniGIF5->Playing=b;
        AniGIF7->Playing=b;
        AniGIF9->Playing=b;
        AniGIF11->Playing=b;
        AniGIF13->Playing=b;
        break;
        }
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
MSComm1->Settings="9600,n,8,1";
MSComm1->InputLen=0;
MSComm1->InputMode=1;
MSComm1->RThreshold=1;

AniGIF1->Playing=false;
AniGIF2->Playing=false;
AniGIF3->Playing=false;
AniGIF4->Playing=false;
AniGIF5->Playing=false;
AniGIF6->Playing=false;
AniGIF7->Playing=false;
AniGIF8->Playing=false;
AniGIF9->Playing=false;
AniGIF10->Playing=false;
AniGIF11->Playing=false;
AniGIF12->Playing=false;
AniGIF13->Playing=false;
AniGIF14->Playing=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 if(MSComm1->PortOpen)
 {ShowMessage("port already open");
 return;
 }
MSComm1->CommPort=RadioGroup1->ItemIndex+1;
MSComm1->PortOpen=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MSComm1Comm(TObject *Sender)
{

OleVariant variant_inp;
AnsiString Msg,Msg2;
unsigned short len;
unsigned char rxdata[2048];
if(MSComm1->CommEvent==comEvReceive)
{
        variant_inp=MSComm1->Input;
        len=variant_inp.ArrayHighBound(1);
        for(int i=0;i<len+1;i++)
                rxdata[i]=variant_inp.GetElement(i);
        for(int i=0;i<len+1;i++)
                Msg+=IntToHex(rxdata[i],2)+" ";
        unsigned short c;
        c=CRC16(rxdata,len-1);
        rxdata[len+1]=c>>8;
        rxdata[len+2]=c&0xff;
      if(rxdata[len-1]==rxdata[len+1]&&rxdata[len]==rxdata[len+2])
      {
               if(rxdata[0]==0x01)
               {
                switch(rxdata[1])
                {
                case 0x10:
                {
                 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值