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

📄 conut.~pas

📁 宾馆客房管理系统,功能强大,界面美观,全部delphi源代码
💻 ~PAS
字号:
unit conut;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, Grids, DBGrids, ADODB, ExtCtrls, StdCtrls, Buttons, ComCtrls;

type
  Tconfm = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    conado: TADOQuery;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    rzdh: TLabeledEdit;
    SpeedButton1: TSpeedButton;
    xfsj: TDateTimePicker;
    Label1: TLabel;
    xfje: TLabeledEdit;
    Label2: TLabel;
    xfnr: TComboBox;
    Label3: TLabel;
    bz: TEdit;
    qdbt: TBitBtn;
    sxbt: TBitBtn;
    xgbt: TBitBtn;
    scbt: TBitBtn;
    gbbt: TBitBtn;
    zdbh: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure rzdhKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure xfjeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure xfnrKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure bzKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure qdbtClick(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure scbtClick(Sender: TObject);
    procedure gbbtClick(Sender: TObject);
    procedure xgbtClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  confm: Tconfm;

implementation

uses inlistut;

{$R *.dfm}

procedure Tconfm.FormCreate(Sender: TObject);
var
 Present: TDateTime;
 Year, Month, Day: Word;//定义时间变量
 sno,cno,vno:string;//单据编号变量
  llen:integer; //获取长度的变量

 begin

 //自动获取预定最大单据号
present:=now;
DecodeDate(Present, Year, Month, Day);

with conado do
  begin
   close;
   sql.Clear;
   sql.Add('select * from 帐单明细表');
   open;
   if recordcount<1 then
     begin
     cno:='00001';
     vno:='ZDBH'+inttostr(Year)+inttostr(Month)+inttostr(Day)+cno;
     end
   else
     begin
      close;
      sql.Clear;
      sql.Add('select max(帐单编号) as maxno  from 帐单明细表');
      open;
      sno:=fieldbyname('maxno').AsString;
      llen:=strtoint(copy(sno,11,5))+1;
      case length(inttostr(llen)) of
       1:cno:='0000'+inttostr(strtoint(copy(sno,13,5))+1);
       2:cno:='000'+inttostr(strtoint(copy(sno,13,5))+1);
       3:cno:='00'+inttostr(strtoint(copy(sno,13,5))+1);
       4:cno:='0'+inttostr(strtoint(copy(sno,13,5))+1);
       5:cno:=inttostr(strtoint(copy(sno,13,5))+1);
      else
       cno:='00001';
    end;
        vno:='ZDBH'+inttostr(Year)+inttostr(Month)+inttostr(Day)+cno;

    end;
  end;
  zdbh.Text:=vno;
  rzdh.Text:='';
  xfsj.Date:=date();
  xfje.Text:='';
  xfnr.Text:='';
  bz.Text:='';
 with  conado do
   begin
     close;
     sql.Clear;
     sql.Add('select * from 帐单明细表 order by 编号');
     open;
   end;
  DBGrid1.Columns[0].Width:=0;
end;

procedure Tconfm.rzdhKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key=13 then
   begin
     if rzdh.Text<>'' then
     xfje.SetFocus
     else
     begin
     showmessage('请导入入住单号!');
     exit;
     end;
   end;
end;

procedure Tconfm.xfjeKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=13 then
   begin
     if xfje.Text<>'' then
     xfnr.SetFocus
     else
     begin
     showmessage('请输入消费金额!');
     exit;
     end;
   end;
end;

procedure Tconfm.xfnrKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key=13 then
   begin
     if xfnr.Text<>'' then
     bz.SetFocus
     else
     begin
     showmessage('请选择消费内容!');
     exit;
     end;
   end;
end;

procedure Tconfm.bzKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=13 then
   qdbt.SetFocus;
end;

procedure Tconfm.qdbtClick(Sender: TObject);
begin
   if rzdh.Text='' then
     begin
       showmessage('请导入入住单号!');
       exit;
     end;
      if xfje.Text='' then
     begin
       showmessage('请输入消费金额!');
       exit;
     end;
      if xfnr.Text='' then
     begin
       showmessage('请选择消费内容!');
       exit;
     end;
    with conado do
      begin
        close;
        sql.Clear;
        sql.Add('insert into 帐单明细表(帐单编号,入住单号,消费金额,消费内容,消费时间,备注,id) ');
        sql.Add('values(:zdbh,:rzdh,:xfje,:xfnr,:xfsj,:bz,:id)');
        Parameters.ParamByName('zdbh').Value:=trim(zdbh.Text);
        Parameters.ParamByName('rzdh').Value:=trim(rzdh.Text);
        Parameters.ParamByName('xfje').Value:=trim(xfje.Text);
        Parameters.ParamByName('xfnr').Value:=trim(xfnr.Text);
        Parameters.ParamByName('xfsj').Value:=datetostr(xfsj.date);
        Parameters.ParamByName('bz').Value:=trim(bz.Text);
        Parameters.ParamByName('id').Value:='';
        execsql;
      end;
      showmessage('提交成功!');
      sxbt.Click;
end;

procedure Tconfm.DBGrid1CellClick(Column: TColumn);
begin
  with conado do
    begin
      zdbh.Text:=fieldbyname('帐单编号').AsString;
      rzdh.Text:=fieldbyname('入住单号').AsString;
      xfsj.Date:=fieldbyname('消费时间').AsDateTime;
      xfje.Text:=fieldbyname('消费金额').AsString;
      xfnr.Text:=fieldbyname('消费内容').AsString;
      bz.Text:=fieldbyname('备注').AsString;
    end;
end;

procedure Tconfm.scbtClick(Sender: TObject);
begin
 if zdbh.Text='' then
   begin
    showmessage('请点击要删除的帐单编号');
    exit;
   end;
   with conado do
    begin
     close;
     sql.Clear;
     sql.Add('delete * from 帐单明细表 where 帐单编号=:zdbh');
     Parameters.ParamByName('zdbh').Value:=trim(zdbh.Text);
     try
      if messagedlg('确定删除吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
      begin
      execsql;
       showmessage('删除成功');
      end;
      except
      showmessage('删除失败');
      end;
    end;
    sxbt.Click;
end;

procedure Tconfm.gbbtClick(Sender: TObject);
begin
close;
end;

procedure Tconfm.xgbtClick(Sender: TObject);
begin
 if zdbh.Text='' then
 begin
    showmessage('请点击要修改的帐单编号');
    exit;
   end;


if rzdh.Text='' then
     begin
       showmessage('请导入入住单号!');
       exit;
     end;
      if xfje.Text='' then
     begin
       showmessage('请输入消费金额!');
       exit;
     end;
      if xfnr.Text='' then
     begin
       showmessage('请选择消费内容!');
       exit;
     end;
      if zdbh.Text='' then
     with conado do
      begin
        close;
        sql.Clear;
        sql.Add('update  帐单明细表 set 入住单号=:rzdh,消费金额=:xfje,消费内容=:xfnr,消费时间=:xfsj,备注=:bz where 帐单编号=:zdbh');
        Parameters.ParamByName('zdbh').Value:=trim(zdbh.Text);
        Parameters.ParamByName('rzdh').Value:=trim(rzdh.Text);
        Parameters.ParamByName('xfje').Value:=trim(xfje.Text);
        Parameters.ParamByName('xfnr').Value:=trim(xfnr.Text);
        Parameters.ParamByName('xfsj').Value:=datetostr(xfsj.date);
        Parameters.ParamByName('bz').Value:=trim(bz.Text);
        Parameters.ParamByName('id').Value:='';
        execsql;
      end;
      showmessage('修改成功!');
      sxbt.Click;
end;

procedure Tconfm.SpeedButton1Click(Sender: TObject);
begin
 inlistfm:=Tinlistfm.create(self);
 inlistfm.show;
end;

end.

⌨️ 快捷键说明

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