📄 dataanalyseformunit1.pas
字号:
unit DataAnalyseFormUnit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, DbChart, Grids, DBGrids,
Menus, ComCtrls, ToolWin, jpeg, StdCtrls, DB, ADODB,StrUtils, Series,DateUtils,
Spin, ExtDlgs,teeprevi,ComObj, ImgList, DBCtrls, Buttons,Math,shellapi,inifiles;
type
TDataAnalyseForm = class(TForm)
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N3: TMenuItem;
N2: TMenuItem;
N10: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
PopupMenu2: TPopupMenu;
N5: TMenuItem;
N4: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
SavePictureDialog1: TSavePictureDialog;
ImageList1: TImageList;
ImageList2: TImageList;
PopupMenu3: TPopupMenu;
N11: TMenuItem;
N12: TMenuItem;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
PopupMenu4: TPopupMenu;
N13: TMenuItem;
DataSource2: TDataSource;
PrintDialog1: TPrintDialog;
SaveDialog1: TSaveDialog;
ADOQuery4: TADOQuery;
DataSource3: TDataSource;
PopupMenu5: TPopupMenu;
N16: TMenuItem;
Label5: TLabel;
Label1: TLabel;
Label9: TLabel;
Panel4: TPanel;
GroupBox1: TGroupBox;
Label7: TLabel;
Label6: TLabel;
SpeedButton6: TSpeedButton;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
CheckBox8: TCheckBox;
Edit5: TEdit;
CheckBox19: TCheckBox;
Edit9: TEdit;
CheckBox20: TCheckBox;
ComboBox9: TComboBox;
Edit10: TEdit;
ComboBox10: TComboBox;
ComboBox11: TComboBox;
CheckBox3: TCheckBox;
ComboBox2: TComboBox;
CheckBox4: TCheckBox;
ComboBox3: TComboBox;
CheckBox21: TCheckBox;
ComboBox13: TComboBox;
ComboBox25: TComboBox;
Panel20: TPanel;
SpeedButton4: TSpeedButton;
Edit19: TEdit;
CheckBox40: TCheckBox;
DBGrid1: TDBGrid;
Panel12: TPanel;
Label4: TLabel;
Label10: TLabel;
CheckBox9: TCheckBox;
ComboBox12: TComboBox;
Edit8: TEdit;
CheckBox2: TCheckBox;
Edit1: TEdit;
CheckBox23: TCheckBox;
Edit3: TEdit;
Edit4: TEdit;
CheckBox7: TCheckBox;
CheckBox10: TCheckBox;
DateTimePicker4: TDateTimePicker;
ComboBox1: TComboBox;
Edit7: TEdit;
DBNavigator1: TDBNavigator;
Panel10: TPanel;
ToolBar5: TToolBar;
ToolButton5: TToolButton;
ComboBox23: TComboBox;
Panel14: TPanel;
ToolBar2: TToolBar;
ToolButton3: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton21: TToolButton;
ToolButton11: TToolButton;
Panel19: TPanel;
ToolBar9: TToolBar;
ToolButton39: TToolButton;
ToolButton32: TToolButton;
ToolButton40: TToolButton;
ToolButton44: TToolButton;
ToolButton41: TToolButton;
ToolButton43: TToolButton;
ToolButton42: TToolButton;
ToolButton45: TToolButton;
Edit21: TEdit;
Panel23: TPanel;
Splitter2: TSplitter;
GroupBox2: TGroupBox;
Panel3: TPanel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label17: TLabel;
Label18: TLabel;
CheckBox1: TCheckBox;
CheckBox22: TCheckBox;
Edit2: TEdit;
Edit17: TEdit;
Edit18: TEdit;
CheckBox34: TCheckBox;
GroupBox5: TGroupBox;
Label23: TLabel;
CheckBox39: TCheckBox;
Edit24: TEdit;
Panel24: TPanel;
Label22: TLabel;
Bevel2: TBevel;
CheckBox37: TCheckBox;
CheckBox38: TCheckBox;
ComboBox27: TComboBox;
Edit23: TEdit;
ToolBar10: TToolBar;
ToolButton34: TToolButton;
ToolBar11: TToolBar;
ToolButton35: TToolButton;
function TranslateCurveDataOneVer(originadata:string; jsl:double; var curvedata:array of string):integer;
function TranslateCurveDataWctu(originadata:string; jsl:double; var curvedatawctu:array of string):integer;
function TranslateCurveDataictu(originadata:string; jsl:double; var curvedataictu:array of string):integer;
function GetCurveDay(userno,yearstr,monthstr,daystr:string; var curveday:array of string):integer;
function GetCurveDayWctu(userno,yearstr,monthstr,daystr:string; var curveday:array of string):integer;
function GetCurveWeek(userno,yearstr,monthstr,daystr:string; var curveweek:array of string):integer;
function GetCurveMonth(userno,yearstr,monthstr:string;var curvemonth:array of string):integer;
function GetCurveYear(userno,yearstr:string;var curveyear:array of string):integer;
function GetCurveQuarter(userno,yearstr:string;var curvequarter:array of string):integer;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGrid1TitleClick(Column: TColumn);
procedure N1Click(Sender: TObject);
procedure CheckBox8Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure CheckBox4Click(Sender: TObject);
procedure CheckBox9Click(Sender: TObject);
procedure CheckBox10Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
procedure ToolButton2Click(Sender: TObject);
procedure CheckBox19Click(Sender: TObject);
procedure CheckBox20Click(Sender: TObject);
procedure CheckBox21Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox7Click(Sender: TObject);
procedure CheckBox22Click(Sender: TObject);
procedure CheckBox23Click(Sender: TObject);
procedure ADOQuery1AfterScroll(DataSet: TDataSet);
procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn);
procedure N13Click(Sender: TObject);
procedure DBGrid2TitleClick(Column: TColumn);
procedure N14Click(Sender: TObject);
procedure ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
procedure N15Click(Sender: TObject);
procedure DateTimePicker1Click(Sender: TObject);
procedure DateTimePicker2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton13Click(Sender: TObject);
procedure ToolButton15Click(Sender: TObject);
procedure ToolButton17Click(Sender: TObject);
procedure ToolButton18Click(Sender: TObject);
procedure DBGrid3TitleClick(Column: TColumn);
procedure ToolButton21Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure ToolButton34Click(Sender: TObject);
procedure ToolButton35Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure ToolButton20Click(Sender: TObject);
procedure ToolButton33Click(Sender: TObject);
procedure ToolButton39Click(Sender: TObject);
procedure ToolButton40Click(Sender: TObject);
procedure ToolButton41Click(Sender: TObject);
procedure ToolButton42Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
private
{ Private declarations }
//Series1: TbarSeries;
//Series2: TbarSeries;
//Series3: TlineSeries;
//Series4: TpieSeries;
Series1: TlineSeries;
Series2: TbarSeries;
Series3: TpieSeries;
public
{ Public declarations }
//procedure ChangeOverBars;
XPercent,YPercent:Integer;
end;
var
DataAnalyseForm: TDataAnalyseForm;
exitloop:boolean=false;
implementation
uses DataModuleUnit1, Pack_CRCUnit1, AppUtil;
type curvearray=array[0..71] of string;
curvearraywctu=array[0..911] of string;
curvearrayictu=array[0..47] of string;
//curvedayarray=array[0..23] of string;
curvedayarray=array[0..24] of string;
curveweekarray=array[0..6] of string;
curvemontharray=array[0..30] of string;
curveyeararray=array[0..11] of string;
curvequarterarray=array[0..3] of string;
var curvedata:curvearray;
curvedatawctu:curvearraywctu;
curvedataictu:curvearrayictu;
curveday:curvedayarray;
curveweek:curveweekarray;
curvemonth:curvemontharray;
curveyear:curveyeararray;
curvequarter:curvequarterarray;
{$R *.dfm}
procedure TDataAnalyseForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DataModule1.ADOConnection1.Close;
DataAnalyseForm:=nil;
action:=cafree;
end;
procedure TDataAnalyseForm.DBGrid1TitleClick(Column: TColumn);
var
str:string;
begin
str:=adoquery1.Sort;
if length(str)=0 then
adoquery1.Sort:=column.Title.Caption+' DESC'
else
begin
if pos('DESC',str)<>0 then
begin
if trim(leftbstr(str,pos('DESC',str)-1))=column.Title.Caption then
adoquery1.Sort:=column.Title.Caption+' ASC'
else
adoquery1.Sort:=column.Title.Caption+' DESC';
end
else if pos('ASC',str)<>0 then
begin
if trim(leftbstr(str,pos('ASC',str)-1))=column.Title.Caption then
adoquery1.Sort:=column.Title.Caption+' DESC'
else
adoquery1.Sort:=column.Title.Caption+' ASC';
end;
end;
end;
procedure TDataAnalyseForm.N1Click(Sender: TObject);
//type curvearray=array[0..71] of string;
var
sqlstr,temp:string;
//curvedata:curvearray;
i,datasum:integer;
begin
try
if checkbox8.Checked and checkbox10.Checked then
begin
temp:='SELECT 曲线数据表.注册号, MIN(曲线数据表.设备上传时间) AS 设备上传时间,曲线数据表.本期指数, 当前数据表.计数轮, MIN(曲线数据表.曲线开始时间) AS 曲线开始时间, 曲线数据表.曲线数据 ';
temp:=temp+' FROM 曲线数据表 INNER JOIN 当前数据表 ON 曲线数据表.注册号 = 当前数据表.注册号 ';
temp:=temp+' GROUP BY 曲线数据表.注册号, 曲线数据表.本期指数, 曲线数据表.曲线数据, 当前数据表.计数轮 ';
temp:=temp+' HAVING (曲线数据表.注册号 = '''+trim(edit5.Text)+''') AND (CONVERT(varchar(10), MIN(曲线数据表.设备上传时间), 21) = '''+formatdatetime('yyyy-mm-dd',strtodatetime(datetostr(datetimepicker4.Date)))+''')';
DataModule1.adoquery1.Connection:=DataModule1.ADOConnection1;
DataModule1.adoquery1.SQL.Clear;
DataModule1.adoquery1.Close;
DataModule1.ADOQuery1.Filtered:=false;
DataModule1.adoquery1.SQL.Add(temp);
DataModule1.adoquery1.Prepared;
DataModule1.adoquery1.open;
if DataModule1.adoquery1.RecordCount<>0 then
begin
if trim(ComboBox1.Text) >=rightstr(DataModule1.adoquery1.FieldValues['曲线开始时间'],2) then
begin
temp:='SELECT 曲线数据表.注册号, MIN(曲线数据表.设备上传时间) AS 设备上传时间,曲线数据表.本期指数, 当前数据表.计数轮, MIN(曲线数据表.曲线开始时间) AS 曲线开始时间, 曲线数据表.曲线数据 ';
temp:=temp+' FROM 曲线数据表 INNER JOIN 当前数据表 ON 曲线数据表.注册号 = 当前数据表.注册号 ';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -