📄 ufrmfee.pas
字号:
unit ufrmfee;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Grids, DBGrids, ExtCtrls;
type
TfrmFee = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
GroupBox1: TGroupBox;
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
Label2: TLabel;
DateTimePicker2: TDateTimePicker;
Label3: TLabel;
Edit1: TEdit;
Label4: TLabel;
Edit2: TEdit;
Memo1: TMemo;
Label5: TLabel;
Button1: TButton;
GroupBox2: TGroupBox;
Label6: TLabel;
DateTimePicker3: TDateTimePicker;
Label7: TLabel;
DateTimePicker4: TDateTimePicker;
Label8: TLabel;
Edit3: TEdit;
Label9: TLabel;
Edit4: TEdit;
Label10: TLabel;
Edit5: TEdit;
Label11: TLabel;
Edit6: TEdit;
Memo2: TMemo;
Button2: TButton;
TabSheet2: TTabSheet;
Panel1: TPanel;
Label12: TLabel;
Edit7: TEdit;
Label13: TLabel;
Edit8: TEdit;
Label14: TLabel;
Edit9: TEdit;
Label15: TLabel;
DateTimePicker5: TDateTimePicker;
Memo3: TMemo;
Label16: TLabel;
DBGrid1: TDBGrid;
Panel2: TPanel;
Button4: TButton;
Timer1: TTimer;
TabSheet3: TTabSheet;
Label17: TLabel;
Edit10: TEdit;
Button5: TButton;
DBGrid2: TDBGrid;
Label18: TLabel;
Button3: TButton;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmFee: TfrmFee;
implementation
uses udmclient;
{$R *.dfm}
//动态显示当前时间
procedure TfrmFee.Timer1Timer(Sender: TObject);
begin
label18.Caption:=datetimetostr(now);
end;
//开始交费
procedure TfrmFee.Button1Click(Sender: TObject);
begin
if (edit1.Text<>'') and (edit2.Text<>'') then
begin
groupbox1.Enabled:=false;
groupbox2.Enabled:=true;
end
else
messagedlg('不允许空数据',mterror,[mbok],0);
edit9.Text:=edit1.Text;
end;
//交费结束
procedure TfrmFee.Button2Click(Sender: TObject);
var
a:integer;
begin
//比较交费人数与户主人数,如果相等,则表示交费结束
dmclient.cdsFee.Active:=false;
dmclient.cdsFee.CommandText:='select *from feesinfo';
dmclient.cdsFee.Open;
dmclient.cdsHomeMaster.Active:=false;
dmclient.cdsHomeMaster.CommandText:='select *from homemasters';
dmclient.cdsHomeMaster.Open;
//交费结束
if dmclient.cdsFee.RecordCount=dmclient.cdsHomeMaster.RecordCount then
begin
//填写交费信息
a:=dmclient.cdsFee.RecordCount;
edit5.Text:=inttostr(a);
datetimepicker3.DateTime:=datetimepicker1.DateTime;
datetimepicker4.DateTime:=datetimepicker2.DateTime;
edit3.Text:=edit1.Text;
edit4.Text:=edit2.Text;
memo2.Text:=memo1.Text;
groupbox1.Enabled:=true;
groupbox2.Enabled:=false;
edit6.Text:='全部交齐';
if messagedlg('费用已全部交齐,是否退出?',mtconfirmation,[mbok,mbno],0)=mrok then
close;
end
else
if messagedlg('交费还没有完成,是否退出?',mtconfirmation,[mbok,mbno],0)=mrok then
close;
end;
//添加交费信息
procedure TfrmFee.Button4Click(Sender: TObject);
begin
//验证身份证号是否符合要求
if (edit7.Text='')and (length(edit7.Text)<>15)
and (length(edit7.Text)<>18) then
begin
messagedlg('输入了非法身份证号码',mterror,[mbok],0);
exit;
end;
//是否存在该户主
dmclient.cdsHomeMaster.Active:=false;
dmclient.cdsHomeMaster.CommandText:='select *from homemasters where '
+'homemasterSIDcardno=:cardno';
dmclient.cdsHomeMaster.Params.ParamByName('cardno').Value:=edit7.Text;
dmclient.cdsHomeMaster.Open;
if dmclient.cdsHomeMaster.RecordCount=1 then
begin
if (edit8.Text<>'')and(edit9.Text<>'')
and(datetimepicker5.DateTime<=now) then
begin
//添加数据到本地缓存区
dmclient.cdsFee.Append;
dmclient.cdsFee.FieldByName('feedatebegin').Value:=datetimepicker1.Date;
dmclient.cdsFee.FieldByName('feedateend').Value:=datetimepicker2.Date;
dmclient.cdsFee.FieldByName('feeMasterSIDCardno').Value:=edit7.Text;
dmclient.cdsFee.FieldByName('feemastername').Value:=edit8.Text;
dmclient.cdsFee.FieldByName('feecount').Value:=edit9.Text;
dmclient.cdsFee.FieldByName('feedate').Value:=datetimepicker5.Date;
dmclient.cdsFee.FieldByName('memo').Value:=memo3.Text;
dmclient.cdsFee.FieldByName('feeName').Value:=edit2.Text;
dmclient.cdsFee.Post;
end
else
begin
messagedlg('输入了非法数据',mterror,[mbok],0);
exit;
end;
end
else
begin
messagedlg('该户主不存在',mterror,[mbok],0);
exit;
end;
end;
//将本地缓存区的交费数据更新回数据源
procedure TfrmFee.Button3Click(Sender: TObject);
begin
dmclient.cdsFee.ApplyUpdates(0);
//更新本地缓存区的数据
dmclient.cdsFee.Active:=false;
dmclient.cdsFee.CommandText:='select *from feesinfo';
dmclient.cdsFee.Open;
end;
//查询交费信息
procedure TfrmFee.Button5Click(Sender: TObject);
begin
//验证身份证号码
if (edit10.Text='')and(length(edit10.Text)<>15)
and(length(edit10.Text)<>18) then
begin
messagedlg('身份证号码输入错误',mterror,[mbok],0);
exit;
end;
//查询
dmclient.cdsFee.Active:=false;
dmclient.cdsFee.CommandText:='select *from feesinfo'
+' where FeeMasterSIDCardNo=:cardno';
//为查询参数赋值
dmclient.cdsFee.Params.ParamByName('cardno').Value:=edit10.Text;
dmclient.cdsFee.Open;
//没有查到此人
if dmclient.cdsFee.RecordCount=0 then
messagedlg('查无此人',mterror,[mbok],0);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -