⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frm_feeu.pas

📁 学生公寓管理系统 很好的设计 呵呵 绝对很好
💻 PAS
字号:
unit frm_feeU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, frm_infoU, DB, StdCtrls, Grids, DBGrids, ComCtrls,
  ClassesU,Control_feeU,ADODB,Control_houseU,Control_roomU;

type
  Tfrm_fee = class(Tfrm_info)
    edt_roomNo: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    edt_fee: TEdit;
    Label5: TLabel;
    cbx_houseNo: TComboBox;
    DTP_feeDate: TDateTimePicker;
    cbx_feeType: TComboBox;
    Label6: TLabel;
    memo_remark: TMemo;
    Label7: TLabel;
    cbx_houseNo_s: TComboBox;
    Label8: TLabel;
    edt_roomNo_s: TEdit;
    btn_search: TButton;
    cbx_feeType_s: TComboBox;
    Label9: TLabel;
    procedure FormShow(Sender: TObject);
    procedure btn_addClick(Sender: TObject);
    procedure btn_editClick(Sender: TObject);
    procedure btn_delClick(Sender: TObject);
    procedure cbx_houseNo_sChange(Sender: TObject);
    procedure cbx_feeType_sChange(Sender: TObject);
    procedure btn_searchClick(Sender: TObject);
    procedure DBGrid_infoCellClick(Column: TColumn);
  private
    { Private declarations }
  public
    procedure FillData;
    procedure FillHouseID;
     //填充数据byHouseID;
    procedure FillDataByHouseID(houseID,feeType,roomID:string);
  end;

var
  frm_fee: Tfrm_fee;

implementation

{$R *.dfm}
procedure Tfrm_fee.FillDataByHouseID(houseID,feeType,roomID:string);
begin
  self.DataSource_info.DataSet:=GetfeeArrayByHouseID(houseID,feeType,roomID);
  self.DBGrid_info.Columns[0].Visible  :=false;
end;

procedure Tfrm_fee.FillHouseID;
var
  ADOQuery:TADOQuery;
begin
  ADOQuery:=TADOQuery.Create(nil);
  ADOQuery:=Control_houseU.GetHouseArray;
  if ADOQuery.RecordCount<1 then
    begin
      ADOQuery:=nil;
      exit;
    end;
  self.cbx_houseNo.Items.Clear;
  self.cbx_houseNo_s.Items.Clear;
  self.cbx_houseNo_s.Items.Add('全部');
  while(not ADOQuery.Eof) do
    begin
      self.cbx_houseNo.Items.Add(ADOQuery.FieldValues['公寓号']);
      self.cbx_houseNo_s.Items.Add(ADOQuery.FieldValues['公寓号']);
      ADOQuery.Next;
    end;
  self.cbx_houseNo.ItemIndex:=0;
  self.cbx_houseNo_s.ItemIndex:=0;
  ADOQuery:=nil;
end;
procedure Tfrm_fee.FillData;
begin
  DataSource_info.DataSet:=Control_feeU.GetFeeArray;
  self.DBGrid_info.Columns[0].Visible:=false;
end;
procedure Tfrm_fee.FormShow(Sender: TObject);
begin
  inherited;
FillData;
FillHouseID;
end;

procedure Tfrm_fee.btn_addClick(Sender: TObject);
begin
  inherited;
  self.cbx_houseNo.Text:='';
  self.edt_roomNo.Tag:=0;
  self.edt_roomNo.Text :='';
  self.DTP_feeDate.Date:=now;
  self.cbx_feeType.Text :='';
  self.edt_fee.Text:='';
  self.Memo_remark.Text :='';
end;

procedure Tfrm_fee.btn_editClick(Sender: TObject);
begin
  if self.btn_edit.Caption='修改' then
    begin
      if edt_roomNo.Text ='' then
        begin
           MessageBox(Handle, '没有可以修改的数据!', '信息', MB_ICONEXCLAMATION);
          exit;
        end
      else
        begin
          self.cbx_houseNo.SetFocus;
        end;
    end;
  inherited;

end;

procedure Tfrm_fee.btn_delClick(Sender: TObject);
var
  fee:Tfee;
begin
  if(self.btn_del.Caption='删除') then
    begin
      if MessageBox(Handle, '您确定要删除该公寓信息', '信息',
         MB_ICONQUESTION or MB_OKCANCEL) = IDOK then
        begin
          Control_feeU.Delfee(self.cbx_houseNo.Tag);
          FillData;
          if self.DBGrid_info.Fields[0].IsNull then
            exit;
          self.cbx_houseNo.Tag:=self.DBGrid_info.Fields[0].Value;//保存id
          self.cbx_houseNo.Text:=self.DBGrid_info.Fields[1].Value;
          self.edt_roomNo.Text :=self.DBGrid_info.Fields[2].Value;
          self.DTP_feeDate.Date:=self.DBGrid_info.Fields[3].Value;
          self.cbx_feeType.Text:=self.DBGrid_info.Fields[4].Value;
          self.edt_fee.Text:=floattostr(self.DBGrid_info.Fields[5].Value);
          self.Memo_remark.Text:=self.DBGrid_info.Fields[6].Value;
        end;
    end;
  if(self.btn_del.Caption='保存') then
    begin
      if((cbx_houseNo.Text='') or (edt_roomNo.Text='')
        or (self.cbx_feeType.Text='')
        or (edt_fee.Text='')) then
        begin
           MessageBox(Handle, '内容填写不正确!', '信息', MB_ICONEXCLAMATION);
           exit;
        end;

      //判断寝室号是否存在
      if Control_roomU.GetRoomByRoomNo(trim(edt_roomNo.Text),cbx_houseNo.Text)=nil then
        begin
           MessageBox(Handle, '寝室号不存在,请重新设置!', '信息', MB_ICONEXCLAMATION);
           edt_roomNo.SetFocus;
           exit;
        end;

      fee:=Tfee.Create;
      fee.id:=cbx_houseNo.Tag;
      fee.HouseID:=cbx_houseNo.Text;
      fee.roomID:=self.edt_roomNo.Text;
      fee.feeDate:=DateToStr(self.DTP_feeDate.Date);
      fee.feeName:=self.cbx_feeType.Text;
      fee.fee:=strtofloat(self.edt_fee.text);
      fee.remark:=self.memo_remark.Text;

      if(Control_feeU.Editfee(fee)) then
        begin
          MessageBox(Handle, '修改成功!', '信息', MB_ICONASTERISK);
          //刷新内容
          FillData;
        end
      else
         begin
          MessageBox(Handle, '修改失败!', '信息', MB_ICONEXCLAMATION);
          exit;
        end;
    end;
  if(self.btn_del.Caption='确定') then
    begin
      if((cbx_houseNo.Text='' ) or (edt_roomNo.Text='')
        or (self.cbx_feeType.Text='')
        or (edt_fee.Text='')) then
        begin
           MessageBox(Handle, '内容填写不正确!', '信息', MB_ICONEXCLAMATION);
           exit;
        end;
       //判断寝室号是否存在
      if Control_roomU.GetRoomByRoomNo(trim(edt_roomNo.Text),cbx_houseNo.Text)=nil then
        begin
           MessageBox(Handle, '寝室号不存在,请重新设置!', '信息', MB_ICONEXCLAMATION);
           edt_roomNo.SetFocus;
           exit;
        end;
        
      fee:=Tfee.Create;
      fee.id:=cbx_houseNo.Tag;
      fee.HouseID:=cbx_houseNo.Text;
      fee.roomID:=self.edt_roomNo.Text;
      fee.feeDate:=DateToStr(self.DTP_feeDate.Date);
      fee.feeName:=self.cbx_feeType.Text;
      fee.fee:=strtofloat(self.edt_fee.text);
      fee.remark:=self.memo_remark.Text;
      if(Control_feeU.Addfee(fee)) then
        begin
          MessageBox(Handle, '添加成功!', '信息', MB_ICONASTERISK);
          self.cbx_houseNo.Text:='';
          self.edt_roomNo.Tag:=0;
          self.edt_roomNo.Text :='';
          self.DTP_feeDate.Date:=now;
          self.cbx_feeType.Text :='交费类型';
          self.edt_fee.Text:='0';
          self.Memo_remark.Text :='';
          //刷新内容
          FillData;
        end
      else
        begin
          MessageBox(Handle, '添加失败!', '信息', MB_ICONEXCLAMATION);
          exit;
        end;
    end;
  inherited;

end;

procedure Tfrm_fee.cbx_houseNo_sChange(Sender: TObject);
begin
  inherited;
    FillDataByHouseID(self.cbx_houseNo_s.Text,self.cbx_feeType_s.Text
                       ,trim(self.edt_roomNo_s.Text));
end;

procedure Tfrm_fee.cbx_feeType_sChange(Sender: TObject);
begin
  inherited;
    FillDataByHouseID(self.cbx_houseNo_s.Text,self.cbx_feeType_s.Text
                       ,trim(self.edt_roomNo_s.Text));
end;

procedure Tfrm_fee.btn_searchClick(Sender: TObject);
begin
  inherited;
    FillDataByHouseID(self.cbx_houseNo_s.Text,self.cbx_feeType_s.Text
                       ,trim(self.edt_roomNo_s.Text));
end;

procedure Tfrm_fee.DBGrid_infoCellClick(Column: TColumn);
begin
  inherited;
  if self.DBGrid_info.Fields[0].IsNull then
    exit;
  self.cbx_houseNo.Tag:=self.DBGrid_info.Fields[0].Value;//保存id
  self.cbx_houseNo.Text:=self.DBGrid_info.Fields[1].Value;
  self.edt_roomNo.Text:=self.DBGrid_info.Fields[2].Value;
  self.DTP_feeDate.Date:=self.DBGrid_info.Fields[3].Value;
  self.cbx_feeType.Text:=self.DBGrid_info.Fields[4].Value;
  self.edt_fee.Text:=self.DBGrid_info.Fields[5].Value;
  self.memo_remark.Text:=self.DBGrid_info.Fields[6].Value;

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -