?? main_query.pas
字號:
unit MAIN_QUERY;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, FRMBASS, DB, DBTables, DsFancyButton, ExtCtrls, StdCtrls, Grids,
DBGrids, TFlatComboBoxUnit, TFlatScrollbarUnit, ComCtrls,myself,
TFlatSpeedButtonUnit,Frmmain;
type
TFrm_main_query = class(TFrm_bass)
Query_data: TQuery;
DBG_data: TDBGrid;
DataSource: TDataSource;
Panel_top: TPanel;
Label1: TLabel;
CB_ywy: TFlatComboBox;
Label2: TLabel;
CB_depot: TFlatComboBox;
Label3: TLabel;
CB_goods: TFlatComboBox;
DTP_begin: TDateTimePicker;
DTP_end: TDateTimePicker;
Label4: TLabel;
SB_query: TFlatSpeedButton;
Panel_print: TPanel;
SB_print: TFlatSpeedButton;
SB_chart: TFlatSpeedButton;
L_count: TLabel;
Query_temp: TQuery;
PageScroller1: TPageScroller;
procedure DBG_dataDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure FormCreate(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Query_dataAfterOpen(DataSet: TDataSet);
procedure FormShow(Sender: TObject);
procedure SB_printClick(Sender: TObject);
procedure DTP_beginChange(Sender: TObject);
procedure SB_queryClick(Sender: TObject);
procedure Query_dataAfterClose(DataSet: TDataSet);
procedure DTP_endChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_main_query: TFrm_main_query;
implementation
{$R *.dfm}
procedure TFrm_main_query.DBG_dataDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
inherited;
if query_data.FieldByName('number').AsInteger <0 then
DBG_data.Canvas.Font.Color :=clred;
DBG_data.DefaultDrawColumnCell(rect,datacol,column,state);
end;
procedure TFrm_main_query.FormCreate(Sender: TObject);
var
Year, Month, Day: Word;
begin
inherited;
query_data.DatabaseName :=HWSHOPDATA;
query_temp.DatabaseName :=HWSHOPDATA;
DecodeDate(now, Year, Month, Day);
if (I_countdate>0) and (I_countdate<28) then
dtp_begin.Date :=EncodeDate(Year,Month-1,I_countdate+1)
else
dtp_begin.Date :=EncodeDate(Year,Month,1);
Dtp_end.Date :=now;
end;
procedure TFrm_main_query.FormResize(Sender: TObject);
var
I_col:integer;
begin
inherited;
if DBG_data.Columns.Count>=1 then
begin
for I_col:=0 to DBG_data.Columns.Count-2 do
begin
DBG_data.Columns.Items[I_col].Width :=DBG_data.Width div (DBG_data.Columns.Count);
end;
DBG_data.Columns.Items[DBG_data.Columns.Count-1].Width:=DBG_data.Width div (DBG_data.Columns.Count)-38;
end;
end;
procedure TFrm_main_query.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
inherited;
DataSource.Destroy ;
Query_temp.Close;
query_temp.Free ;
Query_data.Close;
query_data.Free ;
end;
procedure TFrm_main_query.Query_dataAfterOpen(DataSet: TDataSet);
var
F_tempmoney:real;
begin
inherited;
try
F_tempmoney:=0;
//統計數量與金額
with query_data do
begin
DisableControls ;
first;
while not eof do
begin
F_tempmoney:=F_tempmoney+fieldbyname('price').AsFloat;
next;
end;
first;
enablecontrols;
end;
L_count.caption:='合計金額:'+rmb(strtofloat(formatfloat('.00',f_tempmoney)))
+ ' ¥'+formatfloat(',.00',f_tempmoney);
except
l_count.Caption :='合計金額:零元 ¥0.00';
end;
end;
procedure TFrm_main_query.FormShow(Sender: TObject);
begin
inherited;
SB_print.Enabled :=Checkrights(USERRIGHTS,'打印預覽');
end;
procedure TFrm_main_query.SB_printClick(Sender: TObject);
var
NumSec: SmallInt;
StartTime: TDateTime;
begin
inherited;
self.Enabled :=false;
if sb_query.Enabled then
sb_query.Click ;
//延時
numsec:=1; //延時1秒
StartTime :=now;
repeat
application.ProcessMessages ;
until Now > StartTime + NumSec * (1/24/60/60);
self.Enabled :=true;
end;
procedure TFrm_main_query.DTP_beginChange(Sender: TObject);
begin
inherited;
DTP_end.Date :=DTP_begin.Date +DaysInMonth(DTP_begin.Date)-1;
sb_query.Enabled :=true;
query_data.Close;
end;
procedure TFrm_main_query.SB_queryClick(Sender: TObject);
begin
inherited;
sb_query.Enabled :=false;
end;
procedure TFrm_main_query.Query_dataAfterClose(DataSet: TDataSet);
begin
inherited;
l_count.Caption :='合計金額:零元 ¥0.00';
end;
procedure TFrm_main_query.DTP_endChange(Sender: TObject);
begin
inherited;
sb_query.Enabled :=true;
query_data.Close;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -