www.pudn.com > jiaocaiguanlixitongdaima.rar > 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.