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

📄 single_house_f.pas

📁 县级供电企业电费核算源码, 在客户处正常运行8年以上, Delphi 5开发,数据库为Interbase/Firebird, 深入使用Procedure和Trigger等, 对入门者具有很好的参考价值
💻 PAS
字号:
unit Single_House_F;

interface

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

type
  TF_Single_House = class(TForm)
    Panel_House: TPanel;
    DBG_House: TDBGrid;
    DBN: TDBNavigator;
    Panel_Ammeter: TPanel;
    Label8: TLabel;
    Label9: TLabel;
    DBLCB_Village: TDBLookupComboBox;
    DBLCB_Town: TDBLookupComboBox;
    DBE_Town_No: TDBEdit;
    Label35: TLabel;
    DBE_Telephone: TDBEdit;
    DBE_Position: TDBEdit;
    Label34: TLabel;
    Label33: TLabel;
    DBE_House_Name: TDBEdit;
    DBE_House_No: TDBEdit;
    Label32: TLabel;
    Label23: TLabel;
    DBE_Ammeter_no: TDBEdit;
    Label24: TLabel;
    DBE_Ammeter_Count: TDBEdit;
    Label26: TLabel;
    DBE_Box_No: TDBEdit;
    Label6: TLabel;
    DBE_Date: TDBEdit;
    DBE_Ammeter_Date: TDBEdit;
    Label7: TLabel;
    Label2: TLabel;
    DBLCB_Voltage: TDBLookupComboBox;
    DBLCB_Elect: TDBLookupComboBox;
    Label1: TLabel;
    Label14: TLabel;
    DBE_Rate1: TDBEdit;
    Label15: TLabel;
    DBE_Rate2: TDBEdit;
    Label30: TLabel;
    Bt_Return: TButton;
    Bt_Print: TButton;
    Bt_New: TButton;
    DBLCB_Ammeter_Model: TDBLookupComboBox;
    DBLCB_Elect_No1: TDBLookupComboBox;
    DBLCB_Elect_No2: TDBLookupComboBox;
    Label12: TLabel;
    DBE_Rate3: TDBEdit;
    DBLCB_Elect_No3: TDBLookupComboBox;
    DBE_Base_Count: TDBEdit;
    Label13: TLabel;
    TFrm_Transfer1: TFrm_Transfer;
    GroupBox1: TGroupBox;
    Label3: TLabel;
    E_Default_Volume: TEdit;
    DBLCB_Default_Elect: TDBLookupComboBox;
    DBE_CT: TDBEdit;
    Label4: TLabel;
    Label5: TLabel;
    DBE_Iron_Used: TDBEdit;
    Label10: TLabel;
    DBLCB_Excess: TDBLookupComboBox;
    DBCB_PrintInvoice: TDBCheckBox;
    procedure Bt_ReturnClick(Sender: TObject);
    procedure DBG_HouseExit(Sender: TObject);
    procedure Panel_AmmeterExit(Sender: TObject);
    procedure DBE_Town_NoChange(Sender: TObject);
    procedure Bt_NewClick(Sender: TObject);
    procedure DBG_HouseDblClick(Sender: TObject);
    procedure Bt_PrintClick(Sender: TObject);
    procedure DBE_House_NoChange(Sender: TObject);
    procedure DBLCB_Default_ElectClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDeactivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure E_Default_VolumeChange(Sender: TObject);
    procedure TFrm_Transfer1Bt_TransferSelectClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_Single_House: TF_Single_House;

implementation

uses Table_DM, CommSmdljf, Single_House_R, Comm;

{$R *.DFM}

procedure TF_Single_House.Bt_ReturnClick(Sender: TObject);
begin
	Dm_Table.Tb_Ammeter.Refresh();//可使已修改的数据POST
	Close();
end;




procedure TF_Single_House.DBG_HouseExit(Sender: TObject);
begin
	If Dm_Table.Tb_House.Modified Then
    	Dm_Table.Tb_House.Post();
end;

procedure TF_Single_House.Panel_AmmeterExit(Sender: TObject);
begin
	If Dm_Table.Tb_Ammeter.Modified Then
    	Dm_Table.Tb_Ammeter.Post();
end;

procedure TF_Single_House.DBE_Town_NoChange(Sender: TObject);
begin
	DBLCB_Village.KeyValue := Dm_Table.Tb_Village['F_Village_No'];
end;





procedure TF_Single_House.Bt_NewClick(Sender: TObject);
begin
	Default_Box_No := DBE_Box_No.Text;//存储箱号
	Dm_Table.Tb_House.Insert();
    DBE_House_Name.SetFocus();
end;

procedure TF_Single_House.DBG_HouseDblClick(Sender: TObject);
begin
	DBE_House_No.SetFocus();
end;

procedure TF_Single_House.Bt_PrintClick(Sender: TObject);
begin
	Dm_Table.Tb_Ammeter.Refresh();//可使用已修改的数据POST
    P_OpenTable(Dm_Table.V_House_Ammeter);
	P_Print_Report(R_Single_House);
    Dm_Table.V_House_Ammeter.Close();
end;

procedure TF_Single_House.DBE_House_NoChange(Sender: TObject);
begin
	DBLCB_Town.KeyValue := Dm_Table.Tb_House['F_Village_No'];
	DBLCB_Village.KeyValue := Dm_Table.Tb_House['F_Village_No'];
end;






procedure TF_Single_House.DBLCB_Default_ElectClick(Sender: TObject);
begin
	Default_Elect_No := DBLCB_Default_Elect.KeyValue;//普通工业
end;

procedure TF_Single_House.FormCreate(Sender: TObject);
begin
    Default_Volume_No := '-';
	P_OpenTable(Dm_Table.Tb_Elect);
	Default_Elect_No := Dm_Table.Tb_Elect['F_Elect_No'];
	DBLCB_Default_Elect.KeyValue := Default_Elect_No;
end;

procedure TF_Single_House.FormDeactivate(Sender: TObject);
begin
	Dm_Table.Tb_House.DisableControls();
end;

procedure TF_Single_House.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
	P_CloseTable(Dm_Table.Tb_House);
    P_CloseTable(Dm_Table.Tb_Ammeter);
end;



procedure TF_Single_House.FormKeyPress(Sender: TObject; var Key: Char);
begin
	if (Key = #13) then
    Begin
    	Key := #0;
        Perform(WM_NextDlgCtl,0,0);//Focus next control
    End;
end;

procedure TF_Single_House.FormShow(Sender: TObject);
begin
    P_OpenTable(Dm_Table.Tb_House);
    P_OpenTable(Dm_Table.Tb_Ammeter);
	P_OpenTable(Dm_Table.Tb_Town);
    P_OpenTable(Dm_Table.Tb_Village);
    P_OpenTable(Dm_Table.Tb_Ammeter_Model);
	P_OpenTable(DM_Table.Tb_Excess);

    DBE_House_No.SetFocus();
	Dm_Table.Tb_House.EnableControls();
	DBLCB_Default_Elect.KeyValue := Dm_Table.Tb_Elect['F_Elect_No'];
    DBE_Iron_Used.Enabled := IronMode;//是否加铁损结算
end;

procedure TF_Single_House.E_Default_VolumeChange(Sender: TObject);
begin
    Default_Volume_No := E_Default_Volume.Text;
end;

procedure TF_Single_House.TFrm_Transfer1Bt_TransferSelectClick(
  Sender: TObject);
begin
  TFrm_Transfer1.Bt_TransferSelectClick(Sender);

end;

procedure TF_Single_House.FormActivate(Sender: TObject);
begin
	Dm_Table.Tb_House.EnableControls();
end;

end.

⌨️ 快捷键说明

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