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