📄 frm_feeu.pas
字号:
unit frm_feeU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, frm_infoU, DB, StdCtrls, Grids, DBGrids, ComCtrls,
ClassesU,Control_feeU,ADODB,Control_houseU,Control_roomU;
type
Tfrm_fee = class(Tfrm_info)
edt_roomNo: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
edt_fee: TEdit;
Label5: TLabel;
cbx_houseNo: TComboBox;
DTP_feeDate: TDateTimePicker;
cbx_feeType: TComboBox;
Label6: TLabel;
memo_remark: TMemo;
Label7: TLabel;
cbx_houseNo_s: TComboBox;
Label8: TLabel;
edt_roomNo_s: TEdit;
btn_search: TButton;
cbx_feeType_s: TComboBox;
Label9: TLabel;
procedure FormShow(Sender: TObject);
procedure btn_addClick(Sender: TObject);
procedure btn_editClick(Sender: TObject);
procedure btn_delClick(Sender: TObject);
procedure cbx_houseNo_sChange(Sender: TObject);
procedure cbx_feeType_sChange(Sender: TObject);
procedure btn_searchClick(Sender: TObject);
procedure DBGrid_infoCellClick(Column: TColumn);
private
{ Private declarations }
public
procedure FillData;
procedure FillHouseID;
//填充数据byHouseID;
procedure FillDataByHouseID(houseID,feeType,roomID:string);
end;
var
frm_fee: Tfrm_fee;
implementation
{$R *.dfm}
procedure Tfrm_fee.FillDataByHouseID(houseID,feeType,roomID:string);
begin
self.DataSource_info.DataSet:=GetfeeArrayByHouseID(houseID,feeType,roomID);
self.DBGrid_info.Columns[0].Visible :=false;
end;
procedure Tfrm_fee.FillHouseID;
var
ADOQuery:TADOQuery;
begin
ADOQuery:=TADOQuery.Create(nil);
ADOQuery:=Control_houseU.GetHouseArray;
if ADOQuery.RecordCount<1 then
begin
ADOQuery:=nil;
exit;
end;
self.cbx_houseNo.Items.Clear;
self.cbx_houseNo_s.Items.Clear;
self.cbx_houseNo_s.Items.Add('全部');
while(not ADOQuery.Eof) do
begin
self.cbx_houseNo.Items.Add(ADOQuery.FieldValues['公寓号']);
self.cbx_houseNo_s.Items.Add(ADOQuery.FieldValues['公寓号']);
ADOQuery.Next;
end;
self.cbx_houseNo.ItemIndex:=0;
self.cbx_houseNo_s.ItemIndex:=0;
ADOQuery:=nil;
end;
procedure Tfrm_fee.FillData;
begin
DataSource_info.DataSet:=Control_feeU.GetFeeArray;
self.DBGrid_info.Columns[0].Visible:=false;
end;
procedure Tfrm_fee.FormShow(Sender: TObject);
begin
inherited;
FillData;
FillHouseID;
end;
procedure Tfrm_fee.btn_addClick(Sender: TObject);
begin
inherited;
self.cbx_houseNo.Text:='';
self.edt_roomNo.Tag:=0;
self.edt_roomNo.Text :='';
self.DTP_feeDate.Date:=now;
self.cbx_feeType.Text :='';
self.edt_fee.Text:='';
self.Memo_remark.Text :='';
end;
procedure Tfrm_fee.btn_editClick(Sender: TObject);
begin
if self.btn_edit.Caption='修改' then
begin
if edt_roomNo.Text ='' then
begin
MessageBox(Handle, '没有可以修改的数据!', '信息', MB_ICONEXCLAMATION);
exit;
end
else
begin
self.cbx_houseNo.SetFocus;
end;
end;
inherited;
end;
procedure Tfrm_fee.btn_delClick(Sender: TObject);
var
fee:Tfee;
begin
if(self.btn_del.Caption='删除') then
begin
if MessageBox(Handle, '您确定要删除该公寓信息', '信息',
MB_ICONQUESTION or MB_OKCANCEL) = IDOK then
begin
Control_feeU.Delfee(self.cbx_houseNo.Tag);
FillData;
if self.DBGrid_info.Fields[0].IsNull then
exit;
self.cbx_houseNo.Tag:=self.DBGrid_info.Fields[0].Value;//保存id
self.cbx_houseNo.Text:=self.DBGrid_info.Fields[1].Value;
self.edt_roomNo.Text :=self.DBGrid_info.Fields[2].Value;
self.DTP_feeDate.Date:=self.DBGrid_info.Fields[3].Value;
self.cbx_feeType.Text:=self.DBGrid_info.Fields[4].Value;
self.edt_fee.Text:=floattostr(self.DBGrid_info.Fields[5].Value);
self.Memo_remark.Text:=self.DBGrid_info.Fields[6].Value;
end;
end;
if(self.btn_del.Caption='保存') then
begin
if((cbx_houseNo.Text='') or (edt_roomNo.Text='')
or (self.cbx_feeType.Text='')
or (edt_fee.Text='')) then
begin
MessageBox(Handle, '内容填写不正确!', '信息', MB_ICONEXCLAMATION);
exit;
end;
//判断寝室号是否存在
if Control_roomU.GetRoomByRoomNo(trim(edt_roomNo.Text),cbx_houseNo.Text)=nil then
begin
MessageBox(Handle, '寝室号不存在,请重新设置!', '信息', MB_ICONEXCLAMATION);
edt_roomNo.SetFocus;
exit;
end;
fee:=Tfee.Create;
fee.id:=cbx_houseNo.Tag;
fee.HouseID:=cbx_houseNo.Text;
fee.roomID:=self.edt_roomNo.Text;
fee.feeDate:=DateToStr(self.DTP_feeDate.Date);
fee.feeName:=self.cbx_feeType.Text;
fee.fee:=strtofloat(self.edt_fee.text);
fee.remark:=self.memo_remark.Text;
if(Control_feeU.Editfee(fee)) then
begin
MessageBox(Handle, '修改成功!', '信息', MB_ICONASTERISK);
//刷新内容
FillData;
end
else
begin
MessageBox(Handle, '修改失败!', '信息', MB_ICONEXCLAMATION);
exit;
end;
end;
if(self.btn_del.Caption='确定') then
begin
if((cbx_houseNo.Text='' ) or (edt_roomNo.Text='')
or (self.cbx_feeType.Text='')
or (edt_fee.Text='')) then
begin
MessageBox(Handle, '内容填写不正确!', '信息', MB_ICONEXCLAMATION);
exit;
end;
//判断寝室号是否存在
if Control_roomU.GetRoomByRoomNo(trim(edt_roomNo.Text),cbx_houseNo.Text)=nil then
begin
MessageBox(Handle, '寝室号不存在,请重新设置!', '信息', MB_ICONEXCLAMATION);
edt_roomNo.SetFocus;
exit;
end;
fee:=Tfee.Create;
fee.id:=cbx_houseNo.Tag;
fee.HouseID:=cbx_houseNo.Text;
fee.roomID:=self.edt_roomNo.Text;
fee.feeDate:=DateToStr(self.DTP_feeDate.Date);
fee.feeName:=self.cbx_feeType.Text;
fee.fee:=strtofloat(self.edt_fee.text);
fee.remark:=self.memo_remark.Text;
if(Control_feeU.Addfee(fee)) then
begin
MessageBox(Handle, '添加成功!', '信息', MB_ICONASTERISK);
self.cbx_houseNo.Text:='';
self.edt_roomNo.Tag:=0;
self.edt_roomNo.Text :='';
self.DTP_feeDate.Date:=now;
self.cbx_feeType.Text :='交费类型';
self.edt_fee.Text:='0';
self.Memo_remark.Text :='';
//刷新内容
FillData;
end
else
begin
MessageBox(Handle, '添加失败!', '信息', MB_ICONEXCLAMATION);
exit;
end;
end;
inherited;
end;
procedure Tfrm_fee.cbx_houseNo_sChange(Sender: TObject);
begin
inherited;
FillDataByHouseID(self.cbx_houseNo_s.Text,self.cbx_feeType_s.Text
,trim(self.edt_roomNo_s.Text));
end;
procedure Tfrm_fee.cbx_feeType_sChange(Sender: TObject);
begin
inherited;
FillDataByHouseID(self.cbx_houseNo_s.Text,self.cbx_feeType_s.Text
,trim(self.edt_roomNo_s.Text));
end;
procedure Tfrm_fee.btn_searchClick(Sender: TObject);
begin
inherited;
FillDataByHouseID(self.cbx_houseNo_s.Text,self.cbx_feeType_s.Text
,trim(self.edt_roomNo_s.Text));
end;
procedure Tfrm_fee.DBGrid_infoCellClick(Column: TColumn);
begin
inherited;
if self.DBGrid_info.Fields[0].IsNull then
exit;
self.cbx_houseNo.Tag:=self.DBGrid_info.Fields[0].Value;//保存id
self.cbx_houseNo.Text:=self.DBGrid_info.Fields[1].Value;
self.edt_roomNo.Text:=self.DBGrid_info.Fields[2].Value;
self.DTP_feeDate.Date:=self.DBGrid_info.Fields[3].Value;
self.cbx_feeType.Text:=self.DBGrid_info.Fields[4].Value;
self.edt_fee.Text:=self.DBGrid_info.Fields[5].Value;
self.memo_remark.Text:=self.DBGrid_info.Fields[6].Value;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -