📄 returnbookfeeunit.pas
字号:
unit ReturnBookFeeUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons;
type
TfrmReturnBookFee = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
ComboBox1: TComboBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
procedure LoadData();{ Private declarations }
procedure initializtionfrm();
public
{ Public declarations }
end;
var
frmReturnBookFee: TfrmReturnBookFee;
Cla:TADOTable;
FeeHistory:TADOTable;
implementation
uses DataModuleUnit, MainUnit, ReturnFeePtrUnit;
{$R *.dfm}
//清空输入的内容
procedure TfrmReturnBookFee.initializtionfrm();
var
i:integer;
begin
for i:=0 to frmReturnBookFee.ComponentCount-1 do
begin
if frmReturnBookFee.Components[i] is TCustomEdit then
(frmReturnBookFee.Components[i] as TCustomEdit).Text:='';
if frmReturnBookFee.Components[i] is TCheckBox then
(frmReturnBookFee.Components[i] as TCheckBox).Checked:=false;
if frmReturnBookFee.Components[i] is TCombobox then
(frmReturnBookFee.Components[i] as TCombobox).Text:='';
end;
end;
//加载班级信息
procedure TfrmReturnBookFee.LoadData();
var
avgFee:real;
begin
with Cla do
begin
Locate('Classname',ComboBox1.Text,[loCaseInsensitive]);
edit1.Text:=FieldByName('Strength').AsString; //人数
Edit2.Text:=FieldByName('totalFee').AsString; //总书费
avgFee:=strtofloat(Edit2.Text)/ strtofloat(Edit1.Text); //平均书费
Edit3.Text:=floattostr(avgFee);
Edit4.Text:=frmMain.OperatorInfo.OperatorName;//经办人
if avgFee>0 then //如果书费为0 则不可以退费
BitBtn1.Enabled:=true
else
BitBtn1.Enabled:=false;
end;
end;
//加入班级信息
procedure TfrmReturnBookFee.FormCreate(Sender: TObject);
var
i:integer;
begin
FeeHistory:=TADOTable.Create(nil); //书费历史记录
FeeHistory.Connection:=frmDataModule.Connection;
FeeHistory.TableName:='FeeHistory';
Cla:=TADOTable.Create(nil); //班级表
Cla.Connection:=frmDataModule.Connection;
Cla.TableName:='Classes';
Cla.Active:=true;
for i:=0 to Cla.RecordCount-1 do
begin
comboBox1.Items.Add(Cla.Fields[0].Value);
Cla.Next;
end;
end;
procedure TfrmReturnBookFee.ComboBox1Change(Sender: TObject);
begin
self.initializtionfrm;
self.LoadData;
end;
procedure TfrmReturnBookFee.BitBtn1Click(Sender: TObject);
begin
try
with Cla do //修改班级总书费
begin
edit;
FieldByName('TotalFee').Value:=0;
post;
end;
with FeeHistory do //把退费记录加入到FeeHistory表中
begin
Active:=true;
Append;
edit;
FieldByName('ClassName').Value:=Combobox1.Text;
FieldByName('LastFee').Value:=Edit2.Text;
FieldByName('theFee').Value:=0-strtofloat(Edit2.Text);
FieldByName('nowFee').Value:=0;
FieldByName('handler').Value:=Edit4.Text;
FieldByName('OperatorID').Value:=frmMain.OperatorInfo.OperatorID;
FieldByName('About').Value:=Edit5.Text;
FieldByName('Strength').Value:=Edit1.Text;
post;
close;
Application.MessageBox('退费成功!','提示',mb_ok);
end;
except
Application.MessageBox('退费失败!','出错提示',mb_ok);
end;
bitbtn2.Enabled:=true;//可以打印
bitbtn1.Enabled:=false;
end;
procedure TfrmReturnBookFee.BitBtn3Click(Sender: TObject);
begin
close;
end;
procedure TfrmReturnBookFee.BitBtn2Click(Sender: TObject);
begin
frmReturnFeePtr:=TfrmReturnFeeptr.Create(self);
with frmReturnFeePtr do
begin
CR.className:=Combobox1.Text;
CR.Strength:=Edit1.Text;
CR.ReturnFee:=Edit2.Text;
CR.AvgFee:=Edit3.Text;
CR.Handler:=Edit4.Text;
CR.About:=Edit5.Text;
CR.OperatorID:=frmMain.OperatorInfo.OperatorID;
CR.OperateTime:=DateTimeTostr(now);
ShowModal;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -