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

📄 stuff.pas

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

interface

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

type
  Tstuffform = class(TForm)
    Label1: TLabel;
    bmno: TComboBox;
    Label2: TLabel;
    bh: TMaskEdit;
    Label3: TLabel;
    name: TMaskEdit;
    Bevel1: TBevel;
    GroupBox1: TGroupBox;
    man: TRadioButton;
    woman: TRadioButton;
    Label4: TLabel;
    birthday: TMaskEdit;
    Label5: TLabel;
    Label6: TLabel;
    workday: TMaskEdit;
    Label7: TLabel;
    zw: TMaskEdit;
    label9: TLabel;
    auth: TMaskEdit;
    zy: TCheckBox;
    reg: TCheckBox;
    ma: TCheckBox;
    Label10: TLabel;
    bpno: TMaskEdit;
    Label11: TLabel;
    telno: TMaskEdit;
    Bevel2: TBevel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Bevel3: TBevel;
    DBGrid1: TDBGrid;
    label8: TLabel;
    area: TMaskEdit;
    money: TMaskEdit;
    DataSource1: TDataSource;
    Q1: TQuery;
    Q2: TQuery;
    pd: TCheckBox;
    procedure FormCreate(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure bmnoClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure birthdayExit(Sender: TObject);
    procedure workdayExit(Sender: TObject);
    procedure moneyExit(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  stuffform: Tstuffform;

implementation
uses dataproc;

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

procedure formini;
begin
with stuffform do
   begin
   bh.text:='';
   name.text:='';
   man.Checked :=true;
   birthday.Text :='1980-01-01';
   area.text:='';
   workday.Text :='1998-01-01';
   money.Text :='500.00';
   zw.text:='';
   auth.Text :='';
   bpno.Text :='';
   telno.Text :='';
   button1.Enabled :=true;
   button2.Enabled :=true;
   button3.Enabled :=true;
   button4.Enabled :=false;
   button5.Enabled :=false;
   if bh.Enabled=false then
      bh.enabled:=true;
   if name.enabled=false then
      name.Enabled :=true;
   end;
end;

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

procedure datatoctr;
begin
with stuffform do
  begin
    q1.Active :=true;
    bh.text:=q1.fieldbyname('code').asstring;
    name.text:=q1.fieldbyname('name').asstring;
    if q1.FieldByName ('sex').asstring='1' then
       man.Checked :=true
    else
       woman.checked:=true;
    birthday.text:=q1.fieldbyname('birthday').asstring;
    area.text:=q1.fieldbyname('area').asstring;
    workday.Text :=q1.fieldbyname('inday').asstring;
    money.Text :=q1.fieldbyname('salary').asstring;
    zw.text:=q1.fieldbyname('headship').asstring;
    auth.text:=q1.fieldbyname('auth').asstring;
    bpno.text:=q1.fieldbyname('bp').asstring;
    telno.Text :=q1.fieldbyname('tel').asstring;
    pd.Checked :=q1.FieldByName ('ispd').asboolean;
    zy.Checked := q1.fieldbyname('iszy').asboolean;
    reg.Checked :=q1.fieldbyname('isreg').asboolean;
    ma.Checked :=q1.fieldbyname('isma').asboolean;
  end
end;

procedure seestuff;
begin
with stuffform do
  begin
  if bmno.itemindex >-1 then
     begin
     q1.Active :=false;
     q1.sql.clear;
     q1.sql.Add('select code,name,sex,salary,birthday,area,inday,Headship,Bp,Tel,auth,iszy,ispd,isreg,isma from stuff where  deptcode=:pdeptcode');
     q1.ParamByName ('pdeptcode').asstring:=copy(trim(bmno.items[bmno.itemindex]),1,2);
     q1.Prepare;
     q1.open;
     chinesegrid(dbgrid1);
     q1.active:=true;
     end
  end
end;

procedure Tstuffform.FormCreate(Sender: TObject);
begin
   shortdateformat:='yyyy-mm-dd';
   formini;
   comadd(stuffform.bmno,2,'select code,name from dept');
   seestuff;
end;

procedure Tstuffform.Button6Click(Sender: TObject);
begin
   stuffform.close;
end;

procedure Tstuffform.bmnoClick(Sender: TObject);
begin
  seestuff;
end;

procedure Tstuffform.Button1Click(Sender: TObject);
begin
   if  bmno.ItemIndex >-1 then
       begin
       but:='1';
       formunini;
       bh.SetFocus ;
       end
end;

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

procedure Tstuffform.Button4Click(Sender: TObject);
begin
   if ((length(trim(bh.text))=0) or (length(trim(name.text))=0)) then
      begin
      showmessage('编号,姓名不能为空');
      bh.SetFocus ;
      exit;
      end;
   if ((length(trim(money.Text))=0) or (length(trim(zw.text))=0) or (length(trim(auth.text))=0)) then
      begin
      showmessage('薪水,职务,权限不能为空');
      money.SetFocus ;
      exit
      end;
   if but='1' then
      try
         q2.Active :=false;
         q2.sql.clear;
         q2.sql.add('insert into stuff values(:pocde,:pname,:psex,:psalary,:pbirthday,:parea,:pinday,:pheadship,:pbp,:ptel,:pdeptcode,:pauth,:piszy,:pispd,:pisreg,:pisma,:ppass)');
         q2.ParamByName ('pocde').asstring:=trim(bh.text);
         q2.ParamByName ('pname').asstring:=trim(name.text);
         q2.ParamByName('psex').asboolean:=man.Checked ;
         q2.ParamByName ('psalary').asfloat:=strtofloat(trim(money.text));
         q2.ParamByName ('pbirthday').asstring:=trim(birthday.Text);
         q2.ParamByName ('parea').asstring:=trim(area.Text);
         q2.ParamByName ('pinday').asstring:=trim(workday.text);
         q2.ParamByName ('pheadship').asstring:=trim(zw.text);
         q2.ParamByName ('pbp').asstring:=trim(bpno.text);
         q2.ParamByName ('ptel').asstring:=trim(telno.text);
         q2.ParamByName ('pdeptcode').asstring:=copy(trim(bmno.items[bmno.itemindex]),1,2);
         q2.ParamByName ('pauth').asstring:=trim(auth.text);
         q2.ParamByName('piszy').asboolean:=zy.checked;
         q2.ParamByName ('pispd').asboolean:=pd.Checked ;
         q2.ParamByName('pisreg').asboolean:=reg.checked;
         q2.ParamByName('pisma').asboolean:=ma.checked;
         q2.ParamByName('ppass').asstring:='1234';
         q2.Prepare;
         q2.ExecSQL ;
         formini;
         q1.Active :=false;
         q1.active:=true;
         chinesegrid(dbgrid1);
      except
         showmessage('编号已存在');
         bh.SetFocus ;
         exit;
      end;
   if but='2' then
      try
         q2.Active :=false;
         q2.sql.clear;
         q2.sql.add('update stuff set code=:pocde,name=:pname,sex=:psex,salary=:psalary,birthday=:pbirthday,area=:parea,');
         q2.sql.add('inday=:pinday,headship=:pheadship,bp=:pbp,tel=:ptel,deptcode=:pdeptcode,auth=:pauth,iszy=:piszy,ispd=:pispd,isreg=:pisreg,isma=:pisma,pass=:ppass  where code=:poldbh ');
         q2.ParamByName ('pocde').asstring:=trim(bh.text);
         q2.ParamByName ('pname').asstring:=trim(name.text);
         q2.ParamByName('psex').asboolean:=man.Checked ;
         q2.ParamByName ('psalary').asfloat:=strtofloat(trim(money.text));
         q2.ParamByName ('pbirthday').asstring:=trim(birthday.Text);
         q2.ParamByName ('parea').asstring:=trim(area.Text);
         q2.ParamByName ('pinday').asstring:=trim(workday.text);
         q2.ParamByName ('pheadship').asstring:=trim(zw.text);
         q2.ParamByName ('pbp').asstring:=trim(bpno.text);
         q2.ParamByName ('ptel').asstring:=trim(telno.text);
         q2.ParamByName ('pdeptcode').asstring:=copy(trim(bmno.items[bmno.itemindex]),1,2);
         q2.ParamByName ('pauth').asstring:=trim(auth.text);
         q2.ParamByName('piszy').asboolean:=zy.checked;
         q2.ParamByName ('pispd').asboolean:=pd.Checked ;
         q2.ParamByName('pisreg').asboolean:=reg.checked;
         q2.ParamByName('pisma').asboolean:=ma.checked;
         q2.ParamByName('ppass').asstring:='1234';
         q2.ParamByName ('poldbh').asstring:=oldbh;
         q2.Prepare;
         q2.ExecSQL ;
         formini;
         q1.Active :=false;
         q1.active:=true;
         chinesegrid(dbgrid1);
      except
         showmessage('编号已存在');
         bh.SetFocus ;
         exit;
      end;
   if but='3' then
      try
         if messagedlg('确实要删除吗?',mtWarning,[mbyes,mbno],1)=mryes then
            begin
            q2.Active :=false;
            q2.sql.add('delete stuff where code=:pcode');
            q2.ParamByName ('pcode').asstring:=oldbh;
            q2.Prepare;
            q2.ExecSQL ;
            q1.Active :=false;
            q1.active:=true;
            chinesegrid(dbgrid1);
            end;
      finally
         formini;
      end;

end;

procedure Tstuffform.Button2Click(Sender: TObject);
begin
   if q1.RecordCount =0 then
      showmessage('无记录,不能修改')
   else
      begin
      but:='2';
      formunini;
      datatoctr;
      oldbh:=trim(bh.text);
      end
end;

procedure Tstuffform.Button3Click(Sender: TObject);
begin
   if q1.RecordCount =0 then
      showmessage('无记录,不能删除')
   else
      begin
      but:='3';
      formunini;
      datatoctr;
      oldbh:=trim(bh.text);
      bh.Enabled :=false;
      name.Enabled :=false;
      end
end;

procedure Tstuffform.birthdayExit(Sender: TObject);
var
  rq:tdate;
begin
  try
     rq:=strtodate(trim(birthday.text))
  except
     showmessage('日期不对');
     birthday.SetFocus ;
  end;
end;

procedure Tstuffform.workdayExit(Sender: TObject);
var
   rq:tdate;
begin
  try
     rq:=strtodate(trim(workday.text))
  except
     showmessage('日期不对');
     workday.SetFocus ;
  end;

end;

procedure Tstuffform.moneyExit(Sender: TObject);
var
   aa:string;
begin
   try
      aa:=floattostr(strtofloat(money.text))
   except
      showmessage('数字不对');
      money.SetFocus ;
   end;
end;

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

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

end.

⌨️ 快捷键说明

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