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