📄 baobiaosetu.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "BaobiaoSetU.h"
#include "BaobiaoU.h"
#include "MainU.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "Button3D"
#pragma resource "*.dfm"
TBaobiaoSetFrm *BaobiaoSetFrm;
//---------------------------------------------------------------------------
__fastcall TBaobiaoSetFrm::TBaobiaoSetFrm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TBaobiaoSetFrm::Button1Click(TObject *Sender)
{ Application->Initialize();
Application->CreateForm(__classid(TBaobiaoFrm), &BaobiaoFrm);
BaobiaoFrm->ADOQuery1->Active=false;
switch(ComboBox1->ItemIndex)
{ case 1: BaobiaoFrm->QRLC1->Caption="通道1";
BaobiaoFrm->QRLC2->Caption="通道2";
BaobiaoFrm->QRLC3->Caption="通道3";
BaobiaoFrm->QRLC4->Caption="通道4";
BaobiaoFrm->QRDBTC1->DataField="chy1";
BaobiaoFrm->QRDBTC2->DataField="chy2";
BaobiaoFrm->QRDBTC3->DataField="chy3";
BaobiaoFrm->QRDBTC4->DataField="chy4";
break;
case 2: BaobiaoFrm->QRLC1->Caption="通道5";
BaobiaoFrm->QRLC2->Caption="通道6";
BaobiaoFrm->QRLC3->Caption="通道7";
BaobiaoFrm->QRLC4->Caption="通道8";
BaobiaoFrm->QRDBTC1->DataField="chy5";
BaobiaoFrm->QRDBTC2->DataField="chy6";
BaobiaoFrm->QRDBTC3->DataField="chy7";
BaobiaoFrm->QRDBTC4->DataField="chy8";
break;
case 3: BaobiaoFrm->QRLC1->Caption="通道9";
BaobiaoFrm->QRLC2->Caption="通道10";
BaobiaoFrm->QRLC3->Caption="通道11";
BaobiaoFrm->QRLC4->Caption="通道12";
BaobiaoFrm->QRDBTC1->DataField="chy9";
BaobiaoFrm->QRDBTC2->DataField="chy10";
BaobiaoFrm->QRDBTC3->DataField="chy11";
BaobiaoFrm->QRDBTC4->DataField="chy12";
break;
case 4: BaobiaoFrm->QRLC1->Caption="通道13";
BaobiaoFrm->QRLC2->Caption="通道14";
BaobiaoFrm->QRLC3->Caption="通道15";
BaobiaoFrm->QRLC4->Caption="通道16";
BaobiaoFrm->QRDBTC1->DataField="chy13";
BaobiaoFrm->QRDBTC2->DataField="chy14";
BaobiaoFrm->QRDBTC3->DataField="chy15";
BaobiaoFrm->QRDBTC4->DataField="chy16";
break;
default: ShowMessage("请选择通道");
return;
} //end switch
Word SYear, SMonth, SDay, SHour, SMinute, SSec, SMSec;
Word EYear, EMonth, EDay, EHour, EMinute, ESec, EMSec;
DecodeDate(StrToDateTime(SEdit->Text), SYear, SMonth, SDay);
DecodeTime(StrToDateTime(SEdit->Text), SHour, SMinute, SSec, SMSec);
DecodeDate(StrToDateTime(EEdit->Text), EYear, EMonth, EDay);
DecodeTime(StrToDateTime(EEdit->Text), EHour, EMinute, ESec, EMSec);
BaobiaoFrm->ADOQuery1->SQL->Clear();
BaobiaoFrm->ADOQuery1->SQL->Add("select * from chanel\n");
BaobiaoFrm->ADOQuery1->SQL->Add("where datetime>=DateSerial("+AnsiString(SYear)+","+AnsiString(SMonth)+","+AnsiString(SDay)+")+TimeSerial("+AnsiString(SHour)+","+AnsiString(SMinute)+","+AnsiString(SSec)+")\n");
//BaobiaoFrm->ADOQuery1->SQL->Add("and time>=TimeSerial("+AnsiString(SHour)+","+AnsiString(SMinute)+","+AnsiString(SSec)+")\n");
BaobiaoFrm->ADOQuery1->SQL->Add("and datetime<=DateSerial("+AnsiString(EYear)+","+AnsiString(EMonth)+","+AnsiString(EDay)+")+TimeSerial("+AnsiString(EHour)+","+AnsiString(EMinute)+","+AnsiString(ESec)+")\n");
//BaobiaoFrm->ADOQuery1->SQL->Add("and time<=TimeSerial("+AnsiString(EHour)+","+AnsiString(EMinute)+","+AnsiString(ESec)+")\n");
BaobiaoFrm->ADOQuery1->Open();
if(BaobiaoFrm->ADOQuery1->RecordCount==0)
{
BaobiaoFrm->ADOQuery1->Close();
BaobiaoFrm->Close();
ShowMessage("没有数据可打印!");
return;
}
BaobiaoFrm->QuickRep1->Preview();
this->Close();
}
//---------------------------------------------------------------------------
void __fastcall TBaobiaoSetFrm::FormCreate(TObject *Sender)
{
SEdit->Text=DateTimeToStr(MainFrm->start);
EEdit->Text=DateTimeToStr(MainFrm->end);
}
//---------------------------------------------------------------------------
void __fastcall TBaobiaoSetFrm::Button2Click(TObject *Sender)
{
//Application->Initialize();
Application->CreateForm(__classid(TBaobiaoFrm), &BaobiaoFrm);
BaobiaoFrm->ADOQuery1->Active=false;
/*
switch(ComboBox1->ItemIndex)
{ case 1: BaobiaoFrm->QRLC1->Caption="通道1";
BaobiaoFrm->QRLC2->Caption="通道2";
BaobiaoFrm->QRLC3->Caption="通道3";
BaobiaoFrm->QRLC4->Caption="通道4";
BaobiaoFrm->QRDBTC1->DataField="chy1";
BaobiaoFrm->QRDBTC2->DataField="chy2";
BaobiaoFrm->QRDBTC3->DataField="chy3";
BaobiaoFrm->QRDBTC4->DataField="chy4";
break;
case 2: BaobiaoFrm->QRLC1->Caption="通道5";
BaobiaoFrm->QRLC2->Caption="通道6";
BaobiaoFrm->QRLC3->Caption="通道7";
BaobiaoFrm->QRLC4->Caption="通道8";
BaobiaoFrm->QRDBTC1->DataField="chy5";
BaobiaoFrm->QRDBTC2->DataField="chy6";
BaobiaoFrm->QRDBTC3->DataField="chy7";
BaobiaoFrm->QRDBTC4->DataField="chy8";
break;
case 3: BaobiaoFrm->QRLC1->Caption="通道9";
BaobiaoFrm->QRLC2->Caption="通道10";
BaobiaoFrm->QRLC3->Caption="通道11";
BaobiaoFrm->QRLC4->Caption="通道12";
BaobiaoFrm->QRDBTC1->DataField="chy9";
BaobiaoFrm->QRDBTC2->DataField="chy10";
BaobiaoFrm->QRDBTC3->DataField="chy11";
BaobiaoFrm->QRDBTC4->DataField="chy12";
break;
case 4: BaobiaoFrm->QRLC1->Caption="通道13";
BaobiaoFrm->QRLC2->Caption="通道14";
BaobiaoFrm->QRLC3->Caption="通道15";
BaobiaoFrm->QRLC4->Caption="通道16";
BaobiaoFrm->QRDBTC1->DataField="chy13";
BaobiaoFrm->QRDBTC2->DataField="chy14";
BaobiaoFrm->QRDBTC3->DataField="chy15";
BaobiaoFrm->QRDBTC4->DataField="chy16";
break;
default: ShowMessage("请选择通道");
return;
} //end switch
*/
Word SYear, SMonth, SDay, SHour, SMinute, SSec, SMSec;
Word EYear, EMonth, EDay, EHour, EMinute, ESec, EMSec;
DecodeDate(StrToDateTime(SEdit->Text), SYear, SMonth, SDay);
DecodeTime(StrToDateTime(SEdit->Text), SHour, SMinute, SSec, SMSec);
DecodeDate(StrToDateTime(EEdit->Text), EYear, EMonth, EDay);
DecodeTime(StrToDateTime(EEdit->Text), EHour, EMinute, ESec, EMSec);
BaobiaoFrm->ADOQuery1->SQL->Clear();
BaobiaoFrm->ADOQuery1->SQL->Add("select * from chanel\n");
BaobiaoFrm->ADOQuery1->SQL->Add("where datetime>=DateSerial("+AnsiString(SYear)+","+AnsiString(SMonth)+","+AnsiString(SDay)+")+TimeSerial("+AnsiString(SHour)+","+AnsiString(SMinute)+","+AnsiString(SSec)+")\n");
BaobiaoFrm->ADOQuery1->SQL->Add("and datetime<=DateSerial("+AnsiString(EYear)+","+AnsiString(EMonth)+","+AnsiString(EDay)+")+TimeSerial("+AnsiString(EHour)+","+AnsiString(EMinute)+","+AnsiString(ESec)+")\n");
BaobiaoFrm->ADOQuery1->Open();
if(BaobiaoFrm->ADOQuery1->RecordCount==0)
{
BaobiaoFrm->ADOQuery1->Close();
BaobiaoFrm->Close();
ShowMessage("没有数据可打印!");
//this->Close();
return;
}
//异常处理
try
{
excelapp=Variant::CreateObject("Excel.Application");
}
catch(...)
{
Application->MessageBox("无法创建Excel表格,请检查您的系统是否安装了Excel!","错误",MB_ICONERROR);
return;
}
excelapp=Variant::CreateObject("Excel.Application");
excelapp.OlePropertySet("Visible", true);
excelapp.OlePropertyGet("workbooks").OleFunction("add",1);
workbook1=excelapp.OlePropertyGet("ActiveWorkbook");
sheet1=workbook1.OlePropertyGet("ActiveSheet");
excelapp.OlePropertySet("statusbar","您好,请稍等,USB数据采集器正在查询数据库...");
excelapp.OlePropertyGet("columns",2).OlePropertySet("columnwidth",16);
sheet1.OlePropertyGet("cells",1,6).OlePropertySet("value",AnsiString("USB数据采集器报表").c_str());
sheet1.OlePropertyGet("cells",2,1).OlePropertySet("value",AnsiString("序号").c_str());
sheet1.OlePropertyGet("cells",2,2).OlePropertySet("value",AnsiString("采集时间").c_str());
sheet1.OlePropertyGet("cells",2,3).OlePropertySet("value",AnsiString("通道1").c_str());
sheet1.OlePropertyGet("cells",2,4).OlePropertySet("value",AnsiString("通道2").c_str());
sheet1.OlePropertyGet("cells",2,5).OlePropertySet("value",AnsiString("通道3").c_str());
sheet1.OlePropertyGet("cells",2,6).OlePropertySet("value",AnsiString("通道4").c_str());
sheet1.OlePropertyGet("cells",2,7).OlePropertySet("value",AnsiString("通道5").c_str());
sheet1.OlePropertyGet("cells",2,8).OlePropertySet("value",AnsiString("通道6").c_str());
sheet1.OlePropertyGet("cells",2,9).OlePropertySet("value",AnsiString("通道7").c_str());
sheet1.OlePropertyGet("cells",2,10).OlePropertySet("value",AnsiString("通道8").c_str());
sheet1.OlePropertyGet("cells",2,11).OlePropertySet("value",AnsiString("通道9").c_str());
sheet1.OlePropertyGet("cells",2,12).OlePropertySet("value",AnsiString("通道10").c_str());
sheet1.OlePropertyGet("cells",2,13).OlePropertySet("value",AnsiString("通道11").c_str());
sheet1.OlePropertyGet("cells",2,14).OlePropertySet("value",AnsiString("通道12").c_str());
sheet1.OlePropertyGet("cells",2,15).OlePropertySet("value",AnsiString("通道13").c_str());
sheet1.OlePropertyGet("cells",2,16).OlePropertySet("value",AnsiString("通道14").c_str());
sheet1.OlePropertyGet("cells",2,17).OlePropertySet("value",AnsiString("通道15").c_str());
sheet1.OlePropertyGet("cells",2,18).OlePropertySet("value",AnsiString("通道16").c_str());
BaobiaoFrm->ADOQuery1->First();
int i=3;
while(!BaobiaoFrm->ADOQuery1->Eof)
{ sheet1.OlePropertyGet("cells",i,1).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("number")->AsInteger).c_str());
sheet1.OlePropertyGet("cells",i,2).OlePropertySet("value",DateTimeToStr(BaobiaoFrm->ADOQuery1->FieldByName("datetime")->AsDateTime).c_str());
sheet1.OlePropertyGet("cells",i,3).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy1")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,4).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy2")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,5).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy3")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,6).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy4")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,7).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy5")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,8).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy6")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,9).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy7")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,10).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy8")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,11).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy9")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,12).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy10")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,13).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy11")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,14).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy12")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,15).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy13")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,16).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy14")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,17).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy15")->AsString).c_str());
sheet1.OlePropertyGet("cells",i,18).OlePropertySet("value",AnsiString(BaobiaoFrm->ADOQuery1->FieldByName("chy16")->AsString).c_str());
i++;
BaobiaoFrm->ADOQuery1->Next();
}
BaobiaoFrm->ADOQuery1->Close();
excelapp.OlePropertySet("statusbar","完成");
BaobiaoFrm->Close();
}
//---------------------------------------------------------------------------
void __fastcall TBaobiaoSetFrm::RadioButton2Click(TObject *Sender)
{
Label2->Enabled=true;
ComboBox1->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TBaobiaoSetFrm::RadioButton1Click(TObject *Sender)
{
Label2->Enabled=false;
ComboBox1->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TBaobiaoSetFrm::Button3D1Click(TObject *Sender)
{
if(RadioButton1->Checked)
Button2Click(Sender);
else
Button1Click(Sender);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -