⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pfjg.pas

📁 日昌餐饮管理系统是用Delphi7+SQL写的管理系统
💻 PAS
字号:
unit pfjg;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables, ComCtrls, StdCtrls, Buttons, ExtCtrls, Menus,variants;

type
  Tpfjgf = class(TForm)
    TreeView1: TTreeView;
    Query1: TQuery;
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Query2: TQuery;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    Panel1: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Edit3: TEdit;
    Edit4: TEdit;
    N4: TMenuItem;
    Query5: TQuery;
    UpdateSQL1: TUpdateSQL;
    Label4: TLabel;
    Edit5: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Edit4KeyPress(Sender: TObject; var Key: Char);
    procedure Edit5KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  pfjgf: Tpfjgf;
  len:integer;
  zbkm,xxx:string;
  tt:Ttreenode;

implementation

uses chzx, caipincxU,rjsmain;


{$R *.DFM}

procedure Tpfjgf.FormCreate(Sender: TObject);
var
  tv: array[0..200] of TTreeNode;
  tv1,tv2:TTreenode;
  I:INTEGER;
begin
  treeview1.Items.Clear;
  query1.Open;
  i:=0;
  query1.First;
  tv1:=treeview1.Items.GetFirstNode;
  while i<= query1.RecordCount -1 do
    begin
      tv[i]:=treeview1.Items.Add(tv1,query1.Fieldbyname('cpbm').AsString+'__'+query1.Fieldbyname('cpmc').AsString+'(1)');
      query2.ParamByName('cs0').asstring:=query1.Fieldbyname('cpbm').AsString;
      query2.Open;
      if (query2.RecordCount>0) and (query2.Fieldbyname('cpbm').AsString<>'') then
        begin
          tv2:=treeview1.Items.GetNode(tv[i].itemid);
          query2.First;
          while not query2.Eof do
            begin
              tv[i]:=treeview1.Items.Addchild(tv2,query2.Fieldbyname('ylbm').AsString+'__'+query2.Fieldbyname('ylmc').AsString+'('+query2.Fieldbyname('ylyl').AsString+')');
              query2.Next;
            end;
        end;
      query2.Close;
      query1.Next;
      i:=i+1;
    end;
  query1.Close;
  tt:=treeview1.TopItem;
end;

procedure Tpfjgf.N1Click(Sender: TObject);
var
  i:integer;
begin
   xxx:='tj';
   if treeview1.Items.Count=0 then begin
    tt:=treeview1.Items.AddFirst(tt,'新配方');
    end
   else begin
   if treeview1.Selected.Level=0 then tt:=treeview1.Selected
   else tt:=treeview1.Selected.Parent;
    i:=pos('__',tt.Text);
    edit4.Text:=copy(tt.Text,1,i-3);
    tt:=treeview1.Items.Add(tt,'新配方');
   end;
   treeview1.Enabled:=false;
   label5.Caption:='添加新配方';
   spbt:='pfjg';
   caipincxf.showmodal;
   edit5.Text:='1';
   edit5.ReadOnly:=true;
   panel1.Visible:=true;
   edit5.SetFocus;
end;

procedure Tpfjgf.BitBtn1Click(Sender: TObject);
var aa,bb:integer;
    cc:string;
begin
  tt.Text:=edit4.Text+'__'+edit3.Text+'('+edit5.Text+')';
  treeview1.Enabled:=true;
  if xxx='tj' then
    begin
      if (edit4.Text='') or (edit3.Text='') or (edit5.Text='') then
        begin
          application.MessageBox('名称、编码、数量不能为空!','提示信息',0);
          edit4.SetFocus;
          exit;
        end;
      if tt.Level=0 then
      begin
       treeview1.Refresh;
       panel1.Visible:=false;
       exit;
      end;
      aa:=ansipos('__',tt.Parent.Text);
      bb:=ansipos('(',tt.Parent.Text);
      query5.Append;
      query5.FieldByName('cpbm').Value:=copy(tt.Parent.Text,1,aa-1);
      query5.FieldByName('cpmc').Value:=copy(tt.Parent.Text,aa+2,bb-aa-2);
      query5.FieldByName('ylbm').Value:=edit4.Text;
      query5.FieldByName('ylmc').Value:=edit3.Text;
      query5.FieldByName('ylyl').asstring:=edit5.Text;
      query5.FieldByName('yldw').Value:=edit1.Text;
      query5.FieldByName('yldj').asstring:=edit2.Text;
      query5.Post;
      query5.ApplyUpdates;
    end;
  if xxx='sc' then
    begin
      if treeview1.Selected.HasChildren then
       if messagedlg('待删除的类别有子类!'+#13+'仍要删除吗?',mtwarning,[mbyes,mbno],0) <>mryes then exit;
      if treeview1.Selected.HasChildren then
      begin
       query5.First;
       while not query5.Eof do
       begin
        if copy(query5.FieldByName('cpbm').value,1,length(trim(edit4.text)))=trim(edit4.text) then query5.Delete
        else query5.Next;
       end;
       end
       else begin
        aa:=ansipos('__',tt.Parent.Text);
        cc:=copy(tt.Parent.Text,1,aa-1);
        if query5.Locate('cpbm;ylbm',vararrayof([cc,edit4.Text]),[]) then
        query5.Delete;
       end;
       tt.Delete;
       query5.ApplyUpdates;
   end;
  if xxx='gg' then
    begin
      if (edit4.Text='') or (edit3.Text='') then
        begin
          application.MessageBox('名称及编号不能为空!','提示信息',0);
          edit4.SetFocus;
          exit;
        end;
      if treeview1.Selected.HasChildren then
      begin
       aa:=ansipos('__',tt.Text);
       bb:=ansipos('(',tt.Text);
       query5.First;
       while not query5.Eof do
       begin
        if copy(query5.FieldByName('cpbm').value,1,length(trim(edit4.text)))=trim(edit4.text) then
        begin
          query5.Edit;
          query5.FieldByName('cpbm').Value:=copy(tt.Text,1,aa-1);
          query5.FieldByName('cpmc').Value:=copy(tt.Text,aa+2,bb-aa-2);
        end
        else query5.Next;
       end;
       end
       else begin
        aa:=ansipos('__',tt.Parent.Text);
        cc:=copy(tt.Parent.Text,1,aa-1);
        if query5.Locate('cpbm;ylbm',vararrayof([cc,edit4.Text]),[]) then
         begin
          query5.Edit;
          query5.FieldByName('ylbm').Value:=edit4.Text;
          query5.FieldByName('ylmc').Value:=edit3.Text;
          query5.FieldByName('ylyl').asstring:=edit5.Text;
         end;
       end;
       query5.ApplyUpdates;
    end;
  query5.Close;
  query5.Open;
  treeview1.Refresh;
  panel1.Visible:=false;
end;

procedure Tpfjgf.BitBtn2Click(Sender: TObject);
begin
   edit4.ReadOnly:=false;
   if xxx='tj' then tt.Delete;
   treeview1.Enabled:=true;
   panel1.Visible:=false;
end;

procedure Tpfjgf.N4Click(Sender: TObject);
var
  i:integer;
begin
   if treeview1.Items.Count=0 then exit;
   xxx:='tj';
   if treeview1.Selected.Level=0 then tt:=treeview1.Selected
   else tt:=treeview1.Selected.Parent;
   i:=pos('__',tt.Text);
   edit4.Text:=copy(tt.Text,1,i-1);
   tt:=treeview1.Items.AddChild(tt,'新用料');
   treeview1.Enabled:=false;
   label5.Caption:='添加用料';
   spbt:='pfjg';
   cpcxf.showmodal;
   edit5.Text:='';
   edit5.ReadOnly:=false;
   panel1.Visible:=true;
   edit5.SetFocus;
end;

procedure Tpfjgf.N2Click(Sender: TObject);
var
  i,j,k:integer;
begin
  xxx:='sc';
  tt:=treeview1.Selected;
  i:=pos('__',tt.Text);
  j:=pos('(',tt.Text);
  k:=pos(')',tt.Text);
  edit4.Text:=copy(tt.Text,1,i-1);
  edit3.Text:=copy(tt.Text,i+2,j-i-2);
  edit5.Text:=copy(tt.Text,j+1,k-j-1);
  label5.Caption:='删除';
  panel1.Visible:=true;
end;

procedure Tpfjgf.N3Click(Sender: TObject);
var
  i,j,k:integer;
begin
  xxx:='gg';
  tt:=treeview1.Selected;
  i:=pos('__',tt.Text);
  j:=pos('(',tt.Text);
  k:=pos(')',tt.Text);
  edit4.Text:=copy(tt.Text,1,i-1);
  edit3.Text:=copy(tt.Text,i+2,j-i-2);
  edit5.Text:=copy(tt.Text,j+1,k-j-1);
  edit4.ReadOnly:=true;
  spbt:='pfjg';
  cpcxf.showmodal;
  label5.Caption:='修改';
  panel1.Visible:=true;
   edit5.SetFocus;
end;

procedure Tpfjgf.FormActivate(Sender: TObject);
begin
     query5.Open;
     formcreate(self);
end;

procedure Tpfjgf.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     query5.Close;
     xxx:='';
end;

procedure Tpfjgf.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
     if key=chr(13) then edit4.SetFocus;
end;

procedure Tpfjgf.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
     if key=chr(13) then edit5.SetFocus;
end;

procedure Tpfjgf.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
     if key=chr(13) then bitbtn1.SetFocus;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -