📄 counter.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Counter.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "MSCommLib_OCX"
#pragma link "DBUILib_OCX"
#pragma resource "*.dfm"
TForm1 *Form1;
int a=0;
int b=0;
int c=0;
int d=0;
int e=0;
int f=0;
int g=0;
int h=0;
int m=1;
int n=1;
int i;
int scr1,scr2;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
if(MSComm1->PortOpen)
Shape1->Brush->Color=clGreen;
//DBoolean1->Value=1;
else
Shape1->Brush->Color=clRed;
//DBoolean1->Value=0;
//DSlide1->Value=OleVariant(a); 可用程序
//Timer1->Interval=DKnob1->Value;
//Timer4->Interval=DKnob2->Value;
//Timer1->Interval=DKnob1->Pointer1->Value.date;
MSComm1->RThreshold=1;
MSComm1->InputLen=1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if(m==1) //实现四位数递增显示
{
a=a+1;
if(a>9)
{
a=0;
b=b+1;
if(b>9)
{
b=0;
c=c+1;
if(c>9)
{
c=0;
d=d+1;
if(d>9)
{
d=0;
}
}
}
}
Form1->Edit1->Text=IntToStr(a); //将整形数据转换为字符串输出
Form1->Edit2->Text=IntToStr(b);
Form1->Edit3->Text=IntToStr(c);
Form1->Edit4->Text=IntToStr(d);
}
else //实现四位数递减显示
{
if(a>0)
a=a-1;
else if(a==0)
{
if(b>0)
{
b=b-1;
a=9;
}
else if(b==0)
{
if(c>0)
{
c=c-1;
b=9;
}
else if(c==0)
{
if(d>0)
{
d=d-1;
c=9;
}
else if(d==0)
a=b=c=d=9;
}
}
}
Form1->Edit1->Text=IntToStr(a); //将整形数据转换为字符串输出
Form1->Edit2->Text=IntToStr(b);
Form1->Edit3->Text=IntToStr(c);
Form1->Edit4->Text=IntToStr(d);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(Timer1->Interval>0)
Timer1->Enabled=true; //启动定时器1
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Timer1->Enabled=false; //关闭定时器1
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form1->Close(); //关闭窗口
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
if (MSComm1->PortOpen) //打开串口程序
{
if(Timer3->Enabled==true)
ShowMessage("请先停止发送!");
else
MSComm1->PortOpen = false;
}
switch(RadioGroup1->ItemIndex) //选择串口
{
case 0:
{
MSComm1->CommPort=1;
ShowMessage("串口COM1已打开!");
//MSComm1->PortOpen=true;
break;
}
case 1:
{
MSComm1->CommPort=2;
ShowMessage("串口COM2已打开!");
//MSComm1->PortOpen=true;
break;
}
case 2:
{
MSComm1->CommPort=3;
ShowMessage("串口COM3已打开!");
//MSComm1->PortOpen=true;
break;
}
case 3:
{
MSComm1->CommPort=4;
ShowMessage("串口COM4已打开!");
//MSComm1->PortOpen=true;
break;
}
}
//通讯参数设置
MSComm1->Settings=ComboBox1->Text+","+ComboBox4->Text+","+ComboBox2->Text+","+ComboBox3->Text;
MSComm1->InputMode=0; //设置传入数据的格式,0表示文本形式
MSComm1->RThreshold=1;
MSComm1->InputLen=1;
MSComm1->PortOpen=true; //打开串口
if(MSComm1->PortOpen)
Shape1->Brush->Color=clGreen;
//DBoolean1->Value=1;
return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
Form1->Label2->Caption=TimeToStr(Time()); //显示系统时间
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
if(MSComm1->PortOpen==false) //关闭串口程序
ShowMessage("串口已经关闭!");
else if(Timer3->Enabled==true)
ShowMessage("请先停止计数器1发送数据!");
else if(Timer5->Enabled==true)
ShowMessage("请先停止计数器2发送数据!");
else if(Timer6->Enabled==true)
ShowMessage("请先停止计数器联合发送数据!");
else
{
MSComm1->PortOpen=false;
ShowMessage("串口已关闭!");
if(MSComm1->PortOpen==false)
Shape1->Brush->Color=clRed;
//DBoolean1->Value=0;
return;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
if(MSComm1->PortOpen==false) //手动发送数据
ShowMessage("串口未打开!");
else
{
//MSComm1->Settings=ComboBox1->Text+","+"M"+","+ComboBox2->Text+","+ComboBox3->Text;
MSComm1->Output=StringToOleStr("a");
//MSComm1->Settings=ComboBox1->Text+","+"S"+","+ComboBox2->Text+","+ComboBox3->Text;
MSComm1->Output=StringToOleStr(Edit4->Text);
MSComm1->Output=StringToOleStr(Edit3->Text);
MSComm1->Output=StringToOleStr(Edit2->Text);
MSComm1->Output=StringToOleStr(Edit1->Text);
MSComm1->Output=StringToOleStr("a"); //定时器3自动发送程序
MSComm1->Output=StringToOleStr(Edit4->Text);
MSComm1->Output=StringToOleStr(Edit3->Text);
MSComm1->Output=StringToOleStr(Edit2->Text);
MSComm1->Output=StringToOleStr(Edit1->Text);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button7Click(TObject *Sender)
{
if(MSComm1->PortOpen==false) //开启自动发送数据
ShowMessage("串口未打开!");
else if(Timer5->Enabled==true)
ShowMessage("请先停止计数器2发送数据!");
else if(Timer6->Enabled==true)
ShowMessage("请先停止计数器联合发送数据!");
else
Timer3->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer3Timer(TObject *Sender)
{
MSComm1->Output=StringToOleStr("a"); //定时器3自动发送程序
MSComm1->Output=StringToOleStr(Edit4->Text);
MSComm1->Output=StringToOleStr(Edit3->Text);
MSComm1->Output=StringToOleStr(Edit2->Text);
MSComm1->Output=StringToOleStr(Edit1->Text);
MSComm1->Output=StringToOleStr("a"); //定时器3自动发送程序
MSComm1->Output=StringToOleStr(Edit4->Text);
MSComm1->Output=StringToOleStr(Edit3->Text);
MSComm1->Output=StringToOleStr(Edit2->Text);
MSComm1->Output=StringToOleStr(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button8Click(TObject *Sender)
{
Timer3->Enabled=false; //停止自动发送数据
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button9Click(TObject *Sender)
{
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);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -