📄 unttemsearch.~pas
字号:
unit untTemSearch;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, Grids, DBGrids, TeEngine, Series,
TeeProcs, Chart, DbChart, DB, ADODB;
type
TfrmWdSearch = 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;
ADOQueryTem: TADOQuery;
procedure btnSearchQuitClick(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnSearchYesClick(Sender: TObject);
procedure btnseachprintClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmWdSearch: TfrmWdSearch;
tblSearchFlag : Byte;
implementation
uses
untDMmain;
{$R *.dfm}
procedure TfrmWdSearch.btnSearchQuitClick(Sender: TObject);
begin
close;
end;
procedure TfrmWdSearch.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 tblSearchFlag = 1 then
begin
// 已经进行过表格查询
With series1 do
begin
for i :=0 to ADOQueryTem.RecordCount-1 do
begin
//显示数据
AddXY(ADOQueryTem.Fields[0].Value,ADOQueryTem.Fields[1].Value,'',clGreen);
ADOQueryTem.next;
end;
//Yvalues.valueSource := ADOQueryTem.;
//checkDataSource;
end;
end;
AddSeries(Series1);
end;
end
else
// 未被选中 ,显示表
NoteBook1.ActivePage := NoteBook1.Pages[1];
end;
procedure TfrmWdSearch.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 TfrmWdSearch.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 ADOQueryTem do
begin
sql.Clear;
sql.Add('select saveTime as 时间, ');
sql.Add( 'temp'+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;
tblSearchFlag := 1;
DBGrid1.Visible := True;
end;
end;
procedure TfrmWdSearch.btnseachprintClick(Sender: TObject);
Var
tmpH,tmpW,tmpWMargin,tmpHMargin:Longint; { margins }
OldOrientation:TPrinterOrientation;
OutRect:TRect;
colstr:array [1..5] of string;
Items:TStringList;
str:string;
wdvalue,hvalue:single;
i,j:integer;
PrintLineValue:integer;
begin
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -