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

📄 mc_fysq.~pas

📁 1、系统环境要求:所有程序均在Windows98/XP操作系统下测试运行。 2、建议用户在系统上安装DELPHI7.0企业版。 3、如果数据库为SQL Server数据库
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit MC_FYSQ;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables, StdCtrls, Buttons, ComCtrls, Mask, DBCtrls, Grids, DBGrids;

type
  TFYSQ = class(TForm)
    GroupBox1: TGroupBox;
    DBLookupComboBox1: TDBLookupComboBox;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    GroupBox3: TGroupBox;
    DBGrid2: TDBGrid;
    GroupBox4: TGroupBox;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    DBText1: TDBText;
    DBText2: TDBText;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    BitBtn5: TBitBtn;
    BitBtn3: TBitBtn;
    TabSheet2: TTabSheet;
    Label11: TLabel;
    Label12: TLabel;
    DBText3: TDBText;
    DBText4: TDBText;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    DBEdit13: TDBEdit;
    DBEdit14: TDBEdit;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    DateTimePicker3: TDateTimePicker;
    DateTimePicker4: TDateTimePicker;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    TabSheet3: TTabSheet;
    Label21: TLabel;
    Label22: TLabel;
    DBText5: TDBText;
    DBText6: TDBText;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    DBEdit17: TDBEdit;
    DBEdit18: TDBEdit;
    DBEdit19: TDBEdit;
    DBEdit20: TDBEdit;
    DBEdit21: TDBEdit;
    DBEdit22: TDBEdit;
    DBEdit23: TDBEdit;
    DBEdit24: TDBEdit;
    DateTimePicker5: TDateTimePicker;
    DateTimePicker6: TDateTimePicker;
    BitBtn8: TBitBtn;
    BitBtn9: TBitBtn;
    GroupBox5: TGroupBox;
    DBGrid3: TDBGrid;
    GroupBox6: TGroupBox;
    DBGrid4: TDBGrid;
    BitBtn1: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn2: TBitBtn;
    DataSource1: TDataSource;
    Query1: TQuery;
    Query1BDEDesigner: TStringField;
    Query1BDEDesigner2: TStringField;
    DataSource2: TDataSource;
    Table1: TTable;
    Table1BDEDesigner: TStringField;
    Table1BDEDesigner2: TStringField;
    Table1BDEDesigner7: TStringField;
    Table2: TTable;
    Table2BDEDesigner: TStringField;
    Table2BDEDesigner2: TStringField;
    Table2BDEDesigner3: TStringField;
    Table2BDEDesigner4: TStringField;
    Table2BDEDesigner6: TStringField;
    Table2BDEDesigner18: TStringField;
    DataSource3: TDataSource;
    Table3: TTable;
    Table3BDEDesigner: TStringField;
    Table3BDEDesigner2: TStringField;
    Table3BDEDesigner3: TStringField;
    Table3BDEDesigner4: TFloatField;
    Table3BDEDesigner5: TDateTimeField;
    Table3BDEDesigner6: TDateTimeField;
    Table3BDEDesigner7: TIntegerField;
    Table3BDEDesigner8: TIntegerField;
    Table3BDEDesigner9: TIntegerField;
    Table3BDEDesigner10: TFloatField;
    Table3BDEDesigner11: TFloatField;
    Table3BDEDesigner12: TFloatField;
    DataSource4: TDataSource;
    Table4: TTable;
    Table4BDEDesigner: TStringField;
    Table4BDEDesigner2: TStringField;
    Table4BDEDesigner3: TStringField;
    Table4BDEDesigner4: TFloatField;
    Table4BDEDesigner5: TDateTimeField;
    Table4BDEDesigner6: TDateTimeField;
    Table4BDEDesigner7: TIntegerField;
    Table4BDEDesigner8: TIntegerField;
    Table4BDEDesigner9: TIntegerField;
    Table4BDEDesigner10: TFloatField;
    Table4BDEDesigner11: TFloatField;
    Table4BDEDesigner12: TFloatField;
    DataSource5: TDataSource;
    DataSource6: TDataSource;
    Table5: TTable;
    Table5BDEDesigner: TStringField;
    Table5BDEDesigner2: TStringField;
    Table5BDEDesigner3: TStringField;
    Table5BDEDesigner4: TFloatField;
    Table5BDEDesigner5: TDateTimeField;
    Table5BDEDesigner6: TDateTimeField;
    Table5BDEDesigner7: TIntegerField;
    Table5BDEDesigner8: TIntegerField;
    Table5BDEDesigner9: TIntegerField;
    Table5BDEDesigner10: TFloatField;
    Table5BDEDesigner11: TFloatField;
    Table5BDEDesigner12: TFloatField;
    Query2: TQuery;
    Query2BDEDesigner: TStringField;
    Query2BDEDesigner2: TStringField;
    Query2BDEDesigner3: TFloatField;
    Query2BDEDesigner4: TFloatField;
    Query2BDEDesigner5: TFloatField;
    Query2BDEDesigner6: TFloatField;
    Query2BDEDesigner7: TStringField;
    Query2BDEDesigner8: TFloatField;
    Query2BDEDesigner9: TStringField;
    Query2BDEDesigner10: TFloatField;
    Query2BDEDesigner11: TDateTimeField;
    Query2BDEDesigner12: TDateTimeField;
    Query2BDEDesigner13: TFloatField;
    Query2BDEDesigner14: TFloatField;
    Query2BDEDesigner15: TFloatField;
    Query2BDEDesigner16: TFloatField;
    Query2BDEDesigner17: TStringField;
    DataSource7: TDataSource;
    Query3: TQuery;
    Query3BDEDesigner: TStringField;
    Query3BDEDesigner2: TStringField;
    Query3BDEDesigner3: TStringField;
    Query3BDEDesigner4: TFloatField;
    Query3BDEDesigner5: TDateTimeField;
    Query3BDEDesigner6: TDateTimeField;
    Query3BDEDesigner7: TFloatField;
    Query3BDEDesigner8: TFloatField;
    Query3BDEDesigner9: TFloatField;
    Query3BDEDesigner10: TFloatField;
    Query3BDEDesigner11: TStringField;
    DataSource8: TDataSource;
    GroupBox7: TGroupBox;
    DBGrid5: TDBGrid;
    Query4: TQuery;
    DataSource9: TDataSource;
    GroupBox8: TGroupBox;
    DBGrid6: TDBGrid;
    Query5: TQuery;
    DataSource10: TDataSource;
    DateTimePicker7: TDateTimePicker;
    DateTimePicker8: TDateTimePicker;
    Label31: TLabel;
    Label32: TLabel;
    BitBtn10: TBitBtn;
    DateTimePicker9: TDateTimePicker;
    DateTimePicker10: TDateTimePicker;
    Label33: TLabel;
    Label34: TLabel;
    BitBtn11: TBitBtn;
    ComboBox1: TComboBox;
    Label35: TLabel;
    Query6: TQuery;
    Table2BDEDesigner5: TStringField;
    Table3BDEDesigner13: TStringField;
    Table3BDEDesigner14: TIntegerField;
    Table3BDEDesigner15: TFloatField;
    Table3BDEDesigner16: TFloatField;
    Table3BDEDesigner17: TFloatField;
    Label36: TLabel;
    DBEdit25: TDBEdit;
    Label37: TLabel;
    DBEdit26: TDBEdit;
    Label38: TLabel;
    DBEdit27: TDBEdit;
    Label39: TLabel;
    DBEdit28: TDBEdit;
    Table4BDEDesigner13: TStringField;
    Table4BDEDesigner14: TIntegerField;
    Table4BDEDesigner15: TFloatField;
    Table4BDEDesigner16: TFloatField;
    Table4BDEDesigner17: TFloatField;
    Label40: TLabel;
    DBEdit29: TDBEdit;
    Label41: TLabel;
    DBEdit30: TDBEdit;
    Label42: TLabel;
    DBEdit31: TDBEdit;
    Label43: TLabel;
    DBEdit32: TDBEdit;
    Table5BDEDesigner13: TStringField;
    Table5BDEDesigner14: TIntegerField;
    Table5BDEDesigner15: TFloatField;
    Table5BDEDesigner16: TFloatField;
    Table5BDEDesigner17: TFloatField;
    Label44: TLabel;
    DBEdit33: TDBEdit;
    Label45: TLabel;
    DBEdit34: TDBEdit;
    Label46: TLabel;
    DBEdit35: TDBEdit;
    Label47: TLabel;
    DBEdit36: TDBEdit;
    Query2BDEDesigner18: TStringField;
    Query2BDEDesigner19: TFloatField;
    Query3BDEDesigner12: TFloatField;
    Table2BDEDesigner7: TStringField;
    Query2BDEDesigner20: TFloatField;
    Query3BDEDesigner13: TFloatField;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn4Click(Sender: TObject);
    procedure Table2AfterScroll(DataSet: TDataSet);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn9Click(Sender: TObject);
    procedure DateTimePicker2CloseUp(Sender: TObject);
    procedure DateTimePicker4CloseUp(Sender: TObject);
    procedure DateTimePicker6CloseUp(Sender: TObject);
    procedure DBGrid3ColExit(Sender: TObject);
    procedure DBGrid3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid4KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn11Click(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure Query2BeforePost(DataSet: TDataSet);
    procedure Query3BeforePost(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FYSQ: TFYSQ;

implementation

uses MC_MainForm;

{$R *.DFM}
function SJ(Const D1,D2: TDateTime;JE:Real):Real;
var
     D1Y1,D1M1,D1D1: Word;
     D2y1,D2M1,D2D1: Word;
     YF: Integer;
     PJJE: real;
     N: Integer;
begin
     PJJE:=(JE/30);
     DecodeDate(D1,D1y1,D1M1,D1D1);
     DecodeDate(D2,D2y1,D2M1,D2D1);
     if D1<D2 then
        begin
             if D1Y1=D2y1 then//如果年份相等
                begin
                     YF:=(D2M1-D1M1)-1;
                     SJ:=(YF*JE)+(PJJE*D1D1)+(PJJE*D2D1);
                end
             else
                begin
                     N:=(D2Y1-D1Y1)-1;
                     YF:=(D2M1-1)+(12-D1M1);
                     SJ:=(N*12*JE)+(YF*JE)+(PJJE*D1D1)+(PJJE*D2D1);                     
                end;
        end
     else
        SJ:=0;
end;

procedure TFYSQ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     FYSQ.Release;
     FYSQ:=Nil;
end;

procedure TFYSQ.BitBtn4Click(Sender: TObject);
begin
     Close;
end;

procedure TFYSQ.Table2AfterScroll(DataSet: TDataSet);
begin
     if Table2.RecordCount<>0 then
        begin
             Query2.Close;
             Query2.SQL.Clear;
             Query2.SQL.Add('Select * From 其它费用表');
             Query2.SQL.Add('Where 收费编号=:A');
             Query2.ParamByName('A').AsString:=Table2.FieldByName('房间编号').AsString;
             Query2.Open;
        end;
     if Table2.RecordCount<>0 then
        begin
             Query3.Close;
             Query3.SQL.Clear;
             Query3.SQL.Add('Select * From 常用费用');
             Query3.SQL.Add('Where 收费编号=:A');
             Query3.ParamByName('A').AsString:=Table2.FieldByName('房间编号').AsString;
             Query3.Open;
        end;
end;

procedure TFYSQ.BitBtn3Click(Sender: TObject);
begin
     if BitBtn3.caption='交费' then
        begin
             Table3.Edit;
             BitBtn3.Caption:='保存';
             BitBtn5.Enabled:=True;
             DBEdit2.Enabled:=True;
             DBEdit2.BorderStyle:=bssingle;
             DBEdit2.Color:=clWhite;
             DateTimePicker2.Enabled:=True;
             DBEdit7.Enabled:=True;
             DBEdit7.Color:=ClWhite;
             DBEdit7.BorderStyle:=bssingle;
             DBEdit2.SetFocus;
        end
     else
        begin
             if (Length(Table3.FieldByName('计费终止日期').AsString)=0)
                or (Length(Table3.FieldByName('实收金额').AsString)=0) then
                begin
                     Showmessage('请将信息添全');
                end
             else
                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.FieldByName('本月余额').AsFloat:=Table3
                           .FieldByName('实收金额').AsFloat-Table3
                           .FieldByName('应收金额').AsFloat;
                     Table3.Post;
                end;
        end;
end;

procedure TFYSQ.BitBtn5Click(Sender: TObject);
begin
     if BitBtn5.Caption='取消' then

⌨️ 快捷键说明

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