📄 chaxunu.~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 + -