cpyhunit.pas

来自「日昌餐饮管理系统是用Delphi7+SQL写的管理系统」· PAS 代码 · 共 336 行

PAS
336
字号
unit cpyhUnit;

interface

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

type
  TcpyhForm = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    DBGrid1: TDBGrid;
    Bevel1: TBevel;
    SpeedButton757: TSpeedButton;
    SpeedButton758: TSpeedButton;
    SpeedButton759: TSpeedButton;
    SpeedButton760: TSpeedButton;
    SpeedButton761: TSpeedButton;
    SpeedButton762: TSpeedButton;
    SpeedButton763: TSpeedButton;
    SpeedButton764: TSpeedButton;
    SpeedButton765: TSpeedButton;
    SpeedButton766: TSpeedButton;
    SpeedButton1: TSpeedButton;
    SpeedButton3: TSpeedButton;
    MaskEdit1: TMaskEdit;
    Label4: TLabel;
    Edit2: TEdit;
    ADOQuery1: TADOQuery;
    BitBtn3: TBitBtn;
    SpeedButton7: TSpeedButton;
    SpeedButton8: TSpeedButton;
    procedure FormActivate(Sender: TObject);
    procedure Edit1Enter(Sender: TObject);
    procedure MaskEdit1Enter(Sender: TObject);
    procedure Edit2Enter(Sender: TObject);
    procedure SpeedButton764Click(Sender: TObject);
    procedure SpeedButton765Click(Sender: TObject);
    procedure SpeedButton766Click(Sender: TObject);
    procedure SpeedButton761Click(Sender: TObject);
    procedure SpeedButton762Click(Sender: TObject);
    procedure SpeedButton763Click(Sender: TObject);
    procedure SpeedButton758Click(Sender: TObject);
    procedure SpeedButton759Click(Sender: TObject);
    procedure SpeedButton760Click(Sender: TObject);
    procedure SpeedButton757Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
  private
    yhbl:real;
    xx:string;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  cpyhForm: TcpyhForm;
  nm,mm:string;
implementation
uses qtmain,rjsmain, Unitcheckyh;
{$R *.dfm}

procedure TcpyhForm.FormActivate(Sender: TObject);
begin
   yhbl:=0;
     checkyh:=Tcheckyh.Create(Self);
     checkyh.showmodal;
     checkyh.Free;
     edit1.Text :=nm;
     MaskEdit1.Text :=mm;
end;

procedure TcpyhForm.Edit1Enter(Sender: TObject);
begin
    xx:='edit1';
end;

procedure TcpyhForm.MaskEdit1Enter(Sender: TObject);
begin
    xx:='editmask1';
end;

procedure TcpyhForm.Edit2Enter(Sender: TObject);
begin
    xx:='edit2';
end;

procedure TcpyhForm.SpeedButton764Click(Sender: TObject);
begin
     if xx='edit1' then edit1.Text:=edit1.Text+'7'
     else if xx='editmask1' then MaskEdit1.Text:=MaskEdit1.Text+'7'
     else if xx='edit2' then edit2.Text:=edit2.TEXt+'7'
     else messagedlg('请选择一个可输入的区域!',mtwarning,[mbok],0);
end;

procedure TcpyhForm.SpeedButton765Click(Sender: TObject);
begin
     if xx='edit1' then edit1.Text:=edit1.Text+'8'
     else if xx='editmask1' then MaskEdit1.Text:=MaskEdit1.Text+'8'
     else if xx='edit2' then edit2.Text:=edit2.TEXt+'8'
     else messagedlg('请选择一个可输入的区域!',mtwarning,[mbok],0);
end;

procedure TcpyhForm.SpeedButton766Click(Sender: TObject);
begin
     if xx='edit1' then edit1.Text:=edit1.Text+'9'
     else if xx='editmask1' then MaskEdit1.Text:=MaskEdit1.Text+'9'
     else if xx='edit2' then edit2.Text:=edit2.TEXt+'9'
     else messagedlg('请选择一个可输入的区域!',mtwarning,[mbok],0);
end;

procedure TcpyhForm.SpeedButton761Click(Sender: TObject);
begin
     if xx='edit1' then edit1.Text:=edit1.Text+'4'
     else if xx='editmask1' then MaskEdit1.Text:=MaskEdit1.Text+'4'
     else if xx='edit2' then edit2.Text:=edit2.TEXt+'4'
     else messagedlg('请选择一个可输入的区域!',mtwarning,[mbok],0);
end;

procedure TcpyhForm.SpeedButton762Click(Sender: TObject);
begin
     if xx='edit1' then edit1.Text:=edit1.Text+'5'
     else if xx='editmask1' then MaskEdit1.Text:=MaskEdit1.Text+'5'
     else if xx='edit2' then edit2.Text:=edit2.TEXt+'5'
     else messagedlg('请选择一个可输入的区域!',mtwarning,[mbok],0);
end;

procedure TcpyhForm.SpeedButton763Click(Sender: TObject);
begin
     if xx='edit1' then edit1.Text:=edit1.Text+'6'
     else if xx='editmask1' then MaskEdit1.Text:=MaskEdit1.Text+'6'
     else if xx='edit2' then edit2.Text:=edit2.TEXt+'6'
     else messagedlg('请选择一个可输入的区域!',mtwarning,[mbok],0);
end;

procedure TcpyhForm.SpeedButton758Click(Sender: TObject);
begin
     if xx='edit1' then edit1.Text:=edit1.Text+'1'
     else if xx='editmask1' then MaskEdit1.Text:=MaskEdit1.Text+'1'
     else if xx='edit2' then edit2.Text:=edit2.TEXt+'1'
     else messagedlg('请选择一个可输入的区域!',mtwarning,[mbok],0);
end;

procedure TcpyhForm.SpeedButton759Click(Sender: TObject);
begin
     if xx='edit1' then edit1.Text:=edit1.Text+'2'
     else if xx='editmask1' then MaskEdit1.Text:=MaskEdit1.Text+'2'
     else if xx='edit2' then edit2.Text:=edit2.TEXt+'2'
     else messagedlg('请选择一个可输入的区域!',mtwarning,[mbok],0);
end;

procedure TcpyhForm.SpeedButton760Click(Sender: TObject);
begin
     if xx='edit1' then edit1.Text:=edit1.Text+'3'
     else if xx='editmask1' then MaskEdit1.Text:=MaskEdit1.Text+'3'
     else if xx='edit2' then edit2.Text:=edit2.TEXt+'3'
     else messagedlg('请选择一个可输入的区域!',mtwarning,[mbok],0);
end;

procedure TcpyhForm.SpeedButton757Click(Sender: TObject);
begin
     if xx='edit1' then edit1.Text:=edit1.Text+'0'
     else if xx='editmask1' then MaskEdit1.Text:=MaskEdit1.Text+'0'
     else if xx='edit2' then edit2.Text:=edit2.TEXt+'0'
     else messagedlg('请选择一个可输入的区域!',mtwarning,[mbok],0);
end;

procedure TcpyhForm.SpeedButton1Click(Sender: TObject);
begin
     if xx='edit1' then edit1.Text:=edit1.Text+'.'
     else if xx='editmask1' then MaskEdit1.Text:=MaskEdit1.Text+'.'
     else if xx='edit2' then edit2.Text:=edit2.TEXt+'.'
     else messagedlg('请选择一个可输入的区域!',mtwarning,[mbok],0);
end;

procedure TcpyhForm.SpeedButton3Click(Sender: TObject);
begin
     if xx='edit1' then edit1.Text:=''
     else if xx='editmask1' then MaskEdit1.Text:=''
     else if xx='edit2' then edit2.Text:=''
     else messagedlg('请选择一个可输入的区域!',mtwarning,[mbok],0);
end;

procedure TcpyhForm.BitBtn1Click(Sender: TObject);
var je,se:real;
begin
     if edit1.Text='' then
     begin
       messagedlg('请输入卡号!',mtwarning,[mbok],0);
       edit1.SetFocus;
       exit;
     end
     else begin
       adoquery1.Parameters.ParamByName('cs1').Value:=trim(edit1.Text);
       adoquery1.Open;
       if (adoquery1.FieldByName('ygbh').AsString<>trim(edit1.Text)) or (adoquery1.FieldByName('hsmm').AsString<>trim(maskedit1.Text)) then
       begin
         messagedlg('请卡号或密码错误!',mtwarning,[mbok],0);
         adoquery1.Close;
         edit1.SetFocus;
         exit;
       end;
     end;
     if edit2.Text='' then
     begin
       messagedlg('请输入折扣率!',mtwarning,[mbok],0);
       edit2.SetFocus;
       exit;
     end
     else if (strtofloat(edit2.Text)<0) or (strtofloat(edit2.Text)>1)  then
     begin
       messagedlg('折扣率范围出错!'+#13+'0~1之间的小数',mtwarning,[mbok],0);
       edit2.SetFocus;
       exit;
     end;
     if adoquery1.FieldByName('yhbl').AsFloat>strtofloat(edit2.Text) then
     begin
       messagedlg('折扣率超出权限范围!'+#13+'即<='+adoquery1.FieldByName('yhbl').AsString,mtwarning,[mbok],0);
       edit2.SetFocus;
       adoquery1.Close;
       exit;
     end;
     adoquery1.Close;
     if (qtform.lsQzfbz.AsBoolean=false) and (qtform.lsqfkbz.AsBoolean=false) and (qtform.lsQje.AsFloat>0) then
     begin
       qtform.lsQ.Edit;
       qtform.lsQzkl.AsInteger:=100 - round(strtofloat(edit2.Text)*100);
       qtform.lsQzke.AsFloat:=round(qtform.lsQsl.AsInteger * qtform.lsQdj.AsFloat * qtform.lsQzkl.AsFloat)/100;
       qtform.lsqje.AsFloat:=round((qtform.lsqdj.AsFloat * qtform.lsqsl.AsInteger + qtform.lsqfwfe.AsFloat - qtform.lsqzke.AsFloat)*100)/100;
       qtform.lsQ.Post;
     end;
     je:=0;
     se:=0;
     qtform.lsQ.First;
     while not qtform.lsq.Eof do
     begin
       if (qtform.lsQzfbz.AsBoolean=false) and (qtform.lsqfkbz.AsBoolean=false) then
       begin
          je:=je+qtform.lsQje.AsFloat;
          se:=se+qtform.lsQse.AsFloat;
       end;
       qtform.lsQ.Next;
     end;
     qtform.Edit1.Text:=floattostr(je);
     qtform.Edit2.Text:=floattostr(se);
end;

procedure TcpyhForm.BitBtn2Click(Sender: TObject);
var je,se:real;
begin
     if edit1.Text='' then
     begin
       messagedlg('请输入卡号!',mtwarning,[mbok],0);
       edit1.SetFocus;
       exit;
     end
     else begin
       adoquery1.Parameters.ParamByName('cs1').Value:=trim(edit1.Text);
       adoquery1.Open;
       if (adoquery1.FieldByName('ygbh').AsString<>trim(edit1.Text)) or (adoquery1.FieldByName('hsmm').AsString<>trim(maskedit1.Text)) then
       begin
         messagedlg('请卡号或密码错误!',mtwarning,[mbok],0);
         adoquery1.Close;
         edit1.SetFocus;
         exit;
       end;
     end;
     if edit2.Text='' then
     begin
       messagedlg('请输入折扣率!',mtwarning,[mbok],0);
       edit2.SetFocus;
       exit;
     end
     else if (strtofloat(edit2.Text)<0) or (strtofloat(edit2.Text)>1)  then
     begin
       messagedlg('折扣率范围出错!'+#13+'0~1之间的小数',mtwarning,[mbok],0);
       edit2.SetFocus;
       exit;
     end;
     if adoquery1.FieldByName('yhbl').AsFloat>strtofloat(edit2.Text) then
     begin
       messagedlg('折扣率超出权限范围!'+#13+'即<='+adoquery1.FieldByName('yhbl').AsString,mtwarning,[mbok],0);
       edit2.SetFocus;
       adoquery1.Close;
       exit;
     end;
     adoquery1.Close;
     je:=0;
     se:=0;
     qtform.lsQ.First;
     while not qtform.lsq.Eof do
     begin
       if (qtform.lsQzfbz.AsBoolean=false) and (qtform.lsqfkbz.AsBoolean=false) and (qtform.lsQje.AsFloat>0) then
       begin
          qtform.lsQ.Edit;
          qtform.lsQzkl.AsInteger:=100 - round(strtofloat(edit2.Text)*100);
          qtform.lsQzke.AsFloat:=round(qtform.lsQsl.AsInteger * qtform.lsQdj.AsFloat * qtform.lsQzkl.AsFloat)/100;
          qtform.lsqje.AsFloat:=round((qtform.lsqdj.AsFloat * qtform.lsqsl.AsInteger + qtform.lsqfwfe.AsFloat - qtform.lsqzke.AsFloat)*100)/100;
          qtform.lsQ.Post;
          je:=je+qtform.lsQje.AsFloat;
          se:=se+qtform.lsQse.AsFloat;
       end;
       qtform.lsQ.Next;
     end;
     qtform.Edit1.Text:=floattostr(je);
     qtform.Edit2.Text:=floattostr(se);
end;

procedure TcpyhForm.BitBtn3Click(Sender: TObject);
begin
     cpyhform.Close;
end;

procedure TcpyhForm.SpeedButton7Click(Sender: TObject);
begin
    if not qtform.lsQ.Eof then qtform.lsQ.Next;
end;

procedure TcpyhForm.SpeedButton8Click(Sender: TObject);
begin
    if not qtform.lsQ.Bof then qtform.lsQ.Prior;
end;

end.

⌨️ 快捷键说明

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