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

📄 over.~pas

📁 结于初学者来说这对数据库是一个很好的例子
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit Over;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Mask, Buttons, DB, DBTables;

type
  TForm20 = class(TForm)
    Label1: TLabel;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Shape2: TShape;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Shape1: TShape;
    Label18: TLabel;
    Jz_zkl: TMaskEdit;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Jz_rmb: TMaskEdit;
    Jz_zp: TMaskEdit;
    Jz_xyk: TMaskEdit;
    Jz_kd: TMaskEdit;
    Jz_kdr: TComboBox;
    Jz_dz: TMaskEdit;
    Jz_dzr: TComboBox;
    Shape3: TShape;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    FJ_RoomNo: TLabel;
    FJ_AccountNo: TLabel;
    FJ_Name: TLabel;
    FJ_rs: TLabel;
    FJ_BeginTime: TLabel;
    XF_ff: TLabel;
    XF_ryp: TLabel;
    XF_sp: TLabel;
    XF_yl: TLabel;
    XF_jl: TLabel;
    XF_qt: TLabel;
    XF_xj: TLabel;
    XF_zlfy: TLabel;
    XF_ysje: TLabel;
    XF_sfje: TLabel;
    XF_zkje: TLabel;
    Label28: TLabel;
    XF_zlfj: TLabel;
    Q_kdr: TQuery;
    Q_dzr: TQuery;
    zkje: TLabel;
    Label29: TLabel;
    Jz_ml: TMaskEdit;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label39: TLabel;
    Label40: TLabel;
    Label41: TLabel;
    Q_insys: TQuery;
    Label38: TLabel;
    Label42: TLabel;
    Label43: TLabel;
    Label44: TLabel;
    Q_over: TQuery;
    Button1: TButton;
    T_dzkd: TTable;
    Q_zkl: TQuery;
    seekd: TButton;
    seedz: TButton;
    See_kdr: TQuery;
    procedure SpeedButton4Click(Sender: TObject);
    procedure Jz_zklEnter(Sender: TObject);
    procedure Jz_mlEnter(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure Jz_zklKeyPress(Sender: TObject; var Key: Char);
    procedure Jz_mlKeyPress(Sender: TObject; var Key: Char);
    procedure Jz_rmbKeyPress(Sender: TObject; var Key: Char);
    procedure Jz_zpKeyPress(Sender: TObject; var Key: Char);
    procedure Jz_xykKeyPress(Sender: TObject; var Key: Char);
    procedure Jz_kdKeyPress(Sender: TObject; var Key: Char);
    procedure Jz_kdrKeyPress(Sender: TObject; var Key: Char);
    procedure Jz_dzKeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Jz_kdrSelect(Sender: TObject);
    procedure Jz_dzrSelect(Sender: TObject);
    procedure seekdClick(Sender: TObject);
    procedure seedzClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form20: TForm20;

implementation

uses changeover, zhangdan, RoomInInfo, guibin, main, ZHANGDAN11, see_qm;

{$R *.dfm}

procedure TForm20.SpeedButton4Click(Sender: TObject);
begin
 close;
end;

procedure TForm20.Jz_zklEnter(Sender: TObject);
  var zkl:double;
begin
 if length(trim(Jz_zkl.Text))=0 then
  begin
   MessageDlg('折扣率输入不能为空,请重新输入!',mtError,[mbok],0);
   end
  else
   begin
   Q_zkl.Close;
   Q_zkl.SQL.Clear;
   Q_zkl.SQL.Add('select sum(SalePrice*Quantity) as zkze from DinList where dz=''是'' and AccountNo=cdbl('''+fj_accountNo.Caption+''')');
   Q_zkl.Open;
  zkl:=StrTofloat(Jz_zkl.text);
  zkje.Caption:=Floattostr(round(Q_zkl.fieldbyname('zkze').AsFloat*(1-zkl/100)+strtofloat(xf_ff.Caption)*(1-zkl/100)));
//  xf_sfje.Caption:=Floattostr(round(StrtoFloat(XF_xj.Caption)*(zkl/100)+StrtoFloat(XF_zlfy.Caption)));
   xf_sfje.Caption:=Floattostr(round(strtofloat(xf_ysje.Caption)-strtofloat(zkje.Caption)));
//  Jz_rmb.Text:=Floattostr(round(StrtoFloat(XF_xj.Caption)*(zkl/100)+StrtoFloat(XF_zlfy.Caption)));
    jz_rmb.Text:=xf_sfje.Caption;
   end;
end;

procedure TForm20.Jz_mlEnter(Sender: TObject);
var ml:double;
begin
 if length(trim(Jz_ml.Text))=0 then
  begin
   MessageDlg('抹零输入不能为空,请重新输入!',mtError,[mbok],0);
   end
  else
   begin
     ml:=StrTofloat(Jz_ml.text);
     xf_sfje.Caption:=Floattostr(StrtoFloat(XF_sfje.Caption)-ml);
     Jz_rmb.Text:=XF_sfje.Caption;
   end;
end;

procedure TForm20.SpeedButton3Click(Sender: TObject);
 var i:integer;
begin
//判断输入是否有空值,此时款待和抵值金额必须=0
if (length(trim(Jz_dz.Text))>0) and (length(trim(Jz_kd.Text))>0) and (StrToInt(Trim(Jz_kd.Text))=0) and (StrToInt(Trim(Jz_dz.Text))=0) and (length(trim(Jz_rmb.Text))>0) and (length(trim(Jz_zp.Text))>0) and (length(trim(Jz_xyk.Text))>0) and ((StrToint(Trim(Jz_rmb.Text))+StrToint(Trim(Jz_zp.Text))+StrToint(Trim(Jz_xyk.Text))+StrToint(Trim(Jz_kd.Text))+StrToint(Trim(Jz_dz.Text)))=StrToInt(Xf_sfje.Caption)) then
     begin
//将折扣率、抹零金额、人民币、支票、信用卡、款待金额、款待人、抵值金额、抵值人、实收金额、折扣金额添加到Account表中做相应的修改
    Q_insys.SQL.Clear;
    Q_insys.SQL.Add('select * from Account where RoomName='''+FJ_RoomNo.Caption+'''');
    Q_insys.Open;
    Q_insys.Edit;
    Q_insys['ysje']:=StrToFloat(XF_ysje.Caption);
    Q_insys['zkl']:=StrToInt(trim(Jz_zkl.Text));
    Q_insys['rmbje']:=StrToInt(trim(Jz_rmb.Text));
    Q_insys['zpje']:=StrToInt(trim(Jz_zp.Text));
    Q_insys['xykje']:=StrToInt(trim(Jz_xyk.Text));
    Q_insys['kdje']:=StrToInt(trim(Jz_kd.Text));
    Q_insys['kdr']:=Jz_kdr.Text;
    Q_insys['dzje']:=StrToInt(trim(Jz_dz.Text));
    Q_insys['dzr']:=Jz_dzr.Text;
    Q_insys['zkje']:=StrToInt(zkje.caption);
    Q_insys['sfje']:=StrToInt(XF_sfje.caption);
    Q_insys['mlje']:=StrToInt(trim(Jz_ml.Text));
    Q_insys['BeginTime']:=StrToDateTime(FJ_BeginTime.Caption);
    Q_insys['EndTime']:=now;
    Q_insys.Post;
    Q_insys.Close;
    Q_insys.SQL.Clear;
    Q_insys.SQL.Add('select * from RoomIn where RoomName='''+FJ_RoomNo.Caption+'''');
    Q_insys.Open;
    Q_insys.Edit;
    Q_insys['EndTime']:=now;
//    Q_insys['jzfs']:=2;
    Q_insys.Post;
    Q_insys.Close;
//更改DinList表中 BeginTime 与EndTime 值
    Q_insys.SQL.Clear;
    Q_insys.SQL.Add('select * from DinList where RoomName='''+FJ_RoomNo.Caption+'''');
    Q_insys.Open;
    if not Q_insys.Eof then
    begin
        Q_insys.First;
      for i:=1 to Q_insys.RecordCount do
       begin
        Q_insys.Edit;
        Q_insys['BeginTime']:=StrToDateTime(FJ_BeginTime.Caption);
        Q_insys['EndTime']:=now;
        Q_insys.Post;
        Q_insys.Next;
       end;
    end;
//结束
  Form21.label6.caption:=FJ_RoomNo.Caption;
  Form21.label7.Caption:=fj_accountNo.Caption;
  Form21.xfje.Text:=XF_sfje.Caption;
  Form21.show;
       end
     else
     begin
       MessageDlg('输入不正确,请重新输入!',mtError,[mbok],0);
     end;
end;

procedure TForm20.SpeedButton1Click(Sender: TObject);
 var
    i:integer;
    userno:string;
begin
//判断输入是否有空值
if (length(trim(Jz_kd.Text))>0) and (length(trim(Jz_kd.Text))>0) and (((StrToInt(Trim(Jz_kd.Text))>0) and (length(Jz_kdr.Text)>0)) or (StrToInt(Trim(Jz_kd.Text))=0)) and (((StrToInt(Trim(Jz_dz.Text))>0) and (length(Jz_dzr.Text)>0)) or (StrToInt(Trim(Jz_dz.Text))=0)) and (length(trim(Jz_rmb.Text))>0) and (length(trim(Jz_zp.Text))>0) and (length(trim(Jz_xyk.Text))>0) and ((StrToint(Trim(Jz_rmb.Text))+StrToint(Trim(Jz_zp.Text))+StrToint(Trim(Jz_xyk.Text))+StrToint(Trim(Jz_kd.Text))+StrToint(Trim(Jz_dz.Text)))=StrToInt(Xf_sfje.Caption)) then
     begin
    speedbutton2.Enabled:=true;
//将折扣率、抹零金额、人民币、支票、信用卡、款待金额、款待人、抵值金额、抵值人、实收金额、折扣金额添加到Account表中做相应的修改
    Q_insys.SQL.Clear;
    Q_insys.SQL.Add('select * from Account where RoomName='''+FJ_RoomNo.Caption+'''');
    Q_insys.Open;
    Q_insys.Edit;
    Q_insys['ysje']:=StrToFloat(XF_ysje.Caption);
    Q_insys['zkl']:=StrToInt(trim(Jz_zkl.Text));
    Q_insys['rmbje']:=StrToInt(trim(Jz_rmb.Text));
    Q_insys['zpje']:=StrToInt(trim(Jz_zp.Text));
    Q_insys['xykje']:=StrToInt(trim(Jz_xyk.Text));
    Q_insys['kdje']:=StrToInt(trim(Jz_kd.Text));
    Q_insys['kdr']:=Jz_kdr.Text;
    Q_insys['dzje']:=StrToInt(trim(Jz_dz.Text));
    Q_insys['dzr']:=Jz_dzr.Text;
    Q_insys['zkje']:=StrToInt(zkje.caption);
    Q_insys['sfje']:=StrToInt(XF_sfje.caption);
    Q_insys['mlje']:=StrToInt(trim(Jz_ml.Text));
    Q_insys['kdr']:=Jz_kdr.Text;
    Q_insys['dzr']:=Jz_dzr.Text;
    Q_insys['BeginTime']:=StrToDateTime(FJ_BeginTime.Caption);
    Q_insys['EndTime']:=now;
    Q_insys.Post;
    Q_insys.Close;
    Q_insys.SQL.Clear;
    Q_insys.SQL.Add('select * from RoomIn where RoomName='''+FJ_RoomNo.Caption+'''');
    Q_insys.Open;
    Q_insys.Edit;
    Q_insys['EndTime']:=now;
    Q_insys['jzfs']:=1;
    Q_insys.Post;
    Q_insys.Close;
//更改DinList表中 BeginTime 与EndTime 值
    Q_insys.SQL.Clear;
    Q_insys.SQL.Add('select * from DinList where RoomName='''+FJ_RoomNo.Caption+'''');
    Q_insys.Open;
    if not Q_insys.Eof then

⌨️ 快捷键说明

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