?? frm_feepayu.pas
字號(hào):
unit frm_FeePayU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids,db,ADOdb,Config;
type
Tfrm_FeePay = class(TForm)
DBGridFee: TDBGrid;
DBGridRecord: TDBGrid;
Edt_du: TEdit;
Edt_fee: TEdit;
btn_js: TButton;
btn_ok: TButton;
btn_cancel: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
lab_yzname: TLabel;
Label6: TLabel;
edt_dubefore: TEdit;
DataS_fee: TDataSource;
DataS_record: TDataSource;
procedure FormShow(Sender: TObject);
procedure DBGridFeeCellClick(Column: TColumn);
procedure btn_jsClick(Sender: TObject);
procedure btn_cancelClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btn_okClick(Sender: TObject);
private
procedure FillUI;
procedure FillRecord;
procedure GetRecord;
procedure AddRecord;
public
yzID:integer;
end;
var
frm_FeePay: Tfrm_FeePay;
implementation
uses DataMU,Control_yzU,Control_feeU,ClassesU;
{$R *.dfm}
procedure Tfrm_FeePay.FillRecord;
begin
DataS_record.DataSet:=Control_yzU.GetFeeRecordByYZID(self.yzID);
self.DBGridRecord.DataSource:=DataS_record;
end;
procedure Tfrm_FeePay.AddRecord;
var
feeDegree:double;
feeRecord:TfeeRecord;
begin
if(edt_fee.Text ='') then
begin
MessageBox(Handle, '請(qǐng)先計(jì)算!', '小區(qū)物業(yè)', MB_ICONASTERISK);
exit;
end;
feeDegree:=Control_feeU.GetLastRecord(DataS_fee.DataSet.FieldValues['id'],self.yzID);
if (feeDegree>=strtofloat(edt_du.Text))
and (edt_dubefore.Text <>'0') then
begin
edt_dubefore.Text:=floattostr(feeDegree);
MessageBox(Handle, '本次繳費(fèi)度數(shù)小于或等于上次度數(shù),請(qǐng)重新輸入', '小區(qū)物業(yè)', MB_ICONEXCLAMATION);
exit;
end;
feeRecord:=TfeeRecord.Create;
feeRecord.yzID:=self.yzID;
feeRecord.feeID:=DataS_fee.DataSet.FieldValues['id'];
feeRecord.degree:=strtofloat(edt_du.Text);
feeRecord.fee:=strtofloat(edt_fee.Text);
if Control_feeU.AddFeeRecord(feeRecord) then
begin
MessageBox(Handle, '繳費(fèi)成功', '小區(qū)物業(yè)', MB_ICONASTERISK);
FillRecord;
edt_dubefore.Text:='';
edt_du.Text:='';
edt_fee.Text:='';
end
else
begin
MessageBox(Handle, '繳費(fèi)失敗', '小區(qū)物業(yè)', MB_ICONEXCLAMATION);
end;
end;
procedure Tfrm_FeePay.GetRecord;
var
feeDegree:double;
begin
if(DataS_fee.DataSet.FieldValues['id'] =null)then
exit;
self.Edt_du.Text:='';
self.edt_dubefore.Text:='';
self.Edt_fee.Text:='';
self.btn_js.Enabled:=true;
if(DataS_fee.DataSet.FieldValues['收費(fèi)方式']='按戶') then
begin
self.Edt_du.text:='0';
self.edt_dubefore.text:='0';
self.Edt_fee.Text:=floattostr(DataS_fee.DataSet.FieldValues['價(jià)格']);
self.btn_js.Enabled:=false;
end
else
begin
self.Edt_du.Enabled:=true;
self.edt_dubefore.Enabled:=true;
feeDegree:=Control_feeU.GetLastRecord(DataS_fee.DataSet.FieldValues['id'],self.yzID);
self.Edt_dubefore.Text:=floattostr(feeDegree);
end;
end;
procedure Tfrm_FeePay.FillUI;
begin
DataS_fee.DataSet:=Control_feeU.GetFeeSetArray;
DataS_fee.DataSet.FieldByName('id').Visible:=false;
self.DBGridFee.DataSource:=DataS_fee;
FillRecord;
end;
procedure Tfrm_FeePay.FormShow(Sender: TObject);
begin
FillUI;
end;
procedure Tfrm_FeePay.DBGridFeeCellClick(Column: TColumn);
begin
GetRecord;
end;
procedure Tfrm_FeePay.btn_jsClick(Sender: TObject);
var
val:real;
begin
if DataS_fee.DataSet.FieldValues['id']<>null then
begin
if trim(edt_du.Text)='' then
begin
MessageBox(Handle, '請(qǐng)先添加度數(shù)', '小區(qū)物業(yè)', MB_ICONASTERISK);
exit;
end;
val:=strtofloat(edt_du.text)-strtofloat(edt_dubefore.Text);
val:=val*DataS_fee.DataSet.FieldValues['價(jià)格'];
edt_fee.Text:=floattoStr(val);
end;
end;
procedure Tfrm_FeePay.btn_cancelClick(Sender: TObject);
begin
close;
end;
procedure Tfrm_FeePay.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure Tfrm_FeePay.btn_okClick(Sender: TObject);
begin
if MessageBox(Handle, '確認(rèn)要添加繳費(fèi)記錄?', '小區(qū)物業(yè)', MB_ICONQUESTION or MB_OKCANCEL) = IDOK then
begin
AddRecord;
end;
end;
end.
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -