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

📄 custype.pas

📁 集成酒店桑拿食管管理的完整程序
💻 PAS
字号:
unit custype;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, DBCtrls, Db, DBTables, Grids, DBGrids, StdCtrls, Mask;

type
  Tfwtypeform = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Bevel3: TBevel;
    Bevel4: TBevel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    q1: TQuery;
    xfdl: TRadioButton;
    xfxl: TRadioButton;
    xftype: TComboBox;
    Label3: TLabel;
    Bevel1: TBevel;
    xfno: TMaskEdit;
    xfmc: TMaskEdit;
    q2: TQuery;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure xfdlClick(Sender: TObject);
    procedure xfxlClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure xftypeClick(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fwtypeform: Tfwtypeform;

implementation
uses dataproc;

{$R *.DFM}
var
  but,xfoldno:string ;

procedure seedata;
begin
with fwtypeform do
  begin
  q1.Active :=false;
  q1.sql.clear;
  q1.sql.add('select custype,cusname from custype where parentcode=:pcode ');
  if xfdl.Checked =true then
     q1.ParamByName('pcode').asstring:='0';
  if xfxl.Checked =true then
     q1.ParamByName('pcode').asstring:=trim(copy(xftype.items[xftype.itemindex],1,4));
  q1.Prepare;
  q1.open;
  chinesegrid(dbgrid1);
  q1.active:=true;
  end
end;

procedure formini;
begin
with fwtypeform do
   begin
   xfno.text:='';
   xfmc.text:='';
   if xfno.Enabled =false then
      xfno.Enabled :=true;
   if xfmc.Enabled =false then
      xfmc.Enabled :=true;
   button1.Enabled :=true;
   button2.Enabled :=true;
   button3.Enabled :=true;
   button4.Enabled :=false;
   button5.Enabled :=false;
   end
end;

procedure butunset;
begin
with fwtypeform do
   begin
   button1.Enabled :=false;
   button2.Enabled :=false;
   button3.Enabled :=false;
   button4.Enabled :=true;
   button5.Enabled :=true;
   end
end;

procedure datatoctr;
begin
with fwtypeform do
   begin
   xfno.text:=q1.fieldbyname('custype').asstring;
   xfmc.text:=q1.fieldbyname('cusname').asstring;
   end
end;

procedure Tfwtypeform.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then
     selectnext(activecontrol,true,true);
end;

procedure Tfwtypeform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  q1.free;
  q2.free;
end;

procedure Tfwtypeform.xfdlClick(Sender: TObject);
begin
  if xfdl.Checked =true then
     begin
     xftype.Enabled :=false;
     seedata;
     end
end;

procedure Tfwtypeform.xfxlClick(Sender: TObject);
begin
  if xfxl.Checked =true then
     begin
     xftype.Enabled :=true;
     comadd(fwtypeform.xftype,2,'select custype,cusname from custype where parentcode="0" ');
     seedata;
     end
end;

procedure Tfwtypeform.FormCreate(Sender: TObject);
begin
   formini;
   seedata;
end;

procedure Tfwtypeform.Button6Click(Sender: TObject);
begin
  fwtypeform.Close;
end;

procedure Tfwtypeform.Button1Click(Sender: TObject);
begin
  but:='1';
  butunset;
  xfno.SetFocus ;
end;

procedure Tfwtypeform.Button2Click(Sender: TObject);
begin
  but:='2';
  if q1.RecordCount >0 then
     begin
     datatoctr;
     xfoldno:=trim(xfno.text);
     butunset;
     xfno.SetFocus ;
     end
  else
     showmessage('无记录,不能修改');
end;

procedure Tfwtypeform.Button3Click(Sender: TObject);
begin
  but:='3';
  butunset;
  if q1.RecordCount >0 then
     begin
     datatoctr;
     xfoldno:=trim(xfno.text);
     xfno.Enabled :=false;
     xfmc.Enabled :=false;
     butunset;
     end
  else
     showmessage('无记录,不能修改');

end;

procedure Tfwtypeform.Button5Click(Sender: TObject);
begin
   formini;
end;

procedure Tfwtypeform.xftypeClick(Sender: TObject);
begin
   seedata;
end;

procedure Tfwtypeform.Button4Click(Sender: TObject);
begin
   if length(trim(xfno.text))=0 then
      begin
      showmessage('消费类型编号不能为空');
      xfno.setfocus;
      exit;
      end;
   if length(trim(xfmc.text))=0 then
      begin
      showmessage('消费类型名称不能为空');
      xfmc.setfocus;
      exit;
      end;
   if but='1' then
      try
         q2.Active :=false;
         q2.sql.clear;
         q2.sql.add('insert into custype values(:pxfno,:pxfmc,:pparentno)');
         q2.ParamByName('pxfno').asstring:=trim(xfno.text);
         q2.ParamByName('pxfmc').asstring:=trim(xfmc.text);
         if xfdl.Checked =true then
            q2.ParamByName ('pparentno').asstring:='0';
         if xfxl.Checked =true then
            q2.ParamByName ('pparentno').asstring:=trim(copy(xftype.items[xftype.itemindex],1,4));
         q2.Prepare;
         q2.ExecSQL;
         formini;
         seedata;
      except
         showmessage('编号已存在');
      end;
   if but='2' then
      try
         q2.Active :=false;
         q2.sql.clear;
         q2.sql.add('update custype set custype=:pxfno,cusname=:pxfmc,parentcode=:pparentno where custype=:poldno ');
         q2.ParamByName('pxfno').asstring:=trim(xfno.text);
         q2.ParamByName('pxfmc').asstring:=trim(xfmc.text);
         if xfdl.Checked =true then
            q2.ParamByName ('pparentno').asstring:='0';
         if xfxl.Checked =true then
            q2.ParamByName ('pparentno').asstring:=trim(copy(xftype.items[xftype.itemindex],1,4));
         q2.ParamByName ('poldno').asstring:=trim(xfoldno);
         q2.Prepare;
         q2.ExecSQL;
         q2.Active :=false;
         q2.sql.clear;
         q2.sql.add('update custype set parentcode=:pparentcode where parentcode=:pxfoldno');
         q2.ParamByName ('pparentcode').asstring:=trim(xfno.text);
         q2.ParamByName ('pxfoldno').asstring:=trim(xfoldno);
         q2.Prepare;
         q2.execsql;
         formini;
         seedata;
      except
         showmessage('编号已存在');
      end;
   if but='3' then
      try
         if messagedlg('确实删除吗?',mtWarning,[mbyes,mbno],1)=mryes then
            begin
            q2.Active :=false;
            q2.sql.clear;
            q2.sql.add('delete custype where custype=:pcustype');
            q2.ParamByName('pcustype').asstring:=trim(xfoldno);
            q2.Prepare;
            q2.execsql;
            q2.Active :=false;
            q2.sql.clear;
            q2.sql.add('delete custype where parentcode=:pxfno');
            q2.ParamByName('pxfno').asstring:=trim(xfoldno);
            q2.Prepare;
            q2.execsql;
            end;
      finally
          formini;
          seedata;
      end;
end;

end.

⌨️ 快捷键说明

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