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

📄 chaxunu.~cpp

📁 这是个16路采集器的上位机源码。该套程序是由C++builder开发的
💻 ~CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "chaxunU.h"
#include "MainU.h"
#include "BaobiaoSetU.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "Button3D"
#pragma resource "*.dfm"
TChaxunFrm *ChaxunFrm;
//---------------------------------------------------------------------------
__fastcall TChaxunFrm::TChaxunFrm(TComponent* Owner)
        : TForm(Owner)
{   Line[0]= Series1;
    Line[1]= Series2;
    Line[2]= Series3;
    Line[3]= Series4;
    Line[4]= Series5;
    Line[5]= Series6;
    Line[6]= Series7;
    Line[7]= Series8;
    Line[8]= Series9;
    Line[9]= Series10;
    Line[10]= Series11;
    Line[11]= Series12;
    Line[12]= Series13;
    Line[13]= Series14;
    Line[14]= Series15;
    Line[15]= Series16;
    start=MainFrm->start;
    end=Now();
    Edit1->Text=DateTimeToStr(start);
    Edit2->Text=DateTimeToStr(end);
}
//---------------------------------------------------------------------------

void __fastcall TChaxunFrm::Button1Click(TObject *Sender)
{
    ADOQuery1->Close();
    Word SYear, SMonth, SDay, SHour, SMinute, SSec, SMSec;
    Word EYear, EMonth, EDay, EHour, EMinute, ESec, EMSec;
    DecodeDate(StrToDateTime(Edit1->Text), SYear, SMonth, SDay);
    DecodeTime(StrToDateTime(Edit1->Text), SHour, SMinute, SSec, SMSec);
    DecodeDate(StrToDateTime(Edit2->Text), EYear, EMonth, EDay);
    DecodeTime(StrToDateTime(Edit2->Text), EHour, EMinute, ESec, EMSec);
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("select * from chanel\n");
    ADOQuery1->SQL->Add("where datetime>=DateSerial("+AnsiString(SYear)+","+AnsiString(SMonth)+","+AnsiString(SDay)+")+TimeSerial("+AnsiString(SHour)+","+AnsiString(SMinute)+","+AnsiString(SSec)+")\n");
    ADOQuery1->SQL->Add("and datetime<=DateSerial("+AnsiString(EYear)+","+AnsiString(EMonth)+","+AnsiString(EDay)+")+TimeSerial("+AnsiString(EHour)+","+AnsiString(EMinute)+","+AnsiString(ESec)+")\n");
    ADOQuery1->Open();
    int step=ADOQuery1->RecordCount/1000;
    if(step==0) step=1;
  if(ADOQuery1->RecordCount>1000)
   {
     int retmsg=Application->MessageBox("查询到符合的记录大于1000条,由于数据量太大,绘制图表可能需要很长的时间,是否要绘制图表?","提示",MB_YESNO+MB_ICONWARNING);
     if(retmsg==IDNO) return;
   }  
  if(ADOQuery1->RecordCount!=0)
   { ADOQuery1->First();
     while((ADOQuery1->RecNo)!=(ADOQuery1->RecordCount))
     { Series1->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy1")->AsFloat);
       Series2->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy2")->AsFloat);
       Series3->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy3")->AsFloat);
       Series4->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy4")->AsFloat);
       Series5->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy5")->AsFloat);
       Series6->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy6")->AsFloat);
       Series7->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy7")->AsFloat);
       Series8->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy8")->AsFloat);
       Series9->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy9")->AsFloat);
       Series10->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy10")->AsFloat);
       Series11->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy11")->AsFloat);
       Series12->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy12")->AsFloat);
       Series13->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy13")->AsFloat);
       Series14->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy14")->AsFloat);
       Series15->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy15")->AsFloat);
       Series16->AddXY(ADOQuery1->RecNo,ADOQuery1->FieldByName("chy16")->AsFloat);
       ADOQuery1->RecNo=ADOQuery1->RecNo+step;
     }
   }
  else
    Application->MessageBox("没有符合当前条件的数据!","提示",MB_ICONWARNING);
}
//---------------------------------------------------------------------------
void __fastcall TChaxunFrm::ComboBox1Change(TObject *Sender)
{
    int i;
    for(i=0;i<16;i++)
    { if(i!=ComboBox1->ItemIndex)
       Line[i]->Active=false;
      else
      {
        Line[i]->Active=true;
        Chart1->Title->Text->Text="数据查询图表----通道"+AnsiString(i+1);
      }
    }
}
//---------------------------------------------------------------------------

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

void __fastcall TChaxunFrm::FormClose(TObject *Sender,
      TCloseAction &Action)
{
    if( ADOQuery1->Active == true )  // by fang 2008.1.16
                 ADOQuery1->Close();
}
//---------------------------------------------------------------------------

void __fastcall TChaxunFrm::ADOTable1BeforePost(TDataSet *DataSet)
{
       //by fang 2008.3.26
    AnsiString ConnStr="";
    ConnStr  = " Provider=Microsoft.Jet.OLEDB.4.0;";
    ConnStr += "Data Source=" + MainFrm->AdoDir+";";
    ConnStr += " Persist Security Info=False";
    this->ADOQuery1->ConnectionString = ConnStr;
}
//---------------------------------------------------------------------------

void __fastcall TChaxunFrm::FormCreate(TObject *Sender)
{
   MainFrm->ADOTable1->Open();
   MainFrm->ADOTable1->First();
   Edit1->Text=MainFrm->ADOTable1->FieldByName("datetime")->AsString;
   MainFrm->ADOTable1->Last();
   Edit2->Text=MainFrm->ADOTable1->FieldByName("datetime")->AsString;
   MainFrm->ADOTable1->Close();
   //Edit1->Text=DateTimeToStr(MainFrm->start);
   //Edit2->Text=DateTimeToStr(MainFrm->end);
   ADOQuery1->Close();
   ADOQuery1->SQL->Clear();
   ADOQuery1->SQL->Add("select * from chanel\n");
   ADOQuery1->Open();
   Sleep(20);

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

void __fastcall TChaxunFrm::Button2Click(TObject *Sender)
{
  Application->CreateForm(__classid(TBaobiaoSetFrm), &BaobiaoSetFrm);
  BaobiaoSetFrm->SEdit->Text=this->Edit1->Text;
  BaobiaoSetFrm->EEdit->Text=this->Edit2->Text;
  BaobiaoSetFrm->ShowModal();      
}
//---------------------------------------------------------------------------


void __fastcall TChaxunFrm::Button3D1Click(TObject *Sender)
{
  Button1Click(Sender);
}
//---------------------------------------------------------------------------

void __fastcall TChaxunFrm::Button3D2Click(TObject *Sender)
{
  Button2Click(Sender);
}
//---------------------------------------------------------------------------

void __fastcall TChaxunFrm::Button3D3Click(TObject *Sender)
{
  btnExitClick(Sender);      
}
//---------------------------------------------------------------------------

void __fastcall TChaxunFrm::Label5MouseMove(TObject *Sender,
      TShiftState Shift, int X, int Y)
{
   Label5->Font->Color=clRed;
}
//---------------------------------------------------------------------------

void __fastcall TChaxunFrm::Label5MouseLeave(TObject *Sender)
{
   Label5->Font->Color=clBlack;
}
//---------------------------------------------------------------------------

void __fastcall TChaxunFrm::Label5Click(TObject *Sender)
{
  Chart1->Gradient->Visible=false;
  Chart1->Print();
  Chart1->Gradient->Visible=true;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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