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.