www.pudn.com > dongdongyanmingtongji.rar > Un_Main.pas
unit Un_Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TeEngine, Series, TeeProcs, Chart, DbChart, ExtCtrls, StdCtrls,
Buttons, Menus, DB, ADODB, ComCtrls;
type
TFrmMain = class(TForm)
Panel3: TPanel;
Panel1: TPanel;
StaticStyle: TComboBox;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
AdoConn: TADOConnection;
PageStatic: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
DBChart1: TDBChart;
Series1: TLineSeries;
TabSheet4: TTabSheet;
DBChart2: TDBChart;
DBChart3: TDBChart;
DBChart4: TDBChart;
Series2: TPieSeries;
Series3: TBarSeries;
Series4: TAreaSeries;
Timer1: TTimer;
CheckBox1: TCheckBox;
ScrollBar2: TScrollBar;
Label8: TLabel;
ScrollBar3: TScrollBar;
N5: TMenuItem;
N6: TMenuItem;
CheckBox2: TCheckBox;
procedure StaticStyleChange(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure ScrollBar2Change(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure ScrollBar3Change(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
private
{ Private declarations }
public
procedure ShowDatestatic;
{ Public declarations }
end;
var
FrmMain: TFrmMain;
var CONNSTRING:STRING;
implementation
uses Un_About, Un_Post, Un_Static;
{$R *.dfm}
procedure TFrmMain.StaticStyleChange(Sender: TObject);
begin
if StaticStyle.ItemIndex=-1 then exit;
PageStatic.ActivePageIndex:=StaticStyle.ItemIndex;
ShowDatestatic;
end;
procedure TFrmMain.N2Click(Sender: TObject);
begin
close;
end;
procedure TFrmMain.N4Click(Sender: TObject);
begin
FrmAbout.ShowModal;
end;
procedure TFrmMain.FormShow(Sender: TObject);
begin
try
CONNSTRING:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+ExtractFilePath(Application.Exename)+'coss\DongDong.mdb;Mode=Share Deny None;Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:Create System Database=False';
//CONNSTRING:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.Exename)+'coss\DongDong.mdb'+';Persist Security Info=False';
AdoConn.ConnectionString:=CONNSTRING;
AdoConn.Close;
AdoConn.Open;
except
application.MessageBox('数据库连接失败,请配置好数据库再使用本系统!!!','系统提示:');
exit;
end;
ShowDatestatic;
end;
procedure TFrmMain.N5Click(Sender: TObject);
begin
FrmPst.ShowModal;
end;
procedure TFrmMain.N6Click(Sender: TObject);
begin
FrmStatic.ShowModal;
end;
procedure TFrmMain.ScrollBar2Change(Sender: TObject);
begin
DBChart1.Chart3DPercent:=ScrollBar2.Position;
DBChart2.Chart3DPercent:=ScrollBar2.Position;
DBChart3.Chart3DPercent:=ScrollBar2.Position;
DBChart4.Chart3DPercent:=ScrollBar2.Position;
end;
procedure TFrmMain.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
begin
DBChart1.View3D:=true;
DBChart2.View3D:=true;
DBChart3.View3D:=true;
DBChart4.View3D:=true;
end
else
begin
DBChart1.View3D:=false;
DBChart2.View3D:=false;
DBChart3.View3D:=false;
DBChart4.View3D:=false;
end;
end;
procedure TFrmMain.ScrollBar3Change(Sender: TObject);
begin
DBChart1.View3DOptions.Orthogonal:=false;
if DBChart1[0] is TPieSeries then
DBChart1.View3DOptions.Elevation:=ScrollBar3.Position
else
DBChart1.View3DOptions.Rotation:=ScrollBar3.Position;
DBChart2.View3DOptions.Orthogonal:=false;
if DBChart2[0] is TPieSeries then
DBChart2.View3DOptions.Elevation:=ScrollBar3.Position
else
DBChart2.View3DOptions.Rotation:=ScrollBar3.Position;
DBChart3.View3DOptions.Orthogonal:=false;
if DBChart3[0] is TPieSeries then
DBChart3.View3DOptions.Elevation:=ScrollBar3.Position
else
DBChart3.View3DOptions.Rotation:=ScrollBar3.Position;
DBChart4.View3DOptions.Orthogonal:=false;
if DBChart4[0] is TPieSeries then
DBChart4.View3DOptions.Elevation:=ScrollBar3.Position
else
DBChart4.View3DOptions.Rotation:=ScrollBar3.Position;
end;
procedure TFrmMain.ShowDatestatic;
var query:tadoquery;
begin
Series1.Clear;
Series2.Clear;
Series3.Clear;
Series4.Clear;
try
query:=tadoquery.Create(self);
query.Connection:=FrmMain.AdoConn;
query.SQL.Clear;
query.SQL.Add('select * from Smoker where (Age>0) and (Age<=18) ');
if CheckBox2.Checked then
begin
query.SQL.Add(' and (Smoke=''吸'')');
end
else
begin
query.SQL.Add(' and (Smoke=''否'')');
end;
try
query.Close;
query.Open;
if not query.eof then
begin
Series1.AddXY(18,query.RecordCount,'0至18',clTeeColor);
Series2.AddXY(18,query.RecordCount,'0至18',clTeeColor);
Series3.AddXY(18,query.RecordCount,'0至18',clTeeColor);
Series4.AddXY(18,query.RecordCount,'0至18',clTeeColor);
end;
except
exit;
end;
finally
query.Free;
end;
//\\\\\\\\\\\\\
try
query:=tadoquery.Create(self);
query.Connection:=FrmMain.AdoConn;
query.SQL.Clear;
query.SQL.Add('select * from Smoker where (Age>18) and (Age<=25) ');
if CheckBox2.Checked then
begin
query.SQL.Add(' and (Smoke=''吸'')');
end
else
begin
query.SQL.Add(' and (Smoke=''否'')');
end;
try
query.Close;
query.Open;
if not query.eof then
begin
Series1.AddXY(25,query.RecordCount,'18至25',clRed);
Series2.AddXY(25,query.RecordCount,'18至25',clRed);
Series3.AddXY(25,query.RecordCount,'18至25',clRed);
Series4.AddXY(25,query.RecordCount,'18至25',clRed);
end;
except
exit;
end;
finally
query.Free;
end;
//\\\\\\\\\\\\\\\\
try
query:=tadoquery.Create(self);
query.Connection:=FrmMain.AdoConn;
query.SQL.Clear;
query.SQL.Add('select * from Smoker where (Age>25) and (Age<=30) ');
if CheckBox2.Checked then
begin
query.SQL.Add(' and (Smoke=''吸'')');
end
else
begin
query.SQL.Add(' and (Smoke=''否'')');
end;
try
query.Close;
query.Open;
if not query.eof then
begin
Series1.AddXY(30,query.RecordCount,'25至30',clGreen);
Series2.AddXY(30,query.RecordCount,'25至30',clGreen);
Series3.AddXY(30,query.RecordCount,'25至30',clGreen);
Series4.AddXY(30,query.RecordCount,'25至30',clGreen);
end;
except
exit;
end;
finally
query.Free;
end;
//\\\\\\\\\\\\\\\\
try
query:=tadoquery.Create(self);
query.Connection:=FrmMain.AdoConn;
query.SQL.Clear;
query.SQL.Add('select * from Smoker where (Age>30) and Age<=(40) ');
if CheckBox2.Checked then
begin
query.SQL.Add(' and (Smoke=''吸'')');
end
else
begin
query.SQL.Add(' and (Smoke=''否'')');
end;
try
query.Close;
query.Open;
if not query.eof then
begin
Series1.AddXY(40,query.RecordCount,'30至40',clYellow);
Series2.AddXY(40,query.RecordCount,'30至40',clYellow);
Series3.AddXY(40,query.RecordCount,'30至40',clYellow);
Series4.AddXY(40,query.RecordCount,'30至30',clYellow);
end;
except
exit;
end;
finally
query.Free;
end;
//\\\\\\\\\\\\\\\\
try
query:=tadoquery.Create(self);
query.Connection:=FrmMain.AdoConn;
query.SQL.Clear;
query.SQL.Add('select * from Smoker where (Age>40) and (Age<=50) ');
if CheckBox2.Checked then
begin
query.SQL.Add(' and (Smoke=''吸'')');
end
else
begin
query.SQL.Add(' and (Smoke=''否'')');
end;
try
query.Close;
query.Open;
if not query.eof then
begin
Series1.AddXY(40,query.RecordCount,'40至50',clOlive);
Series2.AddXY(40,query.RecordCount,'40至50',clOlive);
Series3.AddXY(40,query.RecordCount,'40至50',clOlive);
Series4.AddXY(40,query.RecordCount,'40至50',clOlive);
end;
except
exit;
end;
finally
query.Free;
end;
//\\\\\\\\\\\\\\\\
try
query:=tadoquery.Create(self);
query.Connection:=FrmMain.AdoConn;
query.SQL.Clear;
query.SQL.Add('select * from Smoker where (Age>50) and (Age<=60) ');
if CheckBox2.Checked then
begin
query.SQL.Add(' and (Smoke=''吸'')');
end
else
begin
query.SQL.Add(' and (Smoke=''否'')');
end;
try
query.Close;
query.Open;
if not query.eof then
begin
Series1.AddXY(60,query.RecordCount,'50至60',clPurple);
Series2.AddXY(60,query.RecordCount,'50至60',clPurple);
Series3.AddXY(60,query.RecordCount,'50至60',clPurple);
Series4.AddXY(60,query.RecordCount,'50至60',clPurple);
end;
except
exit;
end;
finally
query.Free;
end;
//\\\\\\\\\\\\\\\\
try
query:=tadoquery.Create(self);
query.Connection:=FrmMain.AdoConn;
query.SQL.Clear;
query.SQL.Add('select * from Smoker where (Age>60) and (Age<=80) ');
if CheckBox2.Checked then
begin
query.SQL.Add(' and (Smoke=''吸'')');
end
else
begin
query.SQL.Add(' and (Smoke=''否'')');
end;
try
query.Close;
query.Open;
if not query.eof then
begin
Series1.AddXY(80,query.RecordCount,'60至80',clAqua);
Series2.AddXY(80,query.RecordCount,'60至80',clAqua);
Series3.AddXY(80,query.RecordCount,'60至80',clAqua);
Series4.AddXY(80,query.RecordCount,'60至80',clAqua);
end;
except
exit;
end;
finally
query.Free;
end;
//\\\\\\\\\\\\\\\\
try
query:=tadoquery.Create(self);
query.Connection:=FrmMain.AdoConn;
query.SQL.Clear;
query.SQL.Add('select * from Smoker where (Age>80) ');
if CheckBox2.Checked then
begin
query.SQL.Add(' and (Smoke=''吸'')');
end
else
begin
query.SQL.Add(' and (Smoke=''否'')');
end;
try
query.Close;
query.Open;
if not query.eof then
begin
Series1.AddXY(100,query.RecordCount,'80以上',clTeeColor);
Series2.AddXY(100,query.RecordCount,'80以上',clTeeColor);
Series3.AddXY(100,query.RecordCount,'80以上',clTeeColor);
Series4.AddXY(100,query.RecordCount,'80以上',clTeeColor);
end;
except
exit;
end;
finally
query.Free;
end;
end;
procedure TFrmMain.CheckBox2Click(Sender: TObject);
begin
ShowDatestatic;
end;
end.