📄 mc_fysq.~pas
字号:
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 + -