📄 lyxx.pas
字号:
unit Lyxx;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ExtCtrls, Grids, DBGrids, StdCtrls, Mask, DBCtrls;
type
TFormLyxx = class(TForm)
DBGrid1: TDBGrid;
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Panel2: TPanel;
Edit1: TEdit;
Edit3: TEdit;
Label1: TLabel;
Labelbh: TLabel;
Labelmc: TLabel;
Label4: TLabel;
Button5: TButton;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Edit4: TEdit;
ComboBox1: TComboBox;
Edit5: TEdit;
ComboBox2: TComboBox;
procedure Button5Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure ComboBox1Exit(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
nform:smallint; //0:初始 1:增加 2:保存;
lybh,xqbh,mc,lxbh:string;
cs,fjts:smallint;
public
{ Public declarations }
end;
var
FormLyxx: TFormLyxx;
implementation
uses datamodl,Publicfun;
{$R *.dfm}
procedure TFormLyxx.Button5Click(Sender: TObject);
begin
close;
end;
procedure TFormLyxx.FormActivate(Sender: TObject);
begin
datamodule1.ChangeTab('lyxxb');
datamodule1.DataS.DataSet:= datamodule1.ADOTab;
dbgrid1.Columns[0].Title.caption:='楼宇编号';
dbgrid1.Columns[1].Title.caption:='所属小区';
dbgrid1.Columns[2].Title.caption:='楼宇名称';
dbgrid1.Columns[3].Title.caption:='楼宇层数';
dbgrid1.Columns[4].Title.caption:='楼宇类型';
dbgrid1.Columns[5].Title.caption:='房间套数';
nform:=0;
edit1.Enabled:=false;
edit3.Enabled:=false;
edit4.Enabled:=false;
edit5.Enabled:=false;
with datamodule1 do
begin
if ADOQry.Active= true then ADOQry.close;
ADOQry.sql.Clear;
ADOQry.sql.Add('select xqbh,xqmc from xqxxb');
ADOQry.open;
ADOQry.first;
while not ADOQry.Eof do
begin
combobox1.Items.Add(ADOQry.fieldbyname('xqbh').AsString+' | '
+ADOQry.fieldbyname('xqmc').AsString);
ADOQry.Next;
end;
ADOQry.Close;
end;
ComboBox2.Items.Add('01 | 塔式');
ComboBox2.Items.Add('02 | 板式');
ComboBox2.Items.Add('03 | 复式');
button4.Enabled:=false;
end;
procedure TFormLyxx.Button1Click(Sender: TObject);
begin
edit1.Enabled:=true;
edit3.Enabled:=true;
edit4.Enabled:=true;
edit5.Enabled:=true;
combobox1.Enabled:=true;
combobox2.Enabled:=true;
combobox1.ItemIndex:=0;
combobox2.ItemIndex:=0;
edit1.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit1.SetFocus;
nform:=1;
button1.Enabled:=false;
button2.Enabled:=false;
button4.Enabled:=true;
end;
procedure TFormLyxx.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0;
Perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TFormLyxx.Button4Click(Sender: TObject);
var
HD:Thandle;
begin
if trim(edit1.Text)='' then
begin
showmessage('楼宇编号不能为空!');
edit1.SetFocus;
exit;
end;
if trim(combobox1.Text)='' then
begin
showmessage('请选择所属小区!');
combobox1.SetFocus;
exit;
end;
lybh:= edit1.Text;
if trim(edit3.Text)='' then
begin
showmessage('楼宇名称不能为空!');
edit3.SetFocus;
exit;
end;
mc:= trim(edit3.Text);
if trim(edit4.Text)='' then
begin
showmessage('层数不能为空!');
edit4.SetFocus;
exit;
end;
cs:=strtoint(trim(edit4.Text));
if trim(combobox2.Text)='' then
begin
showmessage('请选择楼型!');
combobox2.Setfocus;
exit;
end;
lxbh:= copy(trim(combobox2.Text),1,2);
if trim(edit5.Text)='' then
begin
showmessage('房间套数不能为空!');
edit5.SetFocus;
exit;
end;
fjts:= strtoint(trim(edit5.Text));
HD:= formLyxx.Handle;
if datamodule1.ADOSP.Active= true then
datamodule1.ADOSP.Close;
datamodule1.ADOSP.ProcedureName:='P_lyxx_Save;1';
if nform= 0 then exit;
if nform= 1 then
if datamodule1.ifexist('lyxxb','LYBH',trim(edit1.Text))= true then
if messagebox(HD,pchar('数据库中已存在编号为<'+trim(edit1.Text)+'>的纪录,是否更新?'),pchar('信息提示'),MB_YESNO)=IDYES then
if LyxxAdd(lybh,xqbh,mc,lxbh,cs,fjts)=0 then
showmessage('更新成功!')
else
begin
showmessage('更新失败!');
exit;
end
else
exit
else
if LyxxAdd(lybh,xqbh,mc,lxbh,cs,fjts)=0 then
showmessage('保存成功!')
else
begin
showmessage('保存失败!');
exit;
end
else
if nform= 2 then
if LyxxAdd(lybh,xqbh,mc,lxbh,cs,fjts)=0 then
showmessage('更新成功!')
else
begin
showmessage('更新失败!');
exit;
end;
datamodule1.ChangeTab('lyxxb');
dbgrid1.Columns[0].Title.caption:='楼宇编号';
dbgrid1.Columns[1].Title.caption:='所属小区';
dbgrid1.Columns[2].Title.caption:='楼宇名称';
dbgrid1.Columns[3].Title.caption:='楼宇层数';
dbgrid1.Columns[4].Title.caption:='楼宇类型';
dbgrid1.Columns[5].Title.caption:='房间套数';
nform:=0;
button1.Enabled:=true;
button2.Enabled:=true;
button4.Enabled:=false;
edit1.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
dbgrid1.Enabled:=true;
combobox1.ItemIndex:=0;
combobox2.ItemIndex:=0;
edit1.Enabled:=false;
edit3.Enabled:=false;
edit4.Enabled:=false;
edit5.Enabled:=false;
combobox1.Enabled:=false;
combobox2.Enabled:=false;
button1.SetFocus;
end;
procedure TFormLyxx.Button2Click(Sender: TObject);
begin
nform:=2;
edit1.Text:= Datamodule1.ADOTab.fieldbyname('lybh').AsString;
edit3.Text:= Datamodule1.ADOTab.fieldbyname('mc').AsString;
edit4.Text:= Datamodule1.ADOTab.fieldbyname('cs').AsString;
edit5.Text:= Datamodule1.ADOTab.fieldbyname('fjts').AsString;
edit1.Enabled:=false;
edit3.Enabled:=true;
edit4.Enabled:=true;
edit5.Enabled:=true;
dbgrid1.Enabled:=false;
combobox1.Enabled:=true;
combobox2.Enabled:=true;
button1.Enabled:=false;
button2.Enabled:=false;
button4.Enabled:=true;
end;
procedure TFormLyxx.Button3Click(Sender: TObject);
begin
datamodule1.ADOTab.Delete;
end;
procedure TFormLyxx.ComboBox1Exit(Sender: TObject);
begin
if trim(combobox1.Text)<>'' then
begin
xqbh:= copy(trim(combobox1.Text),1,3);
edit1.Text:=xqbh+copy(trim(edit1.Text),4,2);
end;
end;
procedure TFormLyxx.Edit1Exit(Sender: TObject);
begin
if length(edit1.Text)<>5 then
begin
showmessage('请确定编号是否为5位!');
edit1.SetFocus;
exit;
end;
end;
procedure TFormLyxx.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9']) and (key <> #8) then
key:= char(0);
end;
procedure TFormLyxx.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9']) and (key <> #8) then
key:= char(0);
end;
procedure TFormLyxx.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9']) and (key <> #8) then
key:= char(0);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -