📄 p_ckcx.pas
字号:
unit p_ckcx;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,p_mc, QRCtrls, QuickRpt, ExtCtrls, StdCtrls, Buttons, ComCtrls,
SUIEdit, SUIButton, Grids, DBGrids;
type
Tf_ckcx = class(Tf_mc)
Label1: TLabel;
Label2: TLabel;
zjsl: TLabel;
DBGrid1: TDBGrid;
cb_spm: TsuiCheckBox;
espm: TsuiEdit;
cb_c: TsuiCheckBox;
ehcl: TsuiEdit;
cb_hcl: TsuiCheckBox;
ec: TsuiEdit;
cb_spxh: TsuiCheckBox;
espxh: TsuiEdit;
cb_szmd: TsuiCheckBox;
eszmd: TsuiEdit;
cb_ysx: TsuiCheckBox;
eysx: TsuiEdit;
cb_rq: TsuiCheckBox;
dt1: TDateTimePicker;
dt2: TDateTimePicker;
b_cx: TBitBtn;
b_all: TBitBtn;
b_print: TBitBtn;
b_exit: TBitBtn;
Panel1: TPanel;
QR: TQuickRep;
TitleBand1: TQRBand;
QRSysData2: TQRSysData;
QRLabel5: TQRLabel;
QRLabel1: TQRLabel;
kc: TQRBand;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRDBText5: TQRDBText;
QRDBText6: TQRDBText;
QRDBText7: TQRDBText;
QRDBText8: TQRDBText;
QRDBText9: TQRDBText;
QRDBText1: TQRDBText;
QRShape8: TQRShape;
QRShape9: TQRShape;
QRShape10: TQRShape;
QRShape11: TQRShape;
QRShape12: TQRShape;
QRShape13: TQRShape;
QRShape14: TQRShape;
ColumnHeaderBand1: TQRBand;
QRLabel2: TQRLabel;
QRLabel7: TQRLabel;
QRLabel8: TQRLabel;
QRLabel9: TQRLabel;
QRLabel10: TQRLabel;
QRLabel11: TQRLabel;
QRLabel12: TQRLabel;
QRLabel13: TQRLabel;
QRShape1: TQRShape;
QRShape2: TQRShape;
QRShape3: TQRShape;
QRShape4: TQRShape;
QRShape5: TQRShape;
QRShape6: TQRShape;
QRShape7: TQRShape;
PageFooterBand1: TQRBand;
QRLabel14: TQRLabel;
QRLabel15: TQRLabel;
QRSysData1: TQRSysData;
QRLabel16: TQRLabel;
QRLabel17: TQRLabel;
QRExpr2: TQRExpr;
QRLabel6: TQRLabel;
QRLabel18: TQRLabel;
SummaryBand2: TQRBand;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRExpr1: TQRExpr;
Bevel1: TBevel;
cb_khm: TsuiCheckBox;
ekhm: TsuiEdit;
procedure FormCreate(Sender: TObject);
procedure b_cxClick(Sender: TObject);
procedure b_allClick(Sender: TObject);
procedure b_printClick(Sender: TObject);
procedure b_exitClick(Sender: TObject);
procedure cb_rqClick(Sender: TObject);
procedure cb_spmClick(Sender: TObject);
procedure cb_spxhClick(Sender: TObject);
procedure cb_cClick(Sender: TObject);
procedure cb_hclClick(Sender: TObject);
procedure cb_szmdClick(Sender: TObject);
procedure cb_ysxClick(Sender: TObject);
procedure cb_khmClick(Sender: TObject);
procedure ecKeyPress(Sender: TObject; var Key: Char);
procedure ehclKeyPress(Sender: TObject; var Key: Char);
private
sl:real;
{ Private declarations }
public
{ Public declarations }
end;
var
f_ckcx: Tf_ckcx;
implementation
uses p_dm;
{$R *.dfm}
procedure Tf_ckcx.FormCreate(Sender: TObject);
begin
inherited;
dt1.Date:=now;
dt2.Date:=now-5;
b_all.OnClick(self);
end;
procedure Tf_ckcx.b_cxClick(Sender: TObject);
begin
inherited;
if cb_c.Checked then
try
strtofloat(ec.Text);
except
ec.SetFocus;
exit;
end;
if cb_hcl.Checked then
try
strtofloat(ehcl.Text);
except
ehcl.SetFocus;
exit;
end;
sl:=0;
with dm do
begin
if (not cb_rq.Checked)and(not cb_spm.Checked) and (not cb_spxh.Checked) and (not cb_c.Checked) and (not cb_hcl.Checked) and (not cb_szmd.Checked) and (not cb_ysx.Checked) then
begin
query.SQL.Clear;
query.SQL.Add('select * from ck_st');
query.Open;
query.First;
while not query.Eof do
begin
if query['cklx']='出库' then
sl:=sl+query['scsl'];
query.Next;
end;
query.First;
zjsl.Caption:=floattostr(sl)+' 吨';
exit;
end;
query.SQL.Clear;
query.SQL.Add('select * from ck_st where');
if cb_rq.Checked then
begin
query.SQL.Add('ddh>=:dt1 and ddh<=:dt2');
query.Parameters.ParamValues['dt1']:='ck'+formatdatetime('yyyymmdd',dt1.Date)+'0000';
query.Parameters.ParamValues['dt2']:='ck'+formatdatetime('yyyymmdd',dt2.Date)+'9999';
end;
if cb_spm.Checked then
begin
if cb_rq.Checked then
query.SQL.Add('and spm like :spm')
else
query.SQL.Add('spm like :spm');
query.Parameters.ParamValues['spm']:=trim(espm.Text)+'%';
end;
if cb_spxh.Checked then
begin
if cb_rq.Checked or cb_spm.Checked then
query.SQL.Add('and xhm like :xhm')
else
query.SQL.Add('xhm like :xhm');
query.Parameters.ParamValues['xhm']:=trim(espxh.Text)+'%';
end;
if cb_c.Checked then
begin
if cb_rq.Checked or cb_spm.Checked or cb_spxh.Checked then
query.SQL.Add('and c=:c')
else
query.SQL.Add('c=:c');
query.Parameters.ParamValues['c']:=trim(ec.Text);
end;
if cb_hcl.Checked then
begin
if cb_rq.Checked or cb_spm.Checked or cb_spxh.Checked or cb_c.Checked then
query.SQL.Add('and hcl=:hcl')
else
query.SQL.Add('hcl=:hcl');
query.Parameters.ParamValues['hcl']:=trim(ehcl.Text);
end;
if cb_szmd.Checked then
begin
if cb_rq.Checked or cb_spm.Checked or cb_spxh.Checked or cb_c.Checked or cb_hcl.Checked then
query.SQL.Add('and szmd=:szmd')
else
query.SQL.Add('szmd=:szmd');
query.Parameters.ParamValues['szmd']:=trim(eszmd.Text);
end;
if cb_ysx.Checked then
begin
if cb_szmd.Checked or cb_rq.Checked or cb_spm.Checked or cb_spxh.Checked or cb_c.Checked or cb_hcl.Checked then
query.SQL.Add('and ysx=:ysx')
else
query.SQL.Add('ysx=:ysx');
query.Parameters.ParamValues['ysx']:=trim(eysx.Text);
end;
if cb_khm.Checked then
begin
if cb_ysx.Checked or cb_szmd.Checked or cb_rq.Checked or cb_spm.Checked or cb_spxh.Checked or cb_c.Checked or cb_hcl.Checked then
query.SQL.Add('and khm like :khm')
else
query.SQL.Add('khm like :khm');
query.Parameters.ParamValues['khm']:=trim(ekhm.Text)+'%';
end;
query.Open;
query.First;
while not query.Eof do
begin
if query['cklx']='出库' then
sl:=sl+query['scsl'];
query.Next;
end;
query.First;
zjsl.Caption:=floattostr(sl)+' 吨';
end;
end;
procedure Tf_ckcx.b_allClick(Sender: TObject);
begin
inherited;
sl:=0;
with dm do
begin
query.SQL.Clear;
query.SQL.Add('select * from ck_st');
query.Open;
query.First;
while not query.Eof do
begin
if query['cklx']='出库' then
sl:=sl+query['scsl'];
query.Next;
end;
query.First;
zjsl.Caption:=floattostr(sl)+' 吨';
end;
end;
procedure Tf_ckcx.b_printClick(Sender: TObject);
begin
inherited;
qr.Preview;
end;
procedure Tf_ckcx.b_exitClick(Sender: TObject);
begin
inherited;
close;
end;
procedure Tf_ckcx.cb_rqClick(Sender: TObject);
begin
inherited;
if cb_rq.Checked then
begin
dt1.Enabled:=true;
dt2.Enabled:=true;
end else
begin
dt1.Enabled:=false;
dt2.Enabled:=false;
end;
end;
procedure Tf_ckcx.cb_spmClick(Sender: TObject);
begin
inherited;
if cb_spm.Checked then
begin
espm.Enabled:=true;
espm.SetFocus;
end else
begin
espm.Enabled:=false;
end;
end;
procedure Tf_ckcx.cb_spxhClick(Sender: TObject);
begin
inherited;
if cb_spxh.Checked then
begin
espxh.Enabled:=true;
espxh.SetFocus;
end else
begin
espxh.Enabled:=false;
end;
end;
procedure Tf_ckcx.cb_cClick(Sender: TObject);
begin
inherited;
if cb_c.Checked then
begin
ec.Enabled:=true;
ec.SetFocus;
end else
begin
ec.Enabled:=false;
end;
end;
procedure Tf_ckcx.cb_hclClick(Sender: TObject);
begin
inherited;
if cb_hcl.Checked then
begin
ehcl.Enabled:=true;
ehcl.SetFocus;
end else
begin
ehcl.Enabled:=false;
end;
end;
procedure Tf_ckcx.cb_szmdClick(Sender: TObject);
begin
inherited;
if cb_szmd.Checked then
begin
eszmd.Enabled:=true;
eszmd.SetFocus;
end else
begin
eszmd.Enabled:=false;
end;
end;
procedure Tf_ckcx.cb_ysxClick(Sender: TObject);
begin
inherited;
if cb_ysx.Checked then
begin
eysx.Enabled:=true;
eysx.SetFocus;
end else
begin
eysx.Enabled:=false;
end;
end;
procedure Tf_ckcx.cb_khmClick(Sender: TObject);
begin
inherited;
if cb_khm.Checked then
begin
ekhm.Enabled:=true;
ekhm.SetFocus;
end else
begin
ekhm.Enabled:=false;
end;
end;
procedure Tf_ckcx.ecKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if not(key in['0'..'9',#8,'.']) then
begin
key:=#0;
end;
end;
procedure Tf_ckcx.ehclKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if not(key in['0'..'9',#8,'.']) then
begin
key:=#0;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -