⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gquery.pas

📁 本系统为演示Delphi的功能而开发设计
💻 PAS
字号:
unit gquery;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Db, Grids, DBGrids, DBTables, DBCtrls, ComCtrls, ExtCtrls,
  TeEngine, Series, TeeProcs, Chart, DBChart, GanttCh, Qrctrls, QuickRpt,
  Spin;

type
  TFormQuShi = class(TForm)
    ButtonStatic: TButton;
    ButtonClose: TButton;
    panel1: TPanel;
    LabelFrom: TLabel;
    LabelTo: TLabel;
    PageControlQuShi: TPageControl;
    TabSheetLieBiao: TTabSheet;
    TabSheetQuXian: TTabSheet;
    DBGridQuShi: TDBGrid;
    DBChartQuShi: TDBChart;
    Panel3: TPanel;
    DBLookupComboBoxComp: TDBLookupComboBox;
    RadioButtonSeleComp: TRadioButton;
    RadioButtonAllComp: TRadioButton;
    Panel2: TPanel;
    RadioButtonYear: TRadioButton;
    RadioButtonMonth: TRadioButton;
    RadioButtonDay: TRadioButton;
    LabelToYear: TLabel;
    LabelFromMonth: TLabel;
    LabelFromYear: TLabel;
    Series1: TLineSeries;
    Series2: TLineSeries;
    ButtonPrint: TButton;
    LabelToMonth: TLabel;
    LabelFromDay: TLabel;
    LabelToDay: TLabel;
    SpinEditFromYear: TSpinEdit;
    SpinEditToYear: TSpinEdit;
    SpinEditToMonth: TSpinEdit;
    SpinEditFromMonth: TSpinEdit;
    SpinEditToDay: TSpinEdit;
    SpinEditFromDay: TSpinEdit;
    procedure ButtonCloseClick(Sender: TObject);
    procedure ButtonStaticClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure RadioButtonAllCompClick(Sender: TObject);
    procedure RadioButtonSeleCompClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure RadioButtonYearClick(Sender: TObject);
    procedure RadioButtonMonthClick(Sender: TObject);
    procedure RadioButtonDayClick(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure ButtonPrintClick(Sender: TObject);
    procedure TabSheetLieBiaoEnter(Sender: TObject);
    procedure TabSheetQuXianEnter(Sender: TObject);
    procedure SpinEditFromYearExit(Sender: TObject);
    procedure SpinEditToYearExit(Sender: TObject);
    procedure SpinEditFromMonthExit(Sender: TObject);
    procedure SpinEditToMonthExit(Sender: TObject);
    procedure SpinEditFromDayExit(Sender: TObject);
    procedure SpinEditToDayExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormQuShi: TFormQuShi;
  fromdate,todate,company,year,month,day:string;

implementation

uses HuaXia;

{$R *.DFM}

procedure TFormQuShi.ButtonCloseClick(Sender: TObject);
begin
   close;
end;

procedure TFormQuShi.ButtonStaticClick(Sender: TObject);
begin
  HuaxiaData.QueryCompYear.Active:=False;
  HuaxiaData.QueryCompMonth.Active:=False;
  HuaxiaData.QueryCompDay.Active:=False;
  HuaxiaData.QueryAllYear.Active:=False;
  HuaxiaData.QueryAllMonth.Active:=False;
  HuaxiaData.QueryAllDay.Active:=False;
  if radiobuttonSeleComp.checked=true then
  Begin
    If RadiobuttonYear.Checked=True  Then
     begin
      With Huaxiadata.QueryCompYear Do
       Begin
        ParambyName('fromdate').Value:=IntToStr(SpinEditFromYear.Value);
        ParambyName('todate').Value:=IntToStr(SpinEditToYear.Value);
        ParambyName('company').AsString:=DblookupComboboxComp.field.text;
       End;
      Series1.DataSource:=HuaXiaData.QueryCompYear;
      Series1.XLabelsSource:='column3';
      Series1.XValues.valuesource:='column3';
      Series1.YValues.ValueSource:='count_of_brush_date';
      Huaxiadata.DatasourceQuShi.dataset:=huaxiadata.queryCompYear;
      HuaxiaData.QueryCompYear.Prepare;
      HuaxiaData.QueryCompYear.Active:=True;
      End;
    If RadiobuttonMonth.Checked=True  Then
     Begin
      With HuaxiaData.QueryCompMonth Do
       Begin
        ParambyName('fromdate').Value:=IntToStr(SpinEditFromMonth.Value);
        ParambyName('todate').Value:=IntToStr(SpinEditFromMonth.Value);
        ParambyName('year').Value:=IntToStr(SpinEditFromYear.Value);
        ParambyName('company').Asstring:=DblookupComboboxComp.field.text;
       End;
      Series1.DataSource:=HuaXiaData.QueryCompMonth;
      Series1.XLabelsSource:='column4';
      Series1.XValues.Valuesource:='column4';
      Series1.YValues.ValueSource:='count_of_brush_date';
      HuaxiaData.DataSourceQuShi.Dataset:=Huaxiadata.QueryCompMonth;
      HuaxiaData.QueryCompMonth.Prepare;
      HuaxiaData.QueryCompMonth.Active:=True;
      End;
    If RadiobuttonDay.Checked=True Then
     Begin
      With HuaxiaData.QueryCompDay Do
       Begin
        ParambyName('fromdate').Value:=IntToStr(SpinEditFromDay.Value);
        ParambyName('todate').Value:=IntToStr(SpinEditToDay.Value);
        ParambyName('year').Value:=IntToStr(SpinEditFromYear.Value);
        ParambyName('month').Value:=IntToStr(SpinEditFromMonth.Value);
        ParambyName('company').Asstring:=DblookupComboboxComp.field.text;
       End;
      Series1.DataSource:=HuaXiaData.QueryCompDay;
      Series1.XLabelsSource:='date';
      Series1.XValues.valuesource:='';
      Series1.YValues.ValueSource:='amount';
      HuaxiaData.DatasourceQuShi.Dataset:=Huaxiadata.QueryCompDay;
      HuaxiaData.QueryCompDay.Prepare;
      HuaxiaData.QueryCompDay.Active:=True;
      End;
   End
   Else If radiobuttonAllComp.checked=true Then
   begin
     If RadiobuttonYear.checked=true  Then
     Begin
      With huaxiadata.queryAllYear Do
       Begin
        ParambyName('fromdate').value:=IntToStr(SpinEditFromYear.Value);
        ParambyName('todate').value:=IntToStr(SpinEditToYear.Value);
       End;
      Series2.DataSource:=HuaXiaData.QueryAllYear;
      Series2.XLabelsSource:='year';
      Series2.XValues.ValueSource:='year';
      Series2.YValues.ValueSource:='amount';
      HuaxiaData.DatasourceQuShi.Dataset:=HuaxiaData.QueryAllYear;
      HuaxiaData.QueryAllYear.Prepare;
      HuaxiaData.QueryAllYear.Active:=True;
      End;
    If RadiobuttonMonth.Checked=True  Then
     Begin
      With HuaxiaData.QueryAllMonth Do
       Begin
        ParambyName('fromdate').Value:=IntToStr(SpinEditFromMonth.Value);
        ParambyName('todate').Value:=IntToStr(SpinEditToMonth.Value);
        ParambyName('year').Value:=IntToStr(SpinEditFromYear.Value);;
       End;
      Series2.DataSource:=HuaXiaData.QueryAllMonth;
      Series2.XLabelsSource:='month';
      Series2.XValues.ValueSource:='month';
      Series2.YValues.ValueSource:='amount';
      HuaxiaData.DatasourceQuShi.Dataset:=Huaxiadata.QueryAllMonth;
      HuaxiaData.QueryAllMonth.Prepare;
      HuaxiaData.QueryAllMonth.Active:=true;
      End;
    If RadiobuttonDay.Checked=True  Then
     Begin
      With Huaxiadata.QueryAllDay Do
       begin
        ParambyName('fromdate').Value:=IntToStr(SpinEditFromDay.Value);
        ParambyName('todate').Value:=IntToStr(SpinEditToDay.Value);
        ParambyName('year').Value:=IntToStr(SpinEditFromYear.Value);
        ParambyName('month').Value:=IntToStr(SpinEditFromMonth.Value);
       End;
      Series2.DataSource:=HuaXiaData.QueryAllDay;
      Series2.XLabelsSource:='date';
      Series2.XValues.ValueSource:='';
      Series2.YValues.ValueSource:='amount';
      HuaxiaData.DataSourceQuShi.dataset:=Huaxiadata.QueryAllDay;
      HuaxiaData.QueryAllDay.Prepare;
      HuaxiaData.QueryAllDay.Active:=True;
      End;
   End;
End;

Procedure TFormQuShi.FormActivate(Sender: TObject);
Begin
   DateTimeToString(year,'yyyy',Now);
   SpinEditFromYear.Visible:=True;
   SpinEditToYear.Visible:=True;
   SpinEditFromMonth.Visible:=False;
   SpinEditToMonth.Visible:=False;
   SpinEditFromDay.Visible:=False;
   SpinEditToDay.Visible:=False;
   LabelFromYear.Visible:=True;
   LabelToYear.Visible:=True;
   LabelFromMonth.Visible:=False;
   LabelToMonth.Visible:=False;
   LabelFromDay.Visible:=False;
   LabelToDay.Visible:=False;
   SpinEditFromYear.Value:=StrToInt(year);
   SpinEditToYear.Value:=StrToInt(year);
   huaxiadata.icbrush.active:=true;
   huaxiadata.CompTable.active:=true;
   PageControlQuShi.ActivePage:=TabSheetLieBiao;
   RadioButtonAllComp.Checked:=True;
   DBLookupComboBoxComp.Enabled:=False;
end;


procedure TFormQuShi.RadioButtonAllCompClick(Sender: TObject);
begin
   DblookupComboboxComp.Enabled:=False;
   series1.active:=False;
   series2.active:=True;
end;

procedure TFormQuShi.RadioButtonSeleCompClick(Sender: TObject);
begin
   DblookupComboboxComp.Enabled:=True;
   Series2.active:=False;
   Series1.active:=True;
end;

procedure TFormQuShi.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  HuaxiaData.QueryCompYear.Active:=False;
  HuaxiaData.QueryCompMonth.Active:=False;
  HuaxiaData.QueryCompDay.Active:=False;
  HuaxiaData.QueryAllYear.Active:=False;
  HuaxiaData.QueryAllMonth.Active:=False;
  HuaxiaData.QueryAllDay.Active:=False;
  HuaxiaData.Icbrush.Active:=False;
  HuaxiaData.CompTable.active:=False;
  RadiobuttonYear.checked:=True;
  SpinEditToYear.Value:=StrToInt(year);
  SpinEditFromMonth.Visible:=False;
  SpinEditToMonth.Visible:=False;
  SpinEditFromDay.Visible:=False;
  SpinEditToDay.Visible:=False;
  LabelFromMonth.Visible:=False;
  LabelToMonth.Visible:=False;
  LabelFromDay.Visible:=False;
  LabelToDay.Visible:=False;
  RadiobuttonAllComp.Checked:=True;
  DblookupComboboxComp.Enabled:=False;
end;

procedure TFormQuShi.RadioButtonYearClick(Sender: TObject);
begin
   SpinEditFromYear.Visible:=True;
   SpinEditToYear.Visible:=True;
   SpinEditFromMonth.Visible:=False;
   SpinEditToMonth.Visible:=False;
   SpinEditFromDay.Visible:=False;
   SpinEditToDay.Visible:=False;
   LabelFromYear.Visible:=True;
   LabelToYear.Visible:=True;
   LabelFromMonth.Visible:=False;
   LabelToMonth.Visible:=False;
   LabelFromDay.Visible:=False;
   LabelToDay.Visible:=False;
   DateTimeToString(year,'yyyy',Now);
   SpinEditFromYear.Value:=1999;
   SpinEditToYear.Value:=StrToInt(year);
end;

procedure TFormQuShi.RadioButtonMonthClick(Sender: TObject);
begin
   SpinEditFromYear.Visible:=True;
   SpinEditToYear.Visible:=False;
   SpinEditFromMonth.Visible:=True;
   SpinEditToMonth.Visible:=True;
   SpinEditFromDay.Visible:=False;
   SpinEditToDay.Visible:=False;
   LabelFromYear.Visible:=True;
   LabelToYear.Visible:=False;
   LabelFromMonth.Visible:=True;
   LabelToMonth.Visible:=True;
   LabelFromDay.Visible:=False;
   LabelToDay.Visible:=False;
   DateTimeToString(year,'yyyy',Now);
   DateTimeToString(month,'mm',now);
   SpinEditFromYear.Value:=StrToInt(year);
   SpinEditFromMonth.Value:=1;
   SpinEditToMonth.Value:=StrToInt(month);
end;

procedure TFormQuShi.RadioButtonDayClick(Sender: TObject);
begin
   SpinEditFromYear.Visible:=True;
   SpinEditToYear.Visible:=False;
   SpinEditFromMonth.Visible:=True;
   SpinEditToMonth.Visible:=False;
   SpinEditFromDay.Visible:=True;
   SpinEditToDay.Visible:=True;
   LabelFromYear.Visible:=True;
   LabelToYear.Visible:=False;
   LabelFromMonth.Visible:=True;
   LabelToMonth.Visible:=False;
   LabelFromDay.Visible:=True;
   LabelToDay.Visible:=True;
   DateTimeToString(year,'yyyy',Now);
   DateTimeToString(month,'mm',now);
   SpinEditFromYear.Value:=StrToInt(year);
   SpinEditFromMonth.Value:=StrToInt(month);
   SpinEditFromDay.Value:=1;
   SpinEditToDay.Value:=31;
end;

procedure TFormQuShi.FormKeyPress(Sender: TObject; var Key: Char);
begin
If key=#13 then { 判断是按执行键}
 Begin
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);
 End;
end;

procedure TFormQuShi.ButtonPrintClick(Sender: TObject);
begin
    DBChartQuShi.Print;
end;

procedure TFormQuShi.TabSheetLieBiaoEnter(Sender: TObject);
begin
ButtonPrint.Enabled:=False;
ButtonPrint.Visible:=False;
end;

procedure TFormQuShi.TabSheetQuXianEnter(Sender: TObject);
begin
ButtonPrint.Enabled:=True;
ButtonPrint.Visible:=True;
end;

procedure TFormQuShi.SpinEditFromYearExit(Sender: TObject);
begin
If (SpinEditFromYear.Value>SpinEditToYear.Value) And SpinEditToYear.Visible Then
   ShowMessage('起始年份应大于终止年份');
end;

procedure TFormQuShi.SpinEditToYearExit(Sender: TObject);
begin
If (SpinEditFromYear.Value>SpinEditToYear.Value) And SpinEditToYear.Visible Then
   ShowMessage('起始年份应大于终止年份');
end;

procedure TFormQuShi.SpinEditFromMonthExit(Sender: TObject);
begin
If (SpinEditFromMonth.Value>SpinEditToMonth.Value)  And SpinEditToMonth.Visible Then
   ShowMessage('起始月份应大于终止月份');
end;

procedure TFormQuShi.SpinEditToMonthExit(Sender: TObject);
begin
If (SpinEditFromMonth.Value>SpinEditToMonth.Value) And SpinEditToMonth.Visible Then
   ShowMessage('起始年份应大于终止年份');
end;

procedure TFormQuShi.SpinEditFromDayExit(Sender: TObject);
begin
If SpinEditFromDay.Value>SpinEditToDay.Value Then
   ShowMessage('起始日期应大于终止日期');
end;

procedure TFormQuShi.SpinEditToDayExit(Sender: TObject);
begin
If SpinEditFromDay.Value>SpinEditToDay.Value Then
   ShowMessage('起始日期应大于终止日期');
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -