hygl.pas

来自「一个关于VCD销售的系统」· PAS 代码 · 共 218 行

PAS
218
字号
unit hygl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, TEMPLETFORM, Grids, DBGrids, LabelButton, TradeImage, ComCtrls,
  Menus, ToolWin, StdCtrls, ExtCtrls, DBActns, DB, ActnList;

type
  Tfrm_hygl = class(TMyForm)
    ztl: TStatusBar;
    DBGrid: TDBGrid;
    BActionList1: TActionList;
    DataSetFirst1: TDataSetFirst;
    DataSetPrior1: TDataSetPrior;
    DataSetNext1: TDataSetNext;
    DataSetLast1: TDataSetLast;
    DataSetDelete1: TDataSetDelete;
    DataSetInsert1: TDataSetInsert;
    DataSetEdit1: TDataSetEdit;
    Action_Help: TAction;
    palToolbar: TPanel;
    tiHelp: TTradeImg;
    tiPrint: TTradeImg;
    tiLocate: TTradeImg;
    tiLast: TTradeImg;
    tiNext: TTradeImg;
    tiPrior: TTradeImg;
    tiFirst: TTradeImg;
    b_tz: TTradeImg;
    tiDelete: TTradeImg;
    tiEdit: TTradeImg;
    tiNew: TTradeImg;
    LabelBtn1: TLabelBtn;
    LabelBtn2: TLabelBtn;
    LabelBtn3: TLabelBtn;
    blabel_tz: TLabelBtn;
    LabelBtn4: TLabelBtn;
    LabelBtn5: TLabelBtn;
    LabelBtn6: TLabelBtn;
    LabelBtn7: TLabelBtn;
    LabelBtn8: TLabelBtn;
    LabelBtn9: TLabelBtn;
    LabelBtn10: TLabelBtn;
    DataSource1: TDataSource;
    group: TRadioGroup;
    procedure DataSetInsert1Execute(Sender: TObject);
    procedure DataSetEdit1Execute(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DataSetDelete1Execute(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure groupClick(Sender: TObject);
    procedure tiLocateClick(Sender: TObject);
    procedure b_tzClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure ztljs;
  end;

var
  frm_hygl: Tfrm_hygl;
  zrs,nzs,yzs:integer;//总办证数,年证数,月证数
implementation

uses datam, vipedit, vipcx, viptz;

{$R *.dfm}
procedure tfrm_hygl.ztljs;
begin
  zrs:=dm.ADO_vip.RecordCount;
  frm_hygl.ztl.panels[1].text:=inttostr(zrs);
  dm.ADOQuery.Close;
  dm.ADOQuery.SQL.Clear;
  dm.ADOQuery.SQL.Add('select count(*) from vip where 证类型="年证"');
  dm.ADOQuery.Open;
  frm_hygl.ztl.panels[3].text:=dm.ADOQuery.Fields[0].AsString;
  //月证数量
  dm.ADOQuery.Close;
  dm.ADOQuery.SQL.Clear;
  dm.ADOQuery.SQL.Add('select count(*) from vip where 证类型="月证"');
  dm.ADOQuery.Open;
  frm_hygl.ztl.panels[5].text:=dm.ADOQuery.Fields[0].AsString;
  //押金合计
  dm.ADOQuery.Close;
  dm.ADOQuery.SQL.Clear;
  dm.ADOQuery.SQL.Add('select sum(押金) from vip');
  dm.ADOQuery.Open;
  frm_hygl.ztl.panels[7].text:=dm.ADOQuery.Fields[0].AsString+'元';


end;
procedure Tfrm_hygl.DataSetInsert1Execute(Sender: TObject);
begin
  inherited;
  dm.ADO_vip.Append;
  dm.ADO_vip.FieldByName('性别').AsString:='男';
  dm.ADO_vip.FieldByName('证类型').AsString:='年证';
  dm.ADO_vip.FieldByName('押金').AsString:='0.00';
  frm_vipedit:=tfrm_vipedit.create(application);
  frm_vipedit.b_ok.tag:=0;
  frm_vipedit.showmodal;
  
end;

procedure Tfrm_hygl.DataSetEdit1Execute(Sender: TObject);
begin
  inherited;
  frm_vipedit:=tfrm_vipedit.create(application);
  frm_vipedit.b_ok.tag:=1;
  //检测会员有无借书
  dm.ADO_czdt.Open;
  dm.ADO_czdt.First;
  if dm.ADO_czdt.Locate('证号',dm.ADO_vip.fieldbyname('证号').AsString,[]) then
    begin
       frm_vipedit.e_id.Enabled:=false;
       dm.ADO_czdt.Close;
    end;
  dm.ADO_czdt.Close;
  //
  frm_vipedit.showmodal;
end;
procedure Tfrm_hygl.FormCreate(Sender: TObject);
begin
  inherited;
  dm.ADO_vip.Open;
  dm.ADO_vip.Sort:='证号';
  dm.ADO_vip.First;
end;

procedure Tfrm_hygl.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  dm.ADO_vip.close;
  dm.ADOQuery.Close;
  dm.ADOQuery.SQL.Clear;
  release;
end;

procedure Tfrm_hygl.DataSetDelete1Execute(Sender: TObject);
var
 mes:string;
begin
  inherited;
  dm.ADO_czdt.Open;
  dm.ADO_czdt.First;
  if dm.ADO_czdt.Locate('证号',dm.ADO_vip.fieldbyname('证号').AsString,[]) then
    begin
      mes:='办证会员 <'+dm.ADO_vip.fieldbyname('姓名').AsString
           +'> 还有租借的图书或影碟未还,不能删除!';
      application.MessageBox(pchar(mes),pchar('提示')
       ,+MB_ICONQUESTION);
       dm.ADO_czdt.Close;
      exit;
    end;
  dm.ADO_czdt.Close;
  mes:='是否要删除办证会员< '+dm.ADO_vip.fieldbyname('证号').AsString+'  '
  +dm.ADO_vip.fieldbyname('姓名').AsString
       +'>';
 if application.MessageBox(pchar(mes),pchar('等待确认')
    ,+MB_ICONQUESTION+mb_okcancel+MB_DEFBUTTON2)=idok then
     begin
      dm.ADO_vip.Delete;//删除会员记录
      dm.ADOQ_cx.Close;
      dm.ADOQ_cx.SQL.Clear;
      dm.ADOQ_cx.SQL.add('delete from cashbook where 证号='+'"'+dm.ADO_vip.fieldbyname('证号').AsString+'"');
      dm.ADOQ_cx.ExecSQL;//删除现金收支记录
      dm.ADOQ_cx.Close;
      dm.ADOQ_cx.SQL.Clear;
      dm.ADOQ_cx.SQL.add('delete from qk where 证号='+'"'+dm.ADO_vip.fieldbyname('证号').AsString+'"');
      dm.ADOQ_cx.ExecSQL;//删除欠款记录
      dm.ADOQ_cx.Close;
      dm.ADO_vip.Delete;//删除会员记录
      ztljs;
     end;

end;

procedure Tfrm_hygl.FormShow(Sender: TObject);
begin
  inherited;
  ztljs;
  dbgrid.SetFocus();
end;

procedure Tfrm_hygl.groupClick(Sender: TObject);
begin
  inherited;
  case group.ItemIndex of
     0:dm.ADO_vip.Sort:='证号';
     1:dm.ADO_vip.Sort:='姓名';
     2:dm.ADO_vip.Sort:='办证日期';
  end;
end;

procedure Tfrm_hygl.tiLocateClick(Sender: TObject);
begin
  inherited;
  frm_vipcx:=tfrm_vipcx.create(application);
  frm_vipcx.showmodal;
end;

procedure Tfrm_hygl.b_tzClick(Sender: TObject);
begin
  inherited;
  frm_viptz:=tfrm_viptz.create(application);
  frm_viptz.showmodal;
end;

end.




⌨️ 快捷键说明

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