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

📄 mc_fysq.~pas

📁 1、系统环境要求:所有程序均在Windows98/XP操作系统下测试运行。 2、建议用户在系统上安装DELPHI7.0企业版。 3、如果数据库为SQL Server数据库
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
        begin
             BitBtn3.Caption:='交费';
             BitBtn5.Enabled:=False;
             DBEdit2.BorderStyle:=bsNone;
             DBEdit2.Color:=ClScrollBar;
             DBEdit2.Enabled:=False;
             DateTimePicker2.Enabled:=False;
             DBEdit7.Color:=ClScrollBar;
             DBEdit7.BorderStyle:=bsNone;
             DBEdit7.Enabled:=False;
             Table3.Cancel;
        end;
end;

procedure TFYSQ.BitBtn6Click(Sender: TObject);
begin
     if BitBtn6.caption='交费' then
        begin
             Table4.Edit;
             BitBtn6.Caption:='保存';
             BitBtn7.Enabled:=True;
             DBEdit10.Enabled:=True;
             DBEdit10.BorderStyle:=bssingle;
             DBEdit10.Color:=clWhite;
             DateTimePicker4.Enabled:=True;
             DBEdit15.Enabled:=True;
             DBEdit15.Color:=ClWhite;
             DBEdit15.BorderStyle:=bssingle;
             DBEdit10.SetFocus;
        end
     else
        begin
             if (Length(Table4.FieldByName('计费终止日期').AsString)=0)
                or (Length(Table4.FieldByName('实收金额').AsString)=0) then
                begin
                     Showmessage('请将信息添全');
                end
             else
                begin
                     BitBtn6.Caption:='交费';
                     BitBtn7.Enabled:=False;
                     DBEdit10.BorderStyle:=bsNone;
                     DBEdit10.Color:=ClScrollBar;
                     DBEdit10.Enabled:=False;
                     DateTimePicker4.Enabled:=False;                     
                     DBEdit15.Color:=ClScrollBar;
                     DBEdit15.BorderStyle:=bsNone;
                     DBEdit15.Enabled:=False;
                     Table4.FieldByName('本月余额').AsFloat:=Table4
                           .FieldByName('实收金额').AsFloat-Table4
                           .FieldByName('应收金额').AsFloat;
                     Table4.Post;
                end;
        end;
end;

procedure TFYSQ.BitBtn7Click(Sender: TObject);
begin
     BitBtn6.Caption:='交费';
     BitBtn7.Enabled:=False;
     DBEdit10.BorderStyle:=bsNone;
     DBEdit10.Color:=ClScrollBar;
     DBEdit10.Enabled:=False;
     DateTimePicker4.Enabled:=False;
     DBEdit15.Color:=ClScrollBar;
     DBEdit15.BorderStyle:=bsNone;
     DBEdit15.Enabled:=False;
     Table4.Cancel;
end;

procedure TFYSQ.BitBtn8Click(Sender: TObject);
begin
     if BitBtn8.caption='交费' then
        begin
             Table5.Edit;
             BitBtn8.Caption:='保存';
             BitBtn9.Enabled:=True;
             DBEdit18.Enabled:=True;
             DBEdit18.BorderStyle:=bssingle;
             DBEdit18.Color:=clWhite;
             DateTimePicker6.Enabled:=True;
             DBEdit23.Enabled:=True;
             DBEdit23.Color:=ClWhite;
             DBEdit23.BorderStyle:=bssingle;
             DBEdit18.SetFocus;
        end
     else
        begin
             if (Length(Table5.FieldByName('计费终止日期').AsString)=0)
                or (Length(Table5.FieldByName('实收金额').AsString)=0) then
                begin
                     Showmessage('请将信息添全');
                end
             else
                begin
                     BitBtn8.Caption:='交费';
                     BitBtn9.Enabled:=False;
                     DBEdit18.BorderStyle:=bsNone;
                     DBEdit18.Color:=ClScrollBar;
                     DBEdit18.Enabled:=False;
                     DateTimePicker6.Enabled:=False;
                     DBEdit23.Color:=ClScrollBar;
                     DBEdit23.BorderStyle:=bsNone;
                     DBEdit23.Enabled:=False;
                     Table5.FieldByName('本月余额').AsFloat:=Table5
                           .FieldByName('实收金额').AsFloat-Table5
                           .FieldByName('应收金额').AsFloat;
                     Table5.Post;
                end;
        end;
end;

procedure TFYSQ.BitBtn9Click(Sender: TObject);
begin
     BitBtn8.Caption:='交费';
     BitBtn9.Enabled:=False;
     DBEdit18.BorderStyle:=bsNone;
     DBEdit18.Color:=ClScrollBar;
     DBEdit18.Enabled:=False;
     DateTimePicker6.Enabled:=False;
     DBEdit23.Color:=ClScrollBar;
     DBEdit23.BorderStyle:=bsNone;
     DBEdit23.Enabled:=False;
     Table5.Cancel;
end;

procedure TFYSQ.DateTimePicker2CloseUp(Sender: TObject);
begin
     Table3.FieldByName('计费终止日期').AsDateTime:=DateTimePicker2.Date;
end;

procedure TFYSQ.DateTimePicker4CloseUp(Sender: TObject);
begin
     Table4.FieldByName('计费终止日期').AsDateTime:=DateTimePicker4.Date;
end;

procedure TFYSQ.DateTimePicker6CloseUp(Sender: TObject);
begin
     Table5.FieldByName('计费终止日期').AsDateTime:=DateTimePicker6.Date;
end;

procedure TFYSQ.DBGrid3ColExit(Sender: TObject);
begin
     {if DBGrid3.SelectedIndex=5 then
     if Query2.Modified then
     if Query2.FieldByName('减免金额').AsFloat<>0 then
        begin
             Query2.FieldByName('本次余额').AsFloat:=(Query2
                                   .FieldByName('实收金额').AsFloat+Query2
                                   .FieldByName('减免金额').AsFloat)
                                   -Query2.FieldByName('应收金额').AsFloat);
             Query2.Post;
        end
     else
        begin
             Query2.FieldByName('本次余额').AsFloat:=Query2
                                   .FieldByName('实收金额').AsFloat-Query2
                                   .FieldByName('应收金额').AsFloat;
             Query2.Post;
        end;
     if DBGrid3.SelectedIndex=7 then
     if Query2.Modified then
     if Query2.FieldByName('减免金额').AsFloat<>0 then
        begin
             Query2.FieldByName('本次余额').AsFloat:=(Query2
                   .FieldByName('实收金额').AsFloat+Query2
                   .FieldByName('减免金额').AsFloat)
                   -Query2.FieldByName('应收金额').AsFloat;
             Query2.Post;
        end;}
end;

procedure TFYSQ.DBGrid3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
     if key=VK_UP then
        begin
             if Query2.FieldbyName('户主姓名').AsString='' then
                begin
                     Query2.Cancel;
                     Abort;
                end;
        end;
     if key=VK_DOWN then
        begin
             if Query2.FieldbyName('户主姓名').AsString='' then
                begin
                     Query2.Cancel;
                     Abort;
                end;
        end;
     if key=VK_Insert then Abort;
end;

procedure TFYSQ.DBGrid4KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
     if key=VK_UP then
        begin
             if Query3.FieldbyName('户主姓名').AsString='' then
                begin
                     Query3.Cancel;
                     Abort;
                end;
        end;
     if key=VK_DOWN then
        begin
             if Query3.FieldbyName('户主姓名').AsString='' then
                begin
                     Query3.Cancel;
                     Abort;
                end;
        end;
     if key=VK_Insert then Abort;
end;

procedure TFYSQ.BitBtn1Click(Sender: TObject);
begin
     if BitBtn1.Caption='统计指定时间内的[常用费用]信息' then
        begin
             GroupBox7.Visible:=True;
             BitBtn1.Caption:='关闭[常用费用]信息';
        end
     else
        begin
             Query4.Close;
             GroupBox7.Visible:=False;
             BitBtn1.Caption:='统计指定时间内的[常用费用]信息';             
        end;
end;

procedure TFYSQ.BitBtn2Click(Sender: TObject);
begin
     if BitBtn2.Caption='统计指定时间内的[其它费用]信息' then
        begin
             BitBtn2.Caption:='关闭[其它费用]信息';
             GroupBox8.Visible:=True;
        end
     else
        begin
             Query5.Close;
             GroupBox8.Visible:=False;
             BitBtn2.Caption:='统计指定时间内的[其它费用]信息';
        end;
end;

procedure TFYSQ.BitBtn11Click(Sender: TObject);
begin
     with Query5 do
     begin
          Close;
          SQL.Clear;
          SQL.Add('Select 费用科目,应收金额,实收金额,剩余金额,减免金额,本次余额 From 历史其它费用');
          SQL.Add('where 计费起始日期>=:A and 计费终止日期<=:B and 收费编号=:C');
          SQL.Add('ORDER BY 费用科目 ASC');
          ParamByName('A').AsDateTime:=DateTimePicker9.Date;
          ParamByName('B').AsDateTime:=DateTimePicker10.Date;
          ParamByName('C').AsString:=Table2.FieldByName('房间编号').AsString;
          Open;
     end;
end;

procedure TFYSQ.BitBtn10Click(Sender: TObject);
begin
     with Query4 do
     begin
          Close;
          SQL.Clear;
          SQL.Add('Select 费用科目,应收金额,实收金额,剩余金额,减免金额,本次余额 From 历史常用费用');
          SQL.Add('where 计费起始日期>=:A and 计费终止日期<=:B and 收费编号=:C');
          SQL.Add('ORDER BY 费用科目 ASC');
          ParamByName('A').AsDateTime:=DateTimePicker7.Date;
          ParamByName('B').AsDateTime:=DateTimePicker8.Date;
          ParamByName('C').AsString:=Table2.FieldByName('房间编号').AsString;
          Open;
     end;
end;

procedure TFYSQ.FormShow(Sender: TObject);
var a : Integer;
begin
     if Table1.RecordCount<>0 then
     begin
     with Query6 do
     begin
          Close;
          SQL.Clear;
          SQL.Add('Select Max(单元) From 房屋信息表 Where 大楼名=:A');
          ParamByName('A').AsString:=Table1.FieldByName('大楼名称').AsString;
          Open;
     end;
     For a:=1 to Query6.Fields[0].AsInteger do
     begin
          ComboBox1.Items.Add(IntToStr(a));
     end;
     end;
     Query6.Close;
     if MainForm.Query1.Locate('使用选项','实收收费登记管理',[loCaseInsensitive]) then
        begin
             if MainForm.Query1.FieldByname('读写').asString='读' then
                begin
                     BitBtn1.Enabled:=False;
                     BitBtn2.Enabled:=False;
                     BitBtn3.Enabled:=False;
                     BitBtn6.Enabled:=False;
                     BitBtn8.Enabled:=False;
                end;
        end;
end;

procedure TFYSQ.ComboBox1Change(Sender: TObject);
begin
     Table2.Filter:='单元 = '''+ComboBox1.Items[ComboBox1.ItemIndex]+'''';
     Table2.Filtered:=True;
end;

procedure TFYSQ.Query2BeforePost(DataSet: TDataSet);
begin
   Try
     //if DBGrid3.SelectedIndex=5 then
     //if Query2.Modified then
     if LENGTH(Query2.FieldByName('计费终止日期').AsSTRING)>0 then
        begin
             Query2.FieldByName('应收金额').AsFloat:=SJ(Query2.FieldByName('计费起始日期').AsDateTime,
                                  Query2.FieldByName('计费终止日期').AsDateTime,
                                  Query2.FieldByName('收费金额').AsFloat);
        end;

     if Query2.FieldByname('剩余金额').AsFloat>Query2.FieldByName('应收金额').AsFloat then
        Query2.FieldByName('实收金额').AsFloat:=Query2.FieldByName('应收金额').AsFloat
     else
        Query2.FieldByName('实收金额').AsFloat:=Query2.FieldByName('剩余金额').AsFloat;

     if Query2.FieldByName('减免金额').AsFloat<>0 then
        begin
             Query2.FieldByName('本次余额').AsFloat:=(Query2
                                   .FieldByName('实收金额').AsFloat+Query2
                                   .FieldByName('减免金额').AsFloat+Query2.FieldbyName('本次补交').AsFloat)
                                   -Query2.FieldByName('应收金额').AsFloat;
        end
     else
        begin
             Query2.FieldByName('本次余额').AsFloat:=(Query2
                                   .FieldByName('实收金额').AsFloat+Query2.FieldbyName('本次补交').AsFloat)-Query2
                                   .FieldByName('应收金额').AsFloat;
        end;
     {if DBGrid3.SelectedIndex=7 then
     if Query2.Modified then
     if Query2.FieldByName('减免金额').AsFloat<>0 then
        begin
             Query2.FieldByName('本次余额').AsFloat:=(Query2
                   .FieldByName('实收金额').AsFloat+Query2
                   .FieldByName('减免金额').AsFloat+Query2.FieldbyName('本次补交').AsFloat)
                   -Query2.FieldByName('应收金额').AsFloat;
        end;}
   Except
   End;
end;

procedure TFYSQ.Query3BeforePost(DataSet: TDataSet);
begin
  Try
     //if DBGrid4.SelectedIndex=5 then
     //                if Query3.Modified then
     if LENGTH(Query2.FieldByName('计费终止日期').AsSTRING)>0 then
        begin
             Query2.FieldByName('应收金额').AsFloat:=SJ(Query2.FieldByName('计费起始日期').AsDateTime,
                                  Query2.FieldByName('计费终止日期').AsDateTime,
                                  Query2.FieldByName('收费金额').AsFloat);
        end;
     if Query2.FieldByname('剩余金额').AsFloat>Query2.FieldByName('应收金额').AsFloat then
        Query2.FieldByName('实收金额').AsFloat:=Query2.FieldByName('应收金额').AsFloat
     else
        Query2.FieldByName('实收金额').AsFloat:=Query2.FieldByName('剩余金额').AsFloat;
        

                     if Query3.FieldByName('减免金额').AsFloat<>0 then
                        begin
                             Query3.FieldByName('本次余额').AsFloat:=(Query3
                                   .FieldByName('实收金额').AsFloat+Query3
                                   .FieldByName('减免金额').AsFloat+Query3.FieldbyName('本次补交').AsFloat)
                                   -Query3.FieldByName('应收金额').AsFloat;
                        end
                     else
                        begin
                             Query3.FieldByName('本次余额').AsFloat:=(Query3
                                   .FieldByName('实收金额').AsFloat+Query3.FieldbyName('本次补交').AsFloat)
                                   -Query3.FieldByName('应收金额').AsFloat;
                        end;
     {if DBGrid4.SelectedIndex=7 then
     if Query3.Modified then
     if Query3.FieldByName('减免金额').AsFloat<>0 then
        begin
             Query3.FieldByName('本次余额').AsFloat:=(Query3
                   .FieldByName('实收金额').AsFloat+Query3
                   .FieldByName('减免金额').AsFloat+Query3.FieldbyName('本次补交').AsFloat)
                   -Query3.FieldByName('应收金额').AsFloat;
        end;}
  Except
  end;
end;

end.

⌨️ 快捷键说明

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