📄 unthumsearch.~pas
字号:
unit untHumSearch;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, Grids, DBGrids, TeEngine, Series,
TeeProcs, Chart, DbChart, DB, ADODB;
type
TfrmSdSearch = class(TForm)
Label1: TLabel;
btnSearchQuit: TButton;
StaticText4: TStaticText;
dttmrSearchDateBegin: TDateTimePicker;
dttmrSearchTimeBegin: TDateTimePicker;
dttmrSearchDateEnd: TDateTimePicker;
dttmrSearchTimeEnd: TDateTimePicker;
btnSearchYes: TButton;
btnseachprint: TButton;
Notebook1: TNotebook;
Label14: TLabel;
ComboBox1: TComboBox;
CheckBox1: TCheckBox;
dbchrtTemp: TDBChart;
Series1: TLineSeries;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ADOQueryHum: TADOQuery;
procedure btnSearchQuitClick(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnSearchYesClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmSdSearch: TfrmSdSearch;
humTblSearchFlag : Byte;
implementation
uses
untDMmain;
{$R *.dfm}
procedure TfrmSdSearch.btnSearchQuitClick(Sender: TObject);
begin
close;
end;
procedure TfrmSdSearch.CheckBox1Click(Sender: TObject);
Var
strbegin,strend :String;
i,j: Integer;
begin
if CheckBox1.Checked then
begin
// 被选中 ,显示曲线
NoteBook1.ActivePage := NoteBook1.Pages[0];
with dbchrtTemp do
begin
strbegin:=datetostr(dttmrSearchDateBegin.Date)+' '+timetostr(dttmrSearchTimeBegin.Time);
strend:=datetostr(dttmrSearchDateEnd.Date)+' '+timetostr(dttmrSearchTimeEnd.Time);
bottomAxis.SetMinMax(strtodatetime(strbegin),strtodatetime(strend));
if humTblSearchFlag = 1 then
begin
// 已经进行过表格查询
With series1 do
begin
for i :=0 to ADOQueryHum.RecordCount-1 do
begin
//显示数据
AddXY(ADOQueryHum.Fields[0].Value,ADOQueryHum.Fields[1].Value,'',clGreen);
ADOQueryHum.next;
end;
end;
end;
AddSeries(Series1);
end;
end
else
// 未被选中 ,显示表
NoteBook1.ActivePage := NoteBook1.Pages[1];
end;
procedure TfrmSdSearch.FormCreate(Sender: TObject);
begin
// 初始化
dttmrSearchDateBegin.Date := Date;
dttmrSearchTimeBegin.Time := Time;
dttmrSearchDateEnd.Date := Date;
dttmrSearchTimeEnd.Time := Time;
ComboBox1.ItemIndex :=0; // 选中第1点
// NoteBook1.ActivePage := NoteBook1.Pages[1];
// 温度曲线设置
With dbchrtTemp do
AnimatedZoom:=True;
begin
With Series1 do
begin
// set series1
Xvalues.DateTime := true;
end;
end;
end;
procedure TfrmSdSearch.btnSearchYesClick(Sender: TObject);
var
SearchDateBegin,SearchTimeBegin,SearchDateEnd,SearchTimeEnd:Tdatetime;
rightFlag : byte; // 正确标志
begin
dttmrSearchDateBegin.Time :=0;
SearchDateBegin:=dttmrSearchDateBegin.date;
SearchTimeBegin:=dttmrSearchTimeBegin.Time;
dttmrSearchDateEnd.Time :=0;
SearchDateEnd:=dttmrSearchDateEnd.date;
SearchTimeEnd:=dttmrSearchTimeEnd.Time;
rightFlag := 1;
if SearchDateBegin>SearchDateEnd then
begin
showmessage('查询日期有错');
rightFlag := 0;
end;
if (SearchDateBegin=SearchDateEnd) and (SearchTimeBegin>SearchTimeEnd) then
begin
showmessage('查询时间有错');
rightFlag := 0;
end;
if rightFlag = 1 then
begin
// 输入正确的情况下,查询
with ADOQueryHum do
begin
sql.Clear;
sql.Add('select saveTime as 时间, ');
sql.Add( 'hum'+inttoStr(ComboBox1.ItemIndex + 1));
sql.Add(' as 湿度 from tblRunData');
sql.Add('where saveTime >= :BeginTime and saveTime <= :EndTime');
Parameters[0].Value := datetostr(SearchDateBegin)+' '+timetostr(SearchTimeBegin);
Parameters[1].Value := datetostr(SearchDateEnd)+' '+timetostr(SearchTimeEnd);
Open;
end;
humTblSearchFlag := 1;
DBGrid1.Visible := True;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -