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 + -
显示快捷键?