📄 p_rkcx.pas
字号:
unit p_rkcx;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,p_mc, StdCtrls, Buttons, ComCtrls, SUIEdit, SUIButton, Grids,
DBGrids, ExtCtrls;
type
Tf_rkcx = class(Tf_mc)
Bevel1: TBevel;
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;
ejbr: TsuiEdit;
cb_jbr: TsuiCheckBox;
procedure b_cxClick(Sender: TObject);
procedure b_allClick(Sender: TObject);
procedure b_exitClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(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_jbrClick(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_rkcx: Tf_rkcx;
implementation
uses p_dm;
{$R *.dfm}
procedure Tf_rkcx.b_cxClick(Sender: TObject);
begin
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 rk_st');
query.Open;
query.First;
while not query.Eof do
begin
sl:=sl+query['sl'];
query.Next;
end;
query.First;
zjsl.Caption:=floattostr(sl)+' 吨';
exit;
end;
query.SQL.Clear;
query.SQL.Add('select * from rk_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_jbr.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 jbr like :jbr')
else
query.SQL.Add('jbr like :jbr');
query.Parameters.ParamValues['jbr']:=trim(ejbr.Text)+'%';
end;
query.Open;
query.First;
while not query.Eof do
begin
sl:=sl+query['sl'];
query.Next;
end;
query.First;
zjsl.Caption:=floattostr(sl)+' 吨';
end;
end;
procedure Tf_rkcx.b_allClick(Sender: TObject);
begin
sl:=0;
with dm do
begin
query.SQL.Clear;
query.SQL.Add('select * from rk_st');
query.Open;
query.First;
while not query.Eof do
begin
sl:=sl+query['sl'];
query.Next;
end;
query.First;
zjsl.Caption:=floattostr(sl)+' 吨';
end;
end;
procedure Tf_rkcx.b_exitClick(Sender: TObject);
begin
close;
end;
procedure Tf_rkcx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
dm.query.close;
end;
procedure Tf_rkcx.FormCreate(Sender: TObject);
begin
dt1.Date:=now;
dt2.Date:=now;
b_all.OnClick(self);
end;
procedure Tf_rkcx.cb_rqClick(Sender: TObject);
begin
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_rkcx.cb_spmClick(Sender: TObject);
begin
if cb_spm.Checked then
begin
espm.Enabled:=true;
espm.SetFocus;
end else
begin
espm.Enabled:=false;
end;
end;
procedure Tf_rkcx.cb_spxhClick(Sender: TObject);
begin
if cb_spxh.Checked then
begin
espxh.Enabled:=true;
espxh.SetFocus;
end else
begin
espxh.Enabled:=false;
end;
end;
procedure Tf_rkcx.cb_cClick(Sender: TObject);
begin
if cb_c.Checked then
begin
ec.Enabled:=true;
ec.SetFocus;
end else
begin
ec.Enabled:=false;
end;
end;
procedure Tf_rkcx.cb_hclClick(Sender: TObject);
begin
if cb_hcl.Checked then
begin
ehcl.Enabled:=true;
ehcl.SetFocus;
end else
begin
ehcl.Enabled:=false;
end;
end;
procedure Tf_rkcx.cb_szmdClick(Sender: TObject);
begin
if cb_szmd.Checked then
begin
eszmd.Enabled:=true;
eszmd.SetFocus;
end else
begin
eszmd.Enabled:=false;
end;
end;
procedure Tf_rkcx.cb_ysxClick(Sender: TObject);
begin
if cb_ysx.Checked then
begin
eysx.Enabled:=true;
eysx.SetFocus;
end else
begin
eysx.Enabled:=false;
end;
end;
procedure Tf_rkcx.cb_jbrClick(Sender: TObject);
begin
if cb_jbr.Checked then
begin
ejbr.Enabled:=true;
ejbr.SetFocus;
end else
begin
ejbr.Enabled:=false;
end;
end;
procedure Tf_rkcx.ecKeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['0'..'9',#8,'.']) then
begin
key:=#0;
end;
end;
procedure Tf_rkcx.ehclKeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['0'..'9',#8,'.']) then
begin
key:=#0;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -