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

📄 unit5.cpp

📁 实现RS232数据采集处理,设置RS23传输参数,显示控制终端的数据.
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit5.h"
#include "main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm5 *Form5;
int canclose=0;
//---------------------------------------------------------------------------
__fastcall TForm5::TForm5(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm5::BitBtn2Click(TObject *Sender)
{
 canclose=1;
 Form5->Close();
}
//---------------------------------------------------------------------------

void __fastcall TForm5::FormCreate(TObject *Sender)
{
 String path;
 path=GetCurrentDir();
 Table1->TableName=path+"\\"+"shebei";
 Table1->Active=true;
 for(int i=1;i<=255;i++)
  ComboBox1->Items->Add(IntToStr(i));

}
//---------------------------------------------------------------------------
void __fastcall TForm5::BitBtn1Click(TObject *Sender)
{
if(Edit1->Text==""||Edit2->Text==""||Edit3->Text==""||ComboBox1->Text=="")
  {ShowMessage("请将内容填写完整!");canclose=0; return;}

if(Edit1->Text!=Edit4->Text)
{
 Table1->First();
 for(int i=0;i<Table1->RecordCount;i++)
  {if(Table1->FieldByName("Name")->AsString==Edit1->Text)
   {ShowMessage("设备名称已经存在,请重输!");
    Edit1->Text=Edit4->Text;Edit1->SelectAll(); canclose=0; return;}
   Table1->Next();}
  }

if(Edit5->Text!=Edit2->Text)
{Table1->First();
 for(int i=0;i<Table1->RecordCount;i++)
   {if(Table1->FieldByName("Addr")->AsString==Edit2->Text)
   {ShowMessage("该地址已经存在,请重输!");
    Edit2->Text=Edit5->Text;Edit2->SelectAll(); canclose=0; return;}
   Table1->Next();}
   }


 Table1->First();
 for(int i=0;i<Table1->RecordCount;i++)
 {if(Table1->FieldByName("Name")->AsString==Edit4->Text) break;
  Table1->Next();}
 Table1->Edit();

 Table1->FieldByName("Name")->AsString=Edit1->Text;
 Table1->FieldByName("Addr")->AsString=Edit2->Text;
 Table1->FieldByName("LocNum")->AsString=ComboBox1->Text;
 Table1->FieldByName("LocName")->AsString=Edit3->Text;
 Table1->FieldByName("Memo")->AsString=Memo1->Text;
 Table1->Post();
 Form5->Table1->Refresh();
 FormMain->TableP->Refresh();
 Edit3->ReadOnly=true;
 Edit1->SetFocus();
 canclose=1;
 Form5->Close();

}
//---------------------------------------------------------------------------
void __fastcall TForm5::FormShow(TObject *Sender)
{
  Table1->First();
 for(int i=0;i<Table1->RecordCount;i++)
   {if(Edit1->Text==Table1->FieldByName("Name")->AsString) break;
    Table1->Next();}
// Edit1->Text=Table1->FieldByName("Name")->AsString;
 Edit2->Text=Table1->FieldByName("Addr")->AsString;
 Edit5->Text=Edit2->Text;
 Edit3->Text=Table1->FieldByName("LocName")->AsString;
 ComboBox1->Text=Table1->FieldByName("LocNum")->AsString;
 Memo1->Text=Table1->FieldByName("Memo")->AsString;
 Edit1->SetFocus();
        
}
//---------------------------------------------------------------------------

void __fastcall TForm5::Edit2KeyUp(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
    if((Key>47&&Key<58)||Key==8||(Key>95&&Key<106))
 {if (Edit2->Text==""||Edit2->Text.ToInt()==0) {Edit2->Text='0';Edit2->SelectAll(); return;}
 else if(Edit2->Text.ToInt()>255)
 {ShowMessage("请输入0至255之间的数");Edit2->Text='0';}
 }
 else  {ShowMessage("请输入数字");Edit2->Text="0";}
}
//---------------------------------------------------------------------------

void __fastcall TForm5::ComboBox1Change(TObject *Sender)
{
 int combonum;
 combonum=ComboBox1->Text.ToInt();  
 Table1->First();
 for (int count=0;count<Table1->RecordCount;count++)
 {if (combonum==Table1->FieldByName("LocNum")->AsString.ToInt())
   {Edit3->Text=Table1->FieldByName("LocName")->AsString;Edit3->ReadOnly=true; return;}
  else {Edit3->ReadOnly=false;Edit3->Clear();}
   Table1->Next();  }
}
//---------------------------------------------------------------------------

void __fastcall TForm5::ComboBox1KeyUp(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
 if(ComboBox1->Text==' '||ComboBox1->Text==0) ComboBox1->Text='1';
}
//---------------------------------------------------------------------------

void __fastcall TForm5::FormCloseQuery(TObject *Sender, bool &CanClose)
{
 if(canclose==1) canclose=0;
 else {CanClose=false;return;}        
}
//---------------------------------------------------------------------------

 

⌨️ 快捷键说明

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