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

📄 fkfs.pas

📁 日昌餐饮管理系统是用Delphi7+SQL写的管理系统
💻 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 + -