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