📄 uz_cbkz.pas
字号:
unit uz_cbkz;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ComCtrls, ExtCtrls, ToolWin, Grids, DBGrids,u_main, StdCtrls,
ImgList, Tabs, DBCtrls, Db, DBTables;
type
Tz_cbkz = class(TForm)
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
dy: TToolButton;
bz: TToolButton;
ToolButton8: TToolButton;
MainMenu1: TMainMenu;
MenuItem11: TMenuItem;
N1: TMenuItem;
MenuItem18: TMenuItem;
P1: TMenuItem;
MenuItem19: TMenuItem;
MenuItem20: TMenuItem;
MenuItem73: TMenuItem;
MenuItem74: TMenuItem;
MenuItem75: TMenuItem;
MenuItem76: TMenuItem;
ImageList2: TImageList;
ImageList1: TImageList;
yl: TToolButton;
fg1: TToolButton;
ToolButton5: TToolButton;
CoolBar2: TCoolBar;
Panel1: TPanel;
TabSet1: TTabSet;
zl: TToolButton;
gl: TToolButton;
sl: TToolButton;
m_zl: TMenuItem;
m_gl: TMenuItem;
m_sl: TMenuItem;
TreeView1: TTreeView;
Label1: TLabel;
clm: TLabel;
Label3: TLabel;
DBText1: TDBText;
DBText2: TDBText;
PrinterSetup: TPrinterSetupDialog;
Panel2: TPanel;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
Label2: TLabel;
S1: TMenuItem;
z_cbkz_cksz: TMenuItem;
cypl: TTable;
cyplBh: TIntegerField;
cyplCh: TStringField;
cyplCllb: TStringField;
cyplBm: TStringField;
cyplLb: TStringField;
cyplJl: TStringField;
cyplZl: TFloatField;
cyplDj: TFloatField;
cyplJe: TFloatField;
cyplYl: TStringField;
cyplJll: TFloatField;
d_cypl: TDataSource;
d_cy: TDataSource;
cy: TTable;
cyCH: TStringField;
cyClh: TStringField;
cyMc: TStringField;
cyZjm: TStringField;
cyGg: TStringField;
cyDj: TFloatField;
cyBz: TStringField;
cyDzl: TFloatField;
cyLbh: TStringField;
cyCb: TFloatField;
cyLl: TFloatField;
sb: TStatusBar;
cl: TTable;
clClh: TStringField;
clClm: TStringField;
clDzl: TFloatField;
clLBH: TStringField;
d_cl: TDataSource;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
lb: TPopupMenu;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
xflb: TTable;
cyxflb1: TStringField;
cyclm: TStringField;
PopupMenu1: TPopupMenu;
yl1: TMenuItem;
yl2: TMenuItem;
N5: TMenuItem;
yl3: TMenuItem;
PopupMenu2: TPopupMenu;
dy1: TMenuItem;
dy2: TMenuItem;
MenuItem3: TMenuItem;
dy3: TMenuItem;
gfdg1: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
procedure FormShow(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure ToolButton8Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure TabSet1Change(Sender: TObject; NewTab: Integer;
var AllowChange: Boolean);
procedure MenuItem18Click(Sender: TObject);
procedure MenuItem76Click(Sender: TObject);
procedure bzClick(Sender: TObject);
procedure ylClick(Sender: TObject);
procedure zlClick(Sender: TObject);
procedure z_cbkz_ckszClick(Sender: TObject);
procedure slClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure yl1Click(Sender: TObject);
procedure yl2Click(Sender: TObject);
procedure dy1Click(Sender: TObject);
procedure dy2Click(Sender: TObject);
procedure yl3Click(Sender: TObject);
procedure dy3Click(Sender: TObject);
procedure cyAfterScroll(DataSet: TDataSet);
procedure cyplZlChange(Sender: TField);
procedure glClick(Sender: TObject);
procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure cyplAfterPost(DataSet: TDataSet);
procedure N7Click(Sender: TObject);
procedure MenuItem74Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure sb_sz;
procedure tree_csh;
end;
var
z_cbkz: Tz_cbkz;
s_mess:string;
lbh:string;
implementation
uses uabout,uz_clsz, uz_cbkz_xl, ug_wait, uzp_cp, uz_cbkz_cl;
{$R *.DFM}
procedure Tz_cbkz.sb_sz;
begin
sb.Panels[6].text:=inttostr(cl.RecordCount);
sb.Panels[8].text:=inttostr(main.h_count('select count(ch) as hj from cy'));
sb.Panels[10].text:=inttostr(cypl.RecordCount);
s_sql:='select count(clh) as hj from cl where lbh="'+lbh+'"';
sb.Panels[2].text:=inttostr(main.h_count(s_sql)); //当前菜类
sb.Panels[4].text:=inttostr(cy.RecordCount);
if cypl.RecordCount=0 then
begin
gl.Enabled:=false;
sl.Enabled:=false;
m_gl.Enabled:=false;
m_sl.Enabled:=false;
end
else
begin
gl.Enabled:=true;
sl.Enabled:=true;
m_gl.Enabled:=true;
m_sl.Enabled:=true;
end;
{
with main.query1 do
begin
active:=false;
sql.Clear;
sql.add('select sum(je) as hj from cypl where ch=:p_ch');
ParamByName('p_ch').asstring:=cy.fieldbyname('ch').asstring;
active:=true;
cy.edit;
cy.fieldbyname('cb').value:=fieldbyname('hj').ascurrency;
cy.fieldbyname('ll').value:=(cy.fieldbyname('dj').ascurrency-fieldbyname('hj').ascurrency)/cy.fieldbyname('dj').ascurrency;
end;
}
end;
procedure Tz_cbkz.tree_csh;
begin
with TreeView1,cl do
begin
items.clear;
items.AddChild(getnodeat(0,0),'菜谱');
first;
while not eof do
begin
if fieldbyname('lbh').asstring=lbh then
items.AddChild(getnodeat(1,1),'['+fieldbyname('clh').asstring+']'+fieldbyname('clm').asstring);
next;
end;
fullexpand;
cy.filter:='lbh='+lbh;
TreeView1.Refresh;
end;
end;
procedure Tz_cbkz.FormShow(Sender: TObject);
begin
if not xflb.Active then xflb.Active:=true;
if not cl.Active then cl.Active:=true;
if not cy.Active then cy.Active:=true;
if not cypl.Active then cypl.Active:=true;
if z_cbkz_xl=NIL then z_cbkz_xl:=Tz_cbkz_xl.Create(self);
if z_cbkz_cl=NIL then z_cbkz_cl:=Tz_cbkz_cl.Create(self);
if zp_cp=NIL then zp_cp:=Tzp_cp.Create(self);
lbh:=inttostr(TabSet1.TabIndex+1); //放入消费类别号
tree_csh;
clm.caption:='菜谱';
sb_sz;
g_wait.close;
end;
procedure Tz_cbkz.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
clm.caption:=TreeView1.Selected.text;
with TreeView1.Selected,cy do
begin
if text='菜谱' then filter:='lbh='+lbh
else
begin
filtered:=false;
filter:='lbh='+lbh+' and clh='+copy(text,2,2);
filtered:=true;
end
end;
clm.caption:=TreeView1.Selected.text;
sb_sz;
end;
procedure Tz_cbkz.ToolButton8Click(Sender: TObject);
begin
close;
end;
procedure Tz_cbkz.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
76:TabSet1.tabindex:=0;
82:TabSet1.tabindex:=1;
77:TabSet1.tabindex:=2;
74:TabSet1.tabindex:=3;
79:TabSet1.tabindex:=4;
end;
case key of
76,82,77,74,79:
begin
lbh:=inttostr(TabSet1.tabindex+1);
with TreeView1 do
begin
items.clear;
items.AddChild(getnodeat(0,0),'菜谱');
cl.first;
while not cl.eof do
begin
if cl.fieldbyname('lbh').Value=lbh then items.AddChild(getnodeat(1,1),'['+cl.fieldbyname('clh').asstring+']'+cl.fieldbyname('clm').asstring);
cl.next;
end;
fullexpand;
end;
cy.filter:='lbh='+lbh;
end;
end;
end;
procedure Tz_cbkz.TabSet1Change(Sender: TObject; NewTab: Integer;
var AllowChange: Boolean);
begin
lbh:=inttostr(newtab+1);
tree_csh;
sb_sz;
end;
procedure Tz_cbkz.MenuItem18Click(Sender: TObject);
begin
PrinterSetup.Execute;
end;
procedure Tz_cbkz.MenuItem76Click(Sender: TObject);
begin
if about=NIL then about:=Tabout.Create(self);
about.showmodal;
end;
procedure Tz_cbkz.bzClick(Sender: TObject);
begin
Application.HelpFile:='\hbjd\cyzy\help\hbcy.hlp';
Application.HelpJump('ptcbkz');
end;
procedure Tz_cbkz.ylClick(Sender: TObject);
begin
//
end;
procedure Tz_cbkz.zlClick(Sender: TObject);
begin
y_n:=1;
z_cbkz_cl.showmodal;
sb.Panels[10].text:=inttostr(cypl.RecordCount);
end;
procedure Tz_cbkz.z_cbkz_ckszClick(Sender: TObject);
begin
z_clsz:=Tz_clsz.Create(Application);
z_clsz.showmodal;
end;
procedure Tz_cbkz.slClick(Sender: TObject);
begin
if cypl.recordcount=0 then
begin
messagebox(handle,'您没有选择到可被删除的菜料!','系统提示信息',MB_OK+MB_ICONWARNING);
exit;
end;
s_mess:='您真的要删除 ['+cypl.fieldbyname('bm').AsString+']'+cypl.fieldbyname('jl').AsString+' 菜料吗 ?';
if messagebox(handle,pchar(s_mess),'系统提示信息',MB_OKCANCEL+MB_ICONQUESTION)=IDOK then
begin
cypl.delete;
cypl.edit;
cypl.post;
sb.Panels[10].text:=inttostr(cypl.RecordCount);
end;
end;
procedure Tz_cbkz.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Release;
z_cbkz:=NIl;
z_cbkz_xl.Release;
z_cbkz_xl:=NIl;
z_cbkz_cl.Release;
z_cbkz_cl:=NIl;
zp_cp.Release;
zp_cp:=NIl;
end;
procedure Tz_cbkz.N2Click(Sender: TObject);
begin
cypl.edit;
cypl.fieldbyname('lb').value:='主料';
end;
procedure Tz_cbkz.N3Click(Sender: TObject);
begin
cypl.edit;
cypl.fieldbyname('lb').value:='配料';
end;
procedure Tz_cbkz.N4Click(Sender: TObject);
begin
cypl.edit;
cypl.fieldbyname('lb').value:='调料';
end;
procedure Tz_cbkz.yl1Click(Sender: TObject);
var
s_filter:string;
begin
s_filter:=cy.Filter;
cy.filter:='';
zp_cp.QuickRep4.preview;
cy.Filter:=s_filter;
end;
procedure Tz_cbkz.yl2Click(Sender: TObject);
begin
zp_cp.QuickRep4.preview;
end;
procedure Tz_cbkz.dy1Click(Sender: TObject);
var
s_filter:string;
begin
s_filter:=cy.Filter;
cy.filter:='';
zp_cp.QuickRep4.print;
cy.Filter:=s_filter;
end;
procedure Tz_cbkz.dy2Click(Sender: TObject);
begin
zp_cp.QuickRep4.print;
end;
procedure Tz_cbkz.yl3Click(Sender: TObject);
begin
zp_cp.QuickRep5.preview;
end;
procedure Tz_cbkz.dy3Click(Sender: TObject);
begin
zp_cp.QuickRep5.print;
end;
procedure Tz_cbkz.cyAfterScroll(DataSet: TDataSet);
begin
if trim(cy.fieldbyname('ch').asstring)<>'' then
cypl.filter:='ch='+cy.fieldbyname('ch').asstring
else
cypl.filter:='ch='+'0000';
end;
procedure Tz_cbkz.cyplZlChange(Sender: TField);
begin
cypl.fieldbyname('je').value:=cypl.fieldbyname('dj').value*cypl.fieldbyname('zl').value;
end;
procedure Tz_cbkz.glClick(Sender: TObject);
begin
y_n:=0;
z_cbkz_cl.showmodal;
sb.Panels[10].text:=inttostr(cypl.RecordCount);
end;
procedure Tz_cbkz.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if cy.fieldbyname('ll').value<0.00 then
begin
DBGrid2.Canvas.Font.Color:=clred;
DBGrid2.DefaultDrawColumnCell(rect,datacol,column,state);
end;
if cy.fieldbyname('ll').value=0.00 then
begin
DBGrid2.Canvas.Font.Color:=clteal;
DBGrid2.DefaultDrawColumnCell(rect,datacol,column,state);
end;
end;
procedure Tz_cbkz.cyplAfterPost(DataSet: TDataSet);
begin
with main.query1 do
begin
active:=false;
sql.Clear;
sql.add('select sum(je) as hj from cypl where ch=:p_ch');
ParamByName('p_ch').asstring:=cy.fieldbyname('ch').asstring;
active:=true;
cy.edit;
cy.fieldbyname('cb').value:=fieldbyname('hj').ascurrency;
if cy.fieldbyname('dj').ascurrency=0 then
cy.fieldbyname('ll').value:=0
else
cy.fieldbyname('ll').value:=(cy.fieldbyname('dj').ascurrency-fieldbyname('hj').ascurrency)/cy.fieldbyname('dj').ascurrency;
cy.post;
end;
end;
procedure Tz_cbkz.N7Click(Sender: TObject);
begin
Application.HelpFile:='\hbjd\cyzy\help\hbcy.hlp';
Application.HelpCommand(Help_PartialKey,0);
end;
procedure Tz_cbkz.MenuItem74Click(Sender: TObject);
begin
Application.HelpFile:='\hbjd\cyzy\help\hbcy.hlp';
Application.HelpCommand(Help_Finder,0);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -