📄 bookfeeunit.pas
字号:
unit BookFeeUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons, ComCtrls;
type
TfrmBookFee = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
ComboBox1: TComboBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
GroupBox2: TGroupBox;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label14: TLabel;
ComboBox2: TComboBox;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
BitBtn4: TBitBtn;
BitBtn3: TBitBtn;
Edit12: TEdit;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure Edit8Exit(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
private
procedure clearData();
{ Private declarations }
public
{ Public declarations }
end;
var
// check1:TCheckValue;
frmBookFee: TfrmBookFee;
cla,Dep:TADOTable;
implementation
uses DataModuleUnit, MainUnit, CommonUnit;
{$R *.dfm}
procedure TfrmBookFee.clearData();
var
i:integer;
begin
for i:=0 to frmBookFee.ComponentCount-1 do
begin
if Components[i] is TCustomEdit then
(frmBookFee.Components[i] as TCustomEdit).Text:=''
else
if Components[i] is TCombobox then
(frmBookFee.Components[i] as TCombobox).ItemIndex:=-1;
end;
end;
procedure TfrmBookFee.FormCreate(Sender: TObject);
var
i:integer;
begin
//初始化班级信息
cla:=TADOTable.Create(nil);
with Cla do
begin
Connection:=frmDataModule.Connection;
TableName:='classes';
Active:=true;
for i:=0 to RecordCount-1 do //读取班级信息
begin
ComboBox1.Items.Add(FieldByName('className').Value);
Next;
end;
end;
//院系信息表初始化
Dep:=TADOTable.Create(nil); //班级表
with Dep do
begin
Connection:=frmDataModule.Connection;
TableName:='Departments';
Active:=true;
for i:=0 to RecordCount-1 do
begin
comboBox2.Items.Add(Fields[0].Value);
Next;
end;
end;
ComboBox1.ItemIndex:=-1;
combobox2.ItemIndex:=-1;
end;
procedure TfrmBookFee.BitBtn1Click(Sender: TObject);
var
fee:TADOTable;
begin
fee:=TADOTable.Create(nil);
with fee do //交书费
begin
Connection:=frmDataModule.Connection;
TableName:='FeeHistory';
Active:=true;
Append;
FieldByName('ClassName').Value:=ComboBox1.Text;
FieldByName('LastFee').Value:=edit1.Text;
FieldByName('theFee').Value:=edit3.Text;
FieldByName('nowFee').Value:=strtofloat(edit1.Text)+strtofloat(edit3.Text);
FieldByName('handler').Value:=edit4.Text;
FieldByName('operatorID').Value:=frmMain.OperatorInfo.OperatorID;
FieldByName('About').Value:=edit5.Text;
FieldByName('Strength').Value:=edit6.Text;
post;
end;
//更新班级总书费
cla.Locate('ClassName',Combobox1.Text,[loCaseInsensitive]);
cla.Edit;
cla.FieldByName('TotalFee').Value:=strtofloat(edit1.Text)+strtofloat(edit3.Text);
cla.Post;
Application.MessageBox('交费成功!','提示',mb_ok);
self.clearData;
Edit2.ReadOnly:=true;
end;
procedure TfrmBookFee.ComboBox1Change(Sender: TObject);
begin
if trim(Combobox1.Text)<>'' then
begin
Edit2.ReadOnly:=false;
cla.Locate('ClassName',Combobox1.Text,[loCaseInsensitive]);
Edit1.Text:=cla.fieldByName('totalfee').AsString;
Edit6.Text:=cla.fieldByName('strength').AsString;
Edit4.Text:=frmMain.OperatorInfo.OperatorName;
Edit3.Text:=cla.fieldByName('totalfee').AsString;
end;
end;
//判断输入的书费是否有误
procedure TfrmBookFee.Edit2Exit(Sender: TObject);
var
TotalFee,v:real;
begin
v:=0;
if trim(Edit2.Text)='' then
begin
Application.MessageBox('输入的值不能为空格','提示',mb_ok);
Edit2.SetFocus;
end
else
V:=strtofloatDef(edit2.Text,0);
if v>0 then
begin
TotalFee:=strtofloatDef(edit6.Text,0)*v;
Edit3.Text:=floattostr(TotalFee);
end
else
begin
Application.MessageBox('输入的值不能小于等于0!','提示',mb_ok);
Edit2.SetFocus;
end
end;
procedure TfrmBookFee.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TfrmBookFee.Button1Click(Sender: TObject);
begin
self.clearData;
end;
procedure TfrmBookFee.ComboBox2Change(Sender: TObject);
var
IsExists:boolean;
begin
IsExists:=false;
with Dep do
begin
IsExists:=Locate('DepartmentName',trim(Combobox2.Text),[loCaseInsensitive]);
if IsExists then
begin
Edit8.ReadOnly:=false;
Edit8.Text:='0';
Edit7.Text:=FieldByName('totalFee').Value;//上期书费
Edit12.Text:=FieldByName('charger').Value; //负责人
Edit9.Text:=FieldByName('chargerPhone').Value;//联系电话
Edit10.Text:=FieldByName('TotalFee').Value; //经办人
end
else
begin
showmessage('你所输入的院系名称不正确!');
Edit7.Text:='';//上期书费
Edit12.Text:=''; //负责人
Edit9.Text:='';//联系电话
Edit10.Text:=''; //经办人
Combobox2.SetFocus;
abort;
end;
end;
end;
procedure TfrmBookFee.Edit8Exit(Sender: TObject);
var
TotalFee,v:real;
begin
v:=0;
if trim(Edit8.Text)='' then
begin
Application.MessageBox('输入的值不能为空格','提示',mb_ok);
Edit8.SetFocus;
end
else
V:=strtofloatDef(edit8.Text,0);
if v>0 then
begin
TotalFee:=strtofloatDef(edit7.Text,0)+v;
Edit10.Text:=floattostr(TotalFee);
end
else
begin
Application.MessageBox('输入的值不能小于等于0!','提示',mb_ok);
Edit8.SetFocus;
end
end;
procedure TfrmBookFee.BitBtn4Click(Sender: TObject);
var
IsExists:boolean;
begin
with Dep do
begin
IsExists:=Locate('DepartmentName',trim(combobox2.Text),[loCaseInsensitive]);
if IsExists then
begin
Edit;
FieldByName('TotalFee').Value:=Edit10.Text;
FieldByName('OperatorID').Value:=frmMain.OperatorInfo.OperatorID;
post;
Application.MessageBox('书费添加成功!','提示',mb_ok);
self.clearData;
Edit8.ReadOnly:=false;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -