📄 counter.cpp
字号:
void __fastcall TForm1::Button10Click(TObject *Sender)
{
m=-m; // 递增/递减
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button11Click(TObject *Sender)
{
a=StrToInt(Edit1->Text); //手动输入
b=StrToInt(Edit2->Text);
c=StrToInt(Edit3->Text);
d=StrToInt(Edit4->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button12Click(TObject *Sender)
{
if(Timer4->Interval>0)
Timer4->Enabled=true; //启动定时器4
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer4Timer(TObject *Sender)
{
if(n==1) //实现四位数递增显示
{
e=e+1;
if(e>9)
{
e=0;
f=f+1;
if(f>9)
{
f=0;
g=g+1;
if(g>9)
{
g=0;
h=h+1;
if(h>9)
{
h=0;
}
}
}
}
Form1->Edit5->Text=IntToStr(e); //将整形数据转换为字符串输出
Form1->Edit6->Text=IntToStr(f);
Form1->Edit7->Text=IntToStr(g);
Form1->Edit8->Text=IntToStr(h);
}
else //实现四位数递减显示
{
if(e>0)
e=e-1;
else if(e==0)
{
if(f>0)
{
f=f-1;
e=9;
}
else if(f==0)
{
if(g>0)
{
g=g-1;
g=9;
}
else if(g==0)
{
if(h>0)
{
h=h-1;
g=9;
}
else if(h==0)
e=f=g=h=9;
}
}
}
Form1->Edit5->Text=IntToStr(e); //将整形数据转换为字符串输出
Form1->Edit6->Text=IntToStr(f);
Form1->Edit7->Text=IntToStr(g);
Form1->Edit8->Text=IntToStr(h);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button13Click(TObject *Sender)
{
Timer4->Enabled=false; //关闭定时器4
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button18Click(TObject *Sender)
{
e=0; //数据清零
f=0;
g=0;
h=0;
Form1->Edit5->Text=IntToStr(e); //将整形数据转换为字符串输出
Form1->Edit6->Text=IntToStr(f);
Form1->Edit7->Text=IntToStr(g);
Form1->Edit8->Text=IntToStr(h);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button17Click(TObject *Sender)
{
e=StrToInt(Edit5->Text); //手动输入
f=StrToInt(Edit6->Text);
g=StrToInt(Edit7->Text);
h=StrToInt(Edit8->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button16Click(TObject *Sender)
{
n=-n; //递增/递减
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button15Click(TObject *Sender)
{
if(MSComm1->PortOpen==false) //开启自动发送数据
ShowMessage("串口未打开!");
else if(Timer3->Enabled==true)
ShowMessage("请先停止计数器1发送数据!");
else if(Timer6->Enabled==true)
ShowMessage("请先停止计数器联合发送数据!");
else
Timer5->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer5Timer(TObject *Sender)
{
MSComm1->Output=StringToOleStr("b"); //定时器5自动发送程序
MSComm1->Output=StringToOleStr(Edit8->Text);
MSComm1->Output=StringToOleStr(Edit7->Text);
MSComm1->Output=StringToOleStr(Edit6->Text);
MSComm1->Output=StringToOleStr(Edit5->Text);
MSComm1->Output=StringToOleStr("b"); //定时器5自动发送程序
MSComm1->Output=StringToOleStr(Edit8->Text);
MSComm1->Output=StringToOleStr(Edit7->Text);
MSComm1->Output=StringToOleStr(Edit6->Text);
MSComm1->Output=StringToOleStr(Edit5->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button14Click(TObject *Sender)
{
if(MSComm1->PortOpen==false) //手动发送数据
ShowMessage("串口未打开!");
else
{
MSComm1->Output=StringToOleStr("b");
MSComm1->Output=StringToOleStr(Edit8->Text);
MSComm1->Output=StringToOleStr(Edit7->Text);
MSComm1->Output=StringToOleStr(Edit6->Text);
MSComm1->Output=StringToOleStr(Edit5->Text);
MSComm1->Output=StringToOleStr("b"); //定时器5自动发送程序
MSComm1->Output=StringToOleStr(Edit8->Text);
MSComm1->Output=StringToOleStr(Edit7->Text);
MSComm1->Output=StringToOleStr(Edit6->Text);
MSComm1->Output=StringToOleStr(Edit5->Text);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button19Click(TObject *Sender)
{
Timer5->Enabled=false; //停止自动发送数据
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MSComm1Comm(TObject *Sender)
{
AnsiString str; //声明一个AnsiString类型的变量
OleVariant s; //声明一个用于接收数据的OleVariant变量。
if(MSComm1->CommEvent==comEvReceive) // 接收缓冲区中是否收到Rthreshold个字符。
{
if(MSComm1->InBufferCount) // 是否有字符驻留在接收缓冲区等待被取出
{
s=MSComm1->Input; //接收数据
str=s.AsType(varString); //把接收到的OleVariant变量转换成AnsiString类型
Memo1->Text=Memo1->Text+str; //把接收到的数据显示在Memo1中。
}
}
if(str==1)
{
//Timer1->Enabled=false;
a=0; //数据清零
b=0;
c=0;
d=0;
Form1->Edit1->Text=IntToStr(a); //将整形数据转换为字符串输出
Form1->Edit2->Text=IntToStr(b);
Form1->Edit3->Text=IntToStr(c);
Form1->Edit4->Text=IntToStr(d);
//Timer1->Enabled=true;
}
else if(str==2)
{
Timer1->Enabled=false; //关闭定时器1
}
else if(str==3)
Timer1->Enabled=true;
else
Timer1->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer6Timer(TObject *Sender)
{
MSComm1->Output=StringToOleStr("a"); //计数器1自动发送
MSComm1->Output=StringToOleStr(Edit4->Text);
MSComm1->Output=StringToOleStr(Edit3->Text);
MSComm1->Output=StringToOleStr(Edit2->Text);
MSComm1->Output=StringToOleStr(Edit1->Text);
for(i=0;i<1000;i++)
{}
MSComm1->Output=StringToOleStr("b"); //计数器2自动发送
MSComm1->Output=StringToOleStr(Edit8->Text);
MSComm1->Output=StringToOleStr(Edit7->Text);
MSComm1->Output=StringToOleStr(Edit6->Text);
MSComm1->Output=StringToOleStr(Edit5->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button22Click(TObject *Sender)
{
if(MSComm1->PortOpen==false) //开启联合发送数据
ShowMessage("串口未打开!");
else if(Timer3->Enabled==true)
ShowMessage("请先停止计数器1自动发送");
else if(Timer5->Enabled==true)
ShowMessage("请先停止计数器2自动发送");
else
Timer6->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button23Click(TObject *Sender)
{
Timer6->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ScrollBar1Scroll(TObject *Sender,
TScrollCode ScrollCode, int &ScrollPos)
{
scr1=ScrollBar1->Position;
Form1->Edit9->Text=IntToStr(scr1);
if(scr1>0)
Timer1->Interval=1000/scr1;
else
Timer1->Interval=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ScrollBar2Scroll(TObject *Sender,
TScrollCode ScrollCode, int &ScrollPos)
{
scr2=ScrollBar2->Position;
Form1->Edit10->Text=IntToStr(scr2);
if(scr2>0)
Timer4->Interval=1000/scr2;
else
Timer4->Interval=0;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -