📄 realtya121.pas
字号:
unit RealtyA121;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dbcgrids, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls,
StrUtils, ExtDlgs, ComCtrls, math, Menus, ImgList, ToolWin;
type
Tf_RealtyA121 = class(TForm)
L1: TLabel;
L2: TLabel;
L3: TLabel;
L4: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label9: TLabel;
Label10: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Label1: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit13: TEdit;
Edit14: TEdit;
Label11: TLabel;
Label12: TLabel;
Edit15: TEdit;
Label13: TLabel;
Label14: TLabel;
edit6: TDateTimePicker;
edit7: TDateTimePicker;
edit8: TDateTimePicker;
edit10: TComboBox;
edit11: TComboBox;
Edit3: TEdit;
Button1: TButton;
ToolButton6: TButton;
ToolButton5: TButton;
Edit9: TComboBox;
Edit16: TComboBox;
Edit12: TComboBox;
Edit17: TComboBox;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure NN6Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure GetID;
procedure ToolButton5Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure Edit4Exit(Sender: TObject);
procedure Edit5Exit(Sender: TObject);
procedure Edit9Select(Sender: TObject);
procedure Edit12Select(Sender: TObject);
procedure Edit16Select(Sender: TObject);
procedure Edit17Select(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
bOK:bool;
end;
var
f_RealtyA121: Tf_RealtyA121;
sNum:string;
implementation
uses data, main, RealtyA12,RealtyA11,Car4s931;
{$R *.dfm}
procedure Tf_RealtyA121.GetID;
var
query:TADOquery;
s:string;
i:integer;
begin
query:=TADOquery.Create(nil);
query.Connection:=DataModuleADO.ADOConnection1;
s := 'select top 1 * from 楼宇 ORDER BY 编号 DESC';
Query.SQL.Add(s);
Query.Open ;
if query.recordcount > 0 then
begin
s:= Query.Fieldbyname('编号').AsString;
s:= Copy(S, 1, 7);
i:= strtoint(s)+1;
if i<10 then edit1.text := '000000'+inttostr(i)
else if (i > 9) and (i<100) then edit1.text := '00000'+inttostr(i)
else if (i > 99) and (i<1000) then edit1.text := '0000'+inttostr(i)
else if (i > 999) and (i<10000) then edit1.text := '000'+inttostr(i)
else if (i > 9999) and (i<100000) then edit1.text := '00'+inttostr(i)
else if (i > 99999) and (i<1000000) then edit1.text := '0'+inttostr(i)
else if i>999999 then edit1.text := inttostr(i);
end
else edit1.text := '0000001';
query.Close;
query.Free;
end;
procedure Tf_RealtyA121.FormCreate(Sender: TObject);
var
Query:TADOquery;
s,s1,s2:string;
i:integer;
begin
query:=TADOQuery.Create(nil);
query.Connection:=DataModuleADO.ADOConnection1;
edit6.Date:=date;
edit7.Date:=date;
edit8.Date:=date;
GetID;
edit16.Items.Add('新增楼宇结构');
query.SQL.Clear;
query.SQL.Add('select * from 辅助资料 where 类别='''+'楼宇结构'+'''');
query.Open;
while not query.Eof do
begin
edit16.Items.Add(query.fieldbyname('名称').Value);
query.Next;
end;
edit9.Items.Add('新增朝向');
query.SQL.Clear;
query.SQL.Add('select * from 辅助资料 where 类别='''+'朝向'+'''');
query.Open;
while not query.Eof do
begin
edit9.Items.Add(query.fieldbyname('名称').Value);
query.Next;
end;
edit12.Items.Add('新增楼宇类型');
query.SQL.Clear;
query.SQL.Add('select * from 辅助资料 where 类别='''+'楼宇类型'+'''');
query.Open;
while not query.Eof do
begin
edit12.Items.Add(query.fieldbyname('名称').Value);
query.Next;
end;
edit17.Items.Add('新增用途');
query.SQL.Clear;
query.SQL.Add('select * from 辅助资料 where 类别='''+'用途'+'''');
query.Open;
while not query.Eof do
begin
edit17.Items.Add(query.fieldbyname('名称').Value);
query.Next;
end;
query.SQL.Clear;
query.SQL.Add('select distinct 名称 from 开发商');
query.Open;
while not query.Eof do
begin
edit10.Items.Add(query.fieldbyname('名称').Value);
query.Next;
end;
query.SQL.Clear;
query.SQL.Add('select distinct 名称 from 承建商');
query.Open;
while not query.Eof do
begin
edit11.Items.Add(query.fieldbyname('名称').Value);
query.Next;
end;
If (f_RealtyA12.bMod = True) Then
begin
s:= 'select * from 楼宇 where 编号='''+f_RealtyA12.ListView1.Selected.Caption;
s:=s+'''';
query.SQL.Clear;
query.sql.add(s);
query.Open;
if query.RecordCount>0 then
begin
with f_RealtyA12.ListView1.Selected do
begin
edit1.Text:=query.fieldbyname('编号').Value;
edit2.Text:=query.fieldbyname('名称').Value;
edit3.Text:=query.fieldbyname('管理区').Value+'--'+s1;
edit4.Text:=query.fieldbyname('层数').Value;
edit5.Text:=query.fieldbyname('楼高').Value;
edit9.Text:=query.fieldbyname('朝向').Value;
edit10.ItemIndex:=Edit10.Items.IndexOf(query.fieldbyname('开发商').Value);
edit11.ItemIndex:=Edit11.Items.IndexOf(query.fieldbyname('承建商').Value);
edit12.text:=query.fieldbyname('楼宇类型').Value;
edit13.Text:=query.fieldbyname('建筑面积').Value;
edit14.Text:=query.fieldbyname('使用面积').Value;
edit15.Text:=query.fieldbyname('绿化面积').Value;
edit6.date:=strtodate(query.fieldbyname('竣工日期').Value);
edit7.date:=strtodate(query.fieldbyname('入伙日期').Value);
edit8.date:=strtodate(query.fieldbyname('开工日期').Value);
edit16.Text:=query.fieldbyname('楼宇结构').Value;
edit17.Text:=query.fieldbyname('楼宇用途').Value;
s:='select * from 管理区 where 编号='''+query.fieldbyname('管理区').Value+'''';
query.SQL.Clear;
query.SQL.Add(s);
query.Open;
if query.RecordCount>0 then
begin
edit3.text:=query.fieldbyname('编号').Value+'--'+query.fieldbyname('名称').Value;
end;
end;
end;
end;
query.close;
query.free;
end;
//Tab
procedure Tf_RealtyA121.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
Begin
key:=0;
perform(WM_NEXTDLGCTL,0,0);
end
else if key=VK_ESCAPE then close;
end;
procedure Tf_RealtyA121.ToolButton10Click(Sender: TObject);
begin
NN6Click(Sender);
end;
procedure Tf_RealtyA121.NN6Click(Sender: TObject);
begin
close;
end;
procedure Tf_RealtyA121.N13Click(Sender: TObject);
Var
query:TADOQuery;
s,s1,s2,s3,s4:String;
i:integer;
begin
if edit1.Text='' then
begin
showmessage('编号不能为空');
edit1.SetFocus;
exit;
end;
if edit2.Text='' then
begin
showmessage('名称不能为空');
edit2.SetFocus;
exit;
end;
if edit3.Text='' then
begin
showmessage('管理区不能为空');
edit3.SetFocus;
exit;
end;
if edit4.Text='' then edit4.Text:='0';
if edit5.Text='' then edit5.Text:='0';
if edit9.Text='' then edit9.Text:='-';
if edit10.Text='' then edit10.Text:='-';
if edit11.Text='' then edit11.Text:='-';
if edit12.Text='' then edit12.Text:='-';
edit13.Text:=mainform.StdDou2(edit13.Text);
edit14.Text:=mainform.StdDou2(edit14.Text);
edit15.Text:=mainform.StdDou2(edit15.Text);
if edit16.Text='' then edit16.Text:='-';
if edit17.Text='' then edit17.Text:='-';
query:=TADOQuery.Create(nil);
query.Connection:=DataModuleADO.ADOConnection1;
if f_RealtyA12.bMod then
begin
s:='update 楼宇 set 编号='''+edit1.Text;
s:=s+''',名称='''+edit2.Text;
s:=s+''',管理区='''+s1;
s:=s+''',层数='+edit4.Text;
s:=s+',楼高='+edit5.Text;
s:=s+',朝向='''+edit9.Text;
s:=s+''',开发商='''+edit10.text;
s:=s+''',承建商='''+edit11.Text;
s:=s+''',楼宇类型='''+edit12.Text;
s:=s+''',建筑面积='+edit13.Text;
s:=s+',使用面积='+edit14.Text;
s:=s+',绿化面积='+edit15.Text;
s:=s+',竣工日期='''+datetostr(edit6.date);
s:=s+''',入伙日期='''+datetostr(edit7.date);
s:=s+''',开工日期='''+datetostr(edit8.date);
s:=s+''',楼宇结构='''+edit16.Text;
s:=s+''',楼宇用途='''+edit17.Text;
s:=s+''',管理处='''+s2;
s:=s+''' where 编号='''+f_RealtyA12.ListView1.Selected.Caption+'''';
query.SQL.Clear;
query.sql.Add(s);
DataModuleADO.ADOConnection1.BeginTrans;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
f_RealtyA12.ListView1.Selected.Caption:=edit1.Text;
end
else
begin
s:='select * from 楼宇 ';
query.SQL.Add(s);
query.Open;
while not query.Eof do
begin
if query.FieldByName('编号').Value=edit1.Text then
begin
showmessage('编号重复!,请重新输入!');
edit1.SetFocus;
exit;
end;
if query.FieldByName('名称').Value=edit2.Text then
begin
showmessage('名称重复!,请重新输入!');
edit2.SetFocus;
exit;
end;
query.Next;
end;
s:='insert into 楼宇(编号,名称,管理区,层数,楼高,';
s:=s+'朝向,开发商,承建商,楼宇类型,建筑面积,';
s:=s+'使用面积,绿化面积,竣工日期,入伙日期,开工日期,';
s:=s+'楼宇结构,楼宇用途,管理处)';
s:=s+' Values(:s1,:s2,:s3,:s4,:s5,';
s:=s+':s6,:s7,:s8,:s9,:s10,';
s:=s+':s11,:s12,:s13,:s14,:s15,';
s:=s+':s16,:s17,:s18)';
query.SQL.Clear;
query.SQL.Add(s);
query.Parameters.ParamByName('s1').Value:=edit1.Text;
query.Parameters.ParamByName('s2').Value:=edit2.Text;
query.Parameters.ParamByName('s3').Value:=edit3.Text;
query.Parameters.ParamByName('s4').Value:=strtofloat(edit4.Text);
query.Parameters.ParamByName('s5').Value:=strtofloat(edit5.Text);
query.Parameters.ParamByName('s6').Value:=edit9.Text;
query.Parameters.ParamByName('s7').Value:=edit10.Text;
query.Parameters.ParamByName('s8').Value:=edit11.Text;(edit8.date);
query.Parameters.ParamByName('s9').Value:=edit12.Text;
query.Parameters.ParamByName('s10').Value:=strtofloat(edit13.Text);
query.Parameters.ParamByName('s11').Value:=strtofloat(edit14.Text);
query.Parameters.ParamByName('s12').Value:=strtofloat(edit15.Text);
query.Parameters.ParamByName('s13').Value:=datetostr(edit6.date);
query.Parameters.ParamByName('s14').Value:=datetostr(edit7.date);
query.Parameters.ParamByName('s15').Value:=datetostr(edit7.date);
query.Parameters.ParamByName('s16').Value:=edit16.Text;
query.Parameters.ParamByName('s17').Value:=edit17.Text;
query.Parameters.ParamByName('s18').Value:=s2;
DataModuleADO.ADOConnection1.BeginTrans;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
f_RealtyA12.ListView1.Selected.Caption:=edit1.text;
GetId;
Edit2.Text := '';
Edit3.Text := '';
Edit4.Text := '';
Edit5.Text := '';
Edit6.date := date;
Edit7.date := date;
Edit8.date := date;
Edit9.Text := '';
Edit10.Text := '';
Edit11.Text := '';
Edit12.Text := '';
Edit13.Text := '';
Edit14.Text := '';
Edit15.Text := '';
Edit16.Text := '';
Edit17.Text := '';
end;
if f_RealtyA12.bMod then
begin
query.sql.clear;
query.sql.add('select * from 楼宇 where 编号='''+f_RealtyA12.ListView1.Selected.Caption+'''');
query.Open;
if query.RecordCount>0 then
begin
with f_RealtyA12.ListView1.Selected do
begin
s3:=mainform.getName('管理区',Query.FieldByName('管理区').Value);
Caption:=query.fieldbyname('编号').Value;
SubItems[0]:=query.fieldbyname('名称').Value;
SubItems[1]:=Query.FieldByName('管理处').Value;
SubItems[2]:=Query.FieldByName('管理区').Value;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -