unit tg_organ_grade; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Mask, ExtCtrls, Grids, DBGrids, Db, DBTables, ComCtrls, Gauges, GridXLS; type Tfrm_organ_grade = class(TForm) Bevel14: TBevel; Bevel15: TBevel; Bevel16: TBevel; Panel2: TPanel; me_date: TMaskEdit; bb_print: TBitBtn; Panel1: TPanel; Panel4: TPanel; bb_close: TBitBtn; bb_count: TBitBtn; pc_grade: TPageControl; ts_ilban: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; DBGrid1: TDBGrid; q_search: TQuery; ds_search: TDataSource; DBGrid2: TDBGrid; DBGrid3: TDBGrid; TabSheet4: TTabSheet; DBGrid4: TDBGrid; TabSheet5: TTabSheet; DBGrid5: TDBGrid; sb_calendar: TSpeedButton; BitBtn1: TBitBtn; SaveDialog1: TSaveDialog; GridXLS1: TGridXLS; Gauge1: TGauge; Panel3: TPanel; rg_gubun: TRadioGroup; TabSheet1: TTabSheet; DBGrid6: TDBGrid; procedure bb_countClick(Sender: TObject); procedure q_searchCalcFields(DataSet: TDataSet); procedure bb_closeClick(Sender: TObject); procedure bb_printClick(Sender: TObject); procedure FormKeyPress(Sender: TObject; var Key: Char); procedure FormCreate(Sender: TObject); procedure me_dateChange(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure sb_calendarClick(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var frm_organ_grade: Tfrm_organ_grade; implementation uses userfunc, tg_organ_grade_print1, tg_organ_grade_print2, MessagePrint; var li_count : Integer; {$R *.DFM} procedure Tfrm_organ_grade.bb_countClick(Sender: TObject); var lb_date : Boolean; begin if me_date.text = '' then begin Application.MessageBox('±âÁØÀÏÀÚ¸¦ ¼±ÅÃÇϽʽÿä','¾Ë¸²', MB_ICONINFORMATION+MB_OK); me_date.SetFocus; exit; end; lb_date := setdatecheck(me_date); //³¯Â¥Ã¼Å· if lb_date = false then exit; with q_search do begin if active = true then close; if rg_gubun.ItemIndex <> 0 then parambyname('p_gubun').asString := inttostr(rg_gubun.ItemIndex-1) else parambyname('p_gubun').asString := '%'; parambyname('p_date').asstring := me_date.text; li_count := 1; open; end; end; procedure Tfrm_organ_grade.q_searchCalcFields(DataSet: TDataSet); begin with q_search do begin fieldbyname('b_date_format').asstring := copy(fieldbyname('b_date').asstring,1,4)+'-'+ copy(fieldbyname('b_date').asstring,5,2)+'-'+ copy(fieldbyname('b_date').asstring,7,2); //20141126 fieldbyname('GS').asinteger := fieldbyname('S2').asInteger + fieldbyname('S4').asInteger + fieldbyname('S6').asInteger ; end; end; procedure Tfrm_organ_grade.bb_closeClick(Sender: TObject); begin q_search.close; close; end; procedure Tfrm_organ_grade.bb_printClick(Sender: TObject); begin if q_search.Active = False then begin Application.MessageBox('¸ÕÀú Åë°èÀÛ¾÷À» ÇϽʽÿä','¾Ë¸²', MB_ICONINFORMATION+MB_OK); exit; end; frm_organ_grade_print1 := TFrm_organ_grade_print1.Create(Application); frm_organ_grade_print2 := TFrm_organ_grade_print2.Create(Application); frm_organ_grade_print1.QR_organ_grade1.Preview; frm_organ_grade_print2.QR_organ_grade2.Preview; frm_organ_grade_print1.free; frm_organ_grade_print2.free; end; //¿£ÅÍÅ° ÀÎ½Ä procedure Tfrm_organ_grade.FormKeyPress(Sender: TObject; var Key: Char); begin if key = #13 then begin selectnext(activecontrol as Twincontrol, True, True); key := #0; end; end; procedure Tfrm_organ_grade.FormCreate(Sender: TObject); begin me_date.text := FormatDateTime('yyyymmdd',now); pc_grade.activepage := ts_ilban; li_count := 0; end; procedure Tfrm_organ_grade.me_dateChange(Sender: TObject); begin q_search.close; li_count := 0; pc_grade.activepage := ts_ilban; end; procedure Tfrm_organ_grade.FormClose(Sender: TObject; var Action: TCloseAction); begin Action :=cafree; end; procedure Tfrm_organ_grade.sb_calendarClick(Sender: TObject); begin getdate(me_date); end; procedure Tfrm_organ_grade.BitBtn1Click(Sender: TObject); begin if q_search.Active = False then begin Application.MessageBox('¸ÕÀú Åë°èÀÛ¾÷À» ÇϽʽÿä','¾Ë¸²', MB_ICONINFORMATION+MB_OK); exit; end else begin SaveDialog1.FileName := ExtractFileName(GridXLS1.FileName); SaveDialog1.InitialDir := ExtractFilePath(GridXLS1.FileName); if saveDialog1.Execute then begin frm_message := Tfrm_message.create(Application); with frm_message do begin p_message.caption := ' È­ÀÏÀ» ÀúÀåÁßÀÔ´Ï´Ù. Àá½Ã¸¸ ±â´Ù·Á Áֽʽÿä....'; show; update; end; GridXLS1.FileName := SaveDialog1.FileName; GridXLS1.ExportToExcel; end; if Gauge1.Progress = 100 then begin frm_message.Free; Application.MessageBox(' ÀÚ·á°¡ ¼º°øÀûÀ¸·Î ÀúÀåµÇ¾ú½À´Ï´Ù.','¾Ë¸²', MB_ICONINFORMATION+MB_OK); end else frm_message.Free; end; end; end.