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

📄 unithouse.~pas

📁 社区服务系统
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit UnitHouse;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, ImgList, ComCtrls, Buttons, DB, ADODB,
  ExtCtrls;

type
  TfrmHouse = class(TForm)
    GroupBox1: TGroupBox;
    DBGrid1: TDBGrid;
    pclHouse: TPageControl;
    TabSheet1: TTabSheet;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    edtCId: TEdit;
    Label2: TLabel;
    edtHId: TEdit;
    Label3: TLabel;
    edtHname: TEdit;
    Label4: TLabel;
    edtHouseholder: TEdit;
    Label5: TLabel;
    edtHAddress: TEdit;
    Label6: TLabel;
    edtHphone: TEdit;
    Label7: TLabel;
    edtHtelephone: TEdit;
    Label9: TLabel;
    memHouse: TMemo;
    adoHouse: TADOQuery;
    DataSource1: TDataSource;
    adoHouseHId: TWideStringField;
    adoHouseCId: TWideStringField;
    adoHouseHname: TWideStringField;
    adoHouseHAddress: TWideStringField;
    adoHouseHphone: TWideStringField;
    adoHouseHtelephone: TWideStringField;
    adoHouseHouseholder: TWideStringField;
    adoHouseHUserWC: TWideStringField;
    adoHouseHmemo: TWideStringField;
    ADOHouseConn: TADOConnection;
    Panel1: TPanel;
    bbtnAdd: TBitBtn;
    bbtnModify: TBitBtn;
    bbtnDel: TBitBtn;
    bbtnSave: TBitBtn;
    bbtnCancel: TBitBtn;
    bbtnExit: TBitBtn;
    ADOTable1: TADOTable;
    procedure bbtnAddClick(Sender: TObject);
    procedure bbtnModifyClick(Sender: TObject);
    procedure bbtnCancelClick(Sender: TObject);
    procedure bbtnExitClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure bbtnSaveClick(Sender: TObject);
    procedure adoHouseAfterScroll(DataSet: TDataSet);
    procedure bbtnDelClick(Sender: TObject);
    procedure bbtngotoClick(Sender: TObject);
  //  procedure bbtnSearchClick(Sender: TObject);
 //   procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
    procedure ButtonState(btag : integer);                     //按钮状态
    procedure showlist;                                        //列表显示
    procedure iniData;                                         //初始化combox下拉列表
  public
    { Public declarations }
  end;

var
  frmHouse: TfrmHouse;
  iflag : integer;                                             //记录操作,如添加,iflag=1;修改,iflag=2
  strHID : string;                                             //家庭编号
  strMsg : string;
  strsql : string;
  strSearch : string;                                          //查询条件

  const DOADD = 1;
  const DOMODIFY = 2;
  const DOCANCEL = 3;
  const DOSHOW = 4;
implementation
uses unitADOconn;
{$R *.dfm}

{
*************************************************************************************
函数名称:按钮状态
功能描述:要求在增加状态后,只有保存,取消可以操作,别的按钮不可操作。修改、删除状态也一样。
输入参数:btag,添加,btag=1;修改,btag=2
输出参数:
返回 值:  无
说   明:
*************************************************************************************
}
procedure TfrmHouse.ButtonState(btag : integer);
begin
  case btag of
  1 :                                                        //添加时按钮状态
    begin
      bbtnModify.Enabled := false;
      bbtnSave.Enabled := true;
      bbtnCancel.Enabled := true;
      bbtnDel.Enabled := false;
    end;
  2:                                                         //修改
    begin
      bbtnAdd.Enabled := false;
      bbtnSave.Enabled := true;
      bbtnCancel.Enabled := true;
      bbtnDel.Enabled := false;
    end;
  3:                                                         //取消
    begin
      bbtnadd.Enabled := true;
      bbtnModify.Enabled := true;
      bbtnDel.Enabled := true;
      bbtnSave.Enabled := false;
    end;
  4:                                                        //显示状态  
    begin
      bbtnadd.Enabled := true;
      bbtnModify.Enabled := true;
      bbtnDel.Enabled := true;
      bbtnSave.Enabled := false;
    end
    else
    exit;
  end;
end;

procedure TfrmHouse.bbtnAddClick(Sender: TObject);
begin
  iflag := DOADD;
  buttonState(DOADD);
  edtHId.SetFocus;

  edtHId.ReadOnly := false;
  edtHname.ReadOnly := false;
  edtHouseholder.ReadOnly := false;
  edtHAddress.ReadOnly := false;
  edtHphone.ReadOnly := false;
  edtHtelephone.ReadOnly := false;
  memhouse.ReadOnly := false;

  edtHId.Text := '';
  edtHname.Text := '';
  edtHouseholder.Text := '';
  edtHAddress.Text := '';
  edtHphone.Text := '';
  edtHtelephone.Text := '';
  //cbxWC.Text := '';
  memHouse.Text := '';
end;

procedure TfrmHouse.bbtnModifyClick(Sender: TObject);
begin
  iflag := DOMODIFY;
  ButtonState(DOMODIFY);
  edtHname.ReadOnly := false;
  edtHouseholder.ReadOnly := false;
  edtHAddress.ReadOnly := false;
  edtHphone.ReadOnly := false;
  edtHtelephone.ReadOnly := false;
  memhouse.ReadOnly := false;

  edtHname.SetFocus;
end;

procedure TfrmHouse.bbtnCancelClick(Sender: TObject);
begin
  ButtonState(DOCANCEL);
  if iflag=1 then
  begin
    edtHId.Text := adoHouse.fieldbyname('HId').AsString;
    edtHname.Text := adoHouse.fieldbyname('Hname').AsString;
    edtHouseholder.Text := adoHouse.fieldbyname('Householder').AsString;
    edtHAddress.Text := adoHouse.fieldbyname('HAddress').AsString;
    edtHphone.Text := adoHouse.fieldbyname('Hphone').AsString;
    edtHtelephone.Text := adoHouse.fieldbyname('Htelephone').AsString;
  //  cbxWC.Text := adoHouse.fieldbyname('HuserWC').AsString;
    memHouse.Text := adoHouse.fieldbyname('Hmemo').AsString;
    iflag := 0;
  end;

  if iflag=2 then
  begin
    adopub.Close;
    adopub.SQL.Text := 'select * from THouse where HId='''+edtHId.Text+'''';
    adopub.Open;
    edtHname.Text := adopub.fieldbyname('Hname').AsString;
    edtHouseholder.Text := adopub.fieldbyname('Householder').AsString;
    edtHAddress.Text := adopub.fieldbyname('HAddress').AsString;
    edtHphone.Text := adopub.fieldbyname('Hphone').AsString;
    edtHtelephone.Text := adopub.fieldbyname('Htelephone').AsString;
  // cbxWC.Text := adopub.fieldbyname('HuserWC').AsString;
    memHouse.Text := adopub.fieldbyname('Hmemo').AsString;
    adopub.Close;
    iflag := 0;
  end;
end;

procedure TfrmHouse.bbtnExitClick(Sender: TObject);
begin
  close;
end;

{
*************************************************************************************
函数名称:显示DBGrid列表
功能描述:将THouse表中的数据在DBGrid列表中显示出来
输入参数: 无
输出参数: 无
返回 值:  无
说   明:  添加、修改、删除操作要调用该函数以达到显示更新后的数据显示目的
*************************************************************************************
}
procedure TfrmHouse.showlist;
begin
  try
    //adoHouse.Connection := adoconn;
    adoHouse.Close;
    //adoHouse.SQL.Text := 'select * from THouse where HState=''1''';
    adoHouse.Open;
  except
    on e:exception do
      showmessage('列表显示失败');
  end;
  edtCID.ReadOnly := true;
  edtHId.ReadOnly := true;
  edtHname.ReadOnly := true;
  edtHouseholder.ReadOnly := true;
  edtHAddress.ReadOnly := true;
  edtHphone.ReadOnly := true;
  edtHtelephone.ReadOnly := true;   
  memhouse.ReadOnly := true;


  edtHId.Text := adoHouse.fieldbyname('HId').AsString;
  edtHname.Text := adoHouse.fieldbyname('Hname').AsString;
  edtHouseholder.Text := adoHouse.fieldbyname('Householder').AsString;

⌨️ 快捷键说明

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