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

📄 c_exitclub.pas

📁 《delphi数据库设计与实例开发》随书光盘
💻 PAS
字号:
unit c_exitclub;

interface

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

type
  Tcfrm_exitclub = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label7: TLabel;
    e_zh: TEdit;
    e_name: TEdit;
    e_date: TEdit;
    e_type: TEdit;
    e_yj: TEdit;
    GroupBox2: TGroupBox;
    Label5: TLabel;
    Label6: TLabel;
    DBGrid1: TDBGrid;
    e_qk: TEdit;
    e_hk: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    DataSource1: TDataSource;
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure e_zhKeyPress(Sender: TObject; var Key: Char);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure e_zhExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  cfrm_exitclub: Tcfrm_exitclub;

implementation

uses datam;

{$R *.dfm}

procedure Tcfrm_exitclub.FormShow(Sender: TObject);
begin
  e_zh.SetFocus();
  e_qk.Text:='0.00';
  e_hk.Text:='0.00';
end;

procedure Tcfrm_exitclub.BitBtn1Click(Sender: TObject);
begin
if e_hk.Text='' then e_hk.Text:='0.00';
   if e_name.Text='' then exit;
   if not dm.ADOQ_cx.IsEmpty then
     begin
      application.MessageBox(pchar('存在未还资料,不能退证!'),pchar('提示'),48);
      exit;
     end;
   if e_qk.Text<>e_hk.Text then
     begin
      application.MessageBox(pchar('欠款未结清,不能退证!'),pchar('提示'),48);
      exit;
     end;
   //删除欠款记录
   if dm.ADO_qk.Locate('证号',e_zh.Text,[]) then
      dm.ado_qk.Delete;
      dm.ADO_qk.Close;
   if e_yj.text<>'0.00' then
    begin
      dm.ADO_cash.Open;
      dm.ADO_cash.AppendRecord([e_zh.text,date(),'退会员押金','0.00',e_yj.text]);
      dm.ADO_cash.Close;
    end;
   if e_hk.text<>'0.00' then
    begin
      dm.ADO_cash.Open;
      dm.ADO_cash.AppendRecord([e_zh.text,date(),'收租金',e_hk.text,'0.00']);
      dm.ADO_cash.Close;
    end;
   dm.ADO_vip.Delete;
   application.MessageBox(pchar('会员退证完成!'),pchar('提示'),64);
   close;
end;

procedure Tcfrm_exitclub.BitBtn2Click(Sender: TObject);
begin
close;
end;

procedure Tcfrm_exitclub.e_zhKeyPress(Sender: TObject; var Key: Char);
begin
if not ( Key in ['0'..'9',#13,#8]) then Key := #0;
    if key=#13 then
      begin
       e_hk.SetFocus();
      end;
end;

procedure Tcfrm_exitclub.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
   dm.ADOQ_cx.Close;
   dm.ADOQ_cx.SQL.Clear;
   dm.ado_qk.Close;
   dm.ADO_cash.Close;
   dm.ADO_czb.Close;
   release;
end;

procedure Tcfrm_exitclub.e_zhExit(Sender: TObject);
begin
if e_zh.Text='' then exit
  else
   begin
     if Length(e_zh.Text)<5 then
       case Length(e_zh.Text) of
          1: e_zh.text:='0000'+e_zh.text;
          2: e_zh.text:='000'+e_zh.text;
          3: e_zh.text:='00'+e_zh.text;
          4: e_zh.text:='0'+e_zh.text;
       end
   end;
  if dm.ADO_vip.Locate('证号',e_zh.Text,[]) then
    begin
      e_name.Text:=dm.ADO_vip.fieldbyname('姓名').AsString;
      e_date.Text:=dm.ADO_vip.fieldbyname('办证日期').AsString;
      e_type.Text:=dm.ADO_vip.fieldbyname('证类型').AsString;
      e_yj.Text:=formatfloat('0.00',dm.ADO_vip.fieldbyname('押金').Asfloat);
      dm.ADO_qk.Open;
      dm.ADO_qk.First;
      if dm.ADO_qk.Locate('证号',e_zh.Text,[]) then
         e_qk.Text:=formatfloat('0.00',dm.ADO_qk.FieldByName('金额').AsFloat);
      dm.ADOQ_cx.Close;
      dm.ADOQ_cx.SQL.Clear;
      dm.ADOQ_cx.SQL.add('select 编号,名称,出租日期 from czb where 证号='+''''+e_zh.Text+'''');
      dm.ADOQ_cx.Open;
    end;
end;

end.

⌨️ 快捷键说明

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