📄 fkfs.pas
字号:
unit fkfs;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, Grids, DBGrids, ExtCtrls, DB, DBTables, ADODB;
type
TfkfsForm = class(TForm)
SpeedButton757: TSpeedButton;
SpeedButton758: TSpeedButton;
SpeedButton759: TSpeedButton;
SpeedButton760: TSpeedButton;
SpeedButton761: TSpeedButton;
SpeedButton762: TSpeedButton;
SpeedButton763: TSpeedButton;
SpeedButton764: TSpeedButton;
SpeedButton765: TSpeedButton;
SpeedButton766: TSpeedButton;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton4: TSpeedButton;
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Bevel2: TBevel;
SpeedButton3: TSpeedButton;
StringGrid1: TStringGrid;
Query1: TQuery;
Timer1: TTimer;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Query1fkfsbm: TStringField;
Query1fkfsmc: TStringField;
Query1sfjy: TBooleanField;
Query3: TQuery;
Query3kh: TStringField;
Query3zt: TStringField;
Query3czyxm: TStringField;
Query3yhlb: TStringField;
Query3zwxm: TStringField;
Query3ywxm: TStringField;
Query3sfzhm: TStringField;
Query3jrrq: TDateTimeField;
Query3yxq: TDateTimeField;
Query3hth: TStringField;
Query3xfjf: TIntegerField;
Query3ye: TIntegerField;
Query3zjxfe: TIntegerField;
Query3zjcs: TIntegerField;
Query3dj: TIntegerField;
Query3dh: TStringField;
Query3sr: TDateTimeField;
Query3ah: TStringField;
Query3yb: TStringField;
Query3gsmc: TStringField;
Query3zw: TStringField;
Query3gsdz: TStringField;
Query3bz: TStringField;
UpdateSQL1: TUpdateSQL;
Label5: TLabel;
Edit4: TEdit;
Query2: TADOQuery;
Panel1: TPanel;
Label6: TLabel;
Edit5: TEdit;
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton4Click(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 FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure Timer1Timer(Sender: TObject);
procedure HMDET;
procedure Edit5Change(Sender: TObject);
private
selrow:integer;
ccc:boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
fkfsForm: TfkfsForm;
fkfsbm:array[1..30] of string;
// fkfspd:array[1..30] of boolean;
implementation
uses xzfs,rjsmain, qtmain;
{$R *.dfm}
procedure TfkfsForm.SpeedButton3Click(Sender: TObject);
begin
if edit5.Focused then edit5.Text:='0' else
begin
stringgrid1.cells[1,selrow]:='';
stringgrid1.cells[2,selrow]:='';
end;
end;
procedure TfkfsForm.SpeedButton2Click(Sender: TObject);
begin
if edit5.Focused then edit5.Text:=edit5.Text+'00' else
stringgrid1.cells[1,selrow]:=stringgrid1.cells[1,selrow]+'00';
end;
procedure TfkfsForm.SpeedButton4Click(Sender: TObject);
begin
if edit5.Focused then edit5.Text:=edit5.Text+'000' else
stringgrid1.cells[1,selrow]:=stringgrid1.cells[1,selrow]+'000';
end;
procedure TfkfsForm.SpeedButton764Click(Sender: TObject);
begin
if edit5.Focused then edit5.Text:=edit5.Text+'7' else
stringgrid1.cells[1,selrow]:=stringgrid1.cells[1,selrow]+'7';
end;
procedure TfkfsForm.SpeedButton765Click(Sender: TObject);
begin
if edit5.Focused then edit5.Text:=edit5.Text+'8' else
stringgrid1.cells[1,selrow]:=stringgrid1.cells[1,selrow]+'8';
end;
procedure TfkfsForm.SpeedButton766Click(Sender: TObject);
begin
if edit5.Focused then edit5.Text:=edit5.Text+'9' else
stringgrid1.cells[1,selrow]:=stringgrid1.cells[1,selrow]+'9';
end;
procedure TfkfsForm.SpeedButton761Click(Sender: TObject);
begin
if edit5.Focused then edit5.Text:=edit5.Text+'4' else
stringgrid1.cells[1,selrow]:=stringgrid1.cells[1,selrow]+'4';
end;
procedure TfkfsForm.SpeedButton762Click(Sender: TObject);
begin
if edit5.Focused then edit5.Text:=edit5.Text+'5' else
stringgrid1.cells[1,selrow]:=stringgrid1.cells[1,selrow]+'5';
end;
procedure TfkfsForm.SpeedButton763Click(Sender: TObject);
begin
if edit5.Focused then edit5.Text:=edit5.Text+'6' else
stringgrid1.cells[1,selrow]:=stringgrid1.cells[1,selrow]+'6';
end;
procedure TfkfsForm.SpeedButton758Click(Sender: TObject);
begin
if edit5.Focused then edit5.Text:=edit5.Text+'1' else
stringgrid1.cells[1,selrow]:=stringgrid1.cells[1,selrow]+'1';
end;
procedure TfkfsForm.SpeedButton759Click(Sender: TObject);
begin
if edit5.Focused then edit5.Text:=edit5.Text+'2' else
stringgrid1.cells[1,selrow]:=stringgrid1.cells[1,selrow]+'2';
end;
procedure TfkfsForm.SpeedButton760Click(Sender: TObject);
begin
if edit5.Focused then edit5.Text:=edit5.Text+'3' else
stringgrid1.cells[1,selrow]:=stringgrid1.cells[1,selrow]+'3';
end;
procedure TfkfsForm.SpeedButton757Click(Sender: TObject);
begin
if edit5.Focused then edit5.Text:=edit5.Text+'0' else
stringgrid1.cells[1,selrow]:=stringgrid1.cells[1,selrow]+'0';
end;
procedure TfkfsForm.SpeedButton1Click(Sender: TObject);
begin
if edit5.Focused then
begin
if (pos('.',edit5.Text)>0) then exit
else edit5.Text:=edit5.Text+'.';
exit;
end;
if (pos('.',edit5.Text)>0) and (edit5.Focused) then exit;
if pos('.',stringgrid1.Cells[1,selrow])>0 then exit;
stringgrid1.cells[1,selrow]:=stringgrid1.cells[1,selrow]+'.';
end;
procedure TfkfsForm.FormCreate(Sender: TObject);
begin
query1.Open;
stringgrid1.RowCount:=query1.RecordCount+1;
query1.Close;
stringgrid1.Cells[0,0]:='付款方式';
stringgrid1.Cells[1,0]:='支款金额';
stringgrid1.Cells[2,0]:='会员号码';
end;
procedure TfkfsForm.FormActivate(Sender: TObject);
var ii:integer;
begin
edit5.Text:='0';
query1.Open;
ii:=1;
while not query1.Eof do
begin
stringgrid1.Cells[0,ii]:=query1fkfsmc.AsString;
stringgrid1.Cells[1,ii]:='';
stringgrid1.Cells[2,ii]:='';
fkfsbm[ii]:=query1fkfsbm.AsString;
// fkfspd[ii]:=true; //query1sfjy.AsBoolean;
ii:=ii+1;
query1.Next;
end;
query2.Open;
if query2.FieldByName('zdxfset').AsBoolean then
if strtofloat(edit1.Text)<strtofloat(qtform.labelededit8.Text)
then edit1.Text:=qtform.labelededit8.Text;
if query2.FieldByName('yebile').AsFloat>0 then panel1.Visible:=true
else panel1.Visible:=false;
// edit5.Text:=query2mc.AsString;
selrow:=1;
stringgrid1.Cells[1,1]:='';
stringgrid1.SetFocus;
bitbtn1.Enabled:=false;
timer1.Enabled:=true;
end;
procedure TfkfsForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
timer1.Enabled:=false;
query2.Close;
query1.Close;
end;
procedure TfkfsForm.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
selrow:=arow;
if acol= 2 then hmdet;
end;
procedure TfkfsForm.Timer1Timer(Sender: TObject);
var ii:integer;
val,yjj:real;
begin
val:=0;
yjj:=0;
for ii:=1 to stringgrid1.RowCount -1 do
begin
if stringgrid1.Cells[1,ii]<>'' then val:=val+strtofloat(stringgrid1.Cells[1,ii]);
if (stringgrid1.Cells[0,ii]='有价券') and (stringgrid1.Cells[1,ii]<>'') then yjj:=yjj+strtofloat(stringgrid1.Cells[1,ii]);
if not edit5.Focused then stringgrid1.SetFocus;
end;
val:=round(val*100)/100;
edit2.Text:=floattostr(val);
if edit5.Text<>'0' then val:=val + strtofloat(edit5.Text);
edit3.Text:=floattostr(round(((strtofloat(edit1.Text) - val))*100)/100);
if (yjj>0) then
if (strtofloat(edit3.Text)<0) then
if (val - yjj)>=(0 - strtofloat(edit3.Text)) then edit4.Text:=floattostr(0 - strtofloat(edit3.Text))
else edit4.Text:=floattostr(val - yjj)
else edit4.Text:=''
else edit4.Text:=floattostr(0 - strtofloat(edit3.Text));
if strtofloat(edit3.Text)<=0 then bitbtn1.Enabled:=true else bitbtn1.Enabled:=false;
end;
procedure TfkfsForm.HMDET;
begin
xzform.Caption:='会员卡号码录入';
xzform.Label1.Caption:='插卡或输入会员卡号码';
xzform.Edit1.Text:='';
ccc:=false;
while not ccc do
begin
if xzform.showmodal<>mrok then exit
else
begin
query3.Close;
query3.ParamByName('cs').AsString:=xzform.Edit1.Text;
query3.Open;
if query3.RecordCount>0 then
begin
ccc:=true;
stringgrid1.Cells[2,selrow]:=xzform.Edit1.Text;
end;
end;
end;
if stringgrid1.Cells[0,selrow]='信用卡' then
begin
end;
end;
procedure TfkfsForm.Edit5Change(Sender: TObject);
begin
if query2.Active=false then exit;
if strtofloat(edit5.Text)>round((strtofloat(edit1.Text)*query2.FieldByName('yebile').AsFloat/100)*100)/100 then
if messagedlg('您的抹零范围在 0 到 '+floattostr(round((strtofloat(edit1.Text)*query2.FieldByName('yebile').AsFloat/100)*100)/100)+' 之间!'+'您一定要这样吗?!'+#13+'Yes__是,No__不是',mtwarning,[mbyes,mbno],0)<>mryes then edit5.SetFocus;
if strtofloat(edit5.Text)>query2.FieldByName('maxye').AsFloat then
if messagedlg('您的抹零范围在 0 到 '+query2.FieldByName('maxye').AsString+' 之间!'+'您一定要这样吗?!'+#13+'Yes__是,No__不是',mtwarning,[mbyes,mbno],0)<>mryes then edit5.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -