📄 realtyl26a.pas
字号:
unit RealtyL26A;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dbcgrids, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls,
StrUtils, ExtDlgs, ComCtrls, math;
type
Tf_RealtyL26A = class(TForm)
Button6: TButton;
Button2: TButton;
Label1: TLabel;
L1: TLabel;
L2: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit8: TEdit;
edit7: TComboBox;
procedure FormCreate(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button6Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
bOK:bool;
sParent:string;
end;
var
f_RealtyL26A: Tf_RealtyL26A;
implementation
uses data, main, RealtyL26;
{$R *.dfm}
//初始化
procedure Tf_RealtyL26A.FormCreate(Sender: TObject);
var
i:integer;
s:string;
query:TADOQuery;
begin
query:=TADOQuery.Create(nil);
query.Connection:=datamoduleado.ADOConnection1;
query.SQL.Add('select * from 辅助资料 where 类别='''+'组织机构类别'+'''');
query.Open;
while not query.Eof do
begin
edit7.Items.Add(query.fieldbyname('名称').value);
query.Next;
end;
if f_RealtyL26.TreeView1.selected.Text='所有组织机构' then sParent:='公司'
else sParent:= f_RealtyL26.TreeView1.selected.Text;
if f_RealtyL26.bMod = false then exit;
Edit1.Text:= f_RealtyL26.listview1.selected.caption;
Edit2.Text:= f_RealtyL26.listview1.selected.subitems[0];
Edit3.Text:= f_RealtyL26.listview1.selected.subitems[1];
Edit4.Text:= f_RealtyL26.listview1.selected.subitems[2];
Edit5.Text:= f_RealtyL26.listview1.selected.subitems[3];
Edit6.Text:= f_RealtyL26.listview1.selected.subitems[4];
Edit7.ItemIndex:=Edit7.Items.IndexOf(f_RealtyL26.listview1.selected.subitems[5]);
Edit8.Text:= f_RealtyL26.listview1.selected.subitems[6];
query.SQL.Clear;
query.SQL.Add('select * from 组织机构 where 编号='''+Edit1.Text+'''');
query.Open;
if query.RecordCount>0 then sParent:= query.fieldbyname('所属机构').value;
query.Close;
query.free;
end;
//Tab
procedure Tf_RealtyL26A.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_RealtyL26A.Button6Click(Sender: TObject);
begin
Close;
end;
procedure Tf_RealtyL26A.Button2Click(Sender: TObject);
var
Query,query1:TADOQuery;
s,s1,s2:string;
i,i1:integer;
tmpNode: TTreeNode;
bIn:bool;
begin
if Edit1.Text='' then
begin
showmessage('请输入编号');
Edit1.SetFocus;
exit;
end;
if Edit2.Text='' then
begin
showmessage('请输入名称');
Edit2.SetFocus;
exit;
end;
if Edit7.Text='' then
begin
showmessage('请输入组织机构类别');
Edit7.SetFocus;
exit;
end;
if Edit3.Text='' then Edit3.Text:='-';
if Edit4.Text='' then Edit4.Text:='-';
if Edit5.Text='' then Edit5.Text:='-';
if Edit6.Text='' then Edit6.Text:='-';
if Edit8.Text='' then Edit8.Text:='-';
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
Query1:=TADOQuery.Create(nil);
Query1.Connection:=DataModuleADO.ADOConnection1;
//新增
if f_RealtyL26.bMod=false then
begin
Query.SQL.Add('select * from 组织机构 where 编号='''+Edit1.Text+'''');
Query.Open ;
if query.RecordCount>0 then
begin
showmessage('编号重复');
Edit1.SetFocus;
query.close;
query.free;
exit;
end;
query.SQL.Clear ;
Query.SQL.Add('select * from 组织机构 where 名称='''+Edit2.Text+'''');
Query.Open ;
if query.RecordCount>0 then
begin
showmessage('名称重复');
Edit2.SetFocus;
query.close;
query.free;
exit;
end;
s:=sParent;
if s='公司' then s:='所有组织机构';
for i:=0 to f_RealtyL26.TreeView1.Items.Count-1 do
begin
if f_RealtyL26.TreeView1.Items[i].Text = s then
begin
tmpNode:=f_RealtyL26.treeview1.Items[i];
f_RealtyL26.treeview1.Items.AddChild(tmpNode, Edit2.text);
break;
end;
end;
//stampt,level1
query.SQL.Clear ;
Query.SQL.Add('select * from 组织机构 where 名称='''+sParent+'''');
Query.Open ;
if query.RecordCount>0 then
begin
s1:=Query.FieldByName('stampt').Value;
i:=Query.FieldByName('level1').AsInteger;
s2:=Query.FieldByName('名称').Value;
query.SQL.Clear ;
Query.SQL.Add('select top 1 * from 组织机构 where 所属机构 ='''+s2+''' order by stampt desc');
Query.Open ;
if query.RecordCount = 0 then s1:=s1+'001'
else
begin
i1:=1+(3*i);
s2:=Copy(Query.FieldByName('stampt').Value, i1, 3);
i1:=strtoint(s2)+1;
if i1<10 then s1 := s1 + '00'+inttostr(i1)
else if (i1 > 9) and (i1<100) then s1 := s1 + '0'+inttostr(i1)
else if i1>99 then s1:= inttostr(i1);
end;
inc(i);
end
else
begin
query.SQL.Clear ;
Query.SQL.Add('select top 1 * from 组织机构 where 所属机构 ='''+sParent+''' order by stampt desc');
Query.Open ;
if query.RecordCount = 0 then
begin
s1:=s1+'001';
end
else
begin
s2:=Query.FieldByName('stampt').Value;
i1:=strtoint(s2)+1;
if i1<10 then s1 := s1 + '00'+inttostr(i1)
else if (i1 > 9) and (i1<100) then s1 := s1 + '0'+inttostr(i1)
else if i1>99 then s1:= inttostr(i1);
end;
i:=1;
end;
s := 'insert into 组织机构(编号,名称,邮编,地址,电话,传真,组织机构类别,说明,';
s := s+'所属机构,stampt,level1,使用) values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11,:s12)';
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:=Edit4.Text;
query.Parameters.ParamByName('s5').Value:=Edit5.Text;
query.Parameters.ParamByName('s6').Value:=Edit6.Text;
query.Parameters.ParamByName('s7').Value:=Edit7.Text;
query.Parameters.ParamByName('s8').Value:=Edit8.Text;
query.Parameters.ParamByName('s9').Value:=sParent;
query.Parameters.ParamByName('s10').Value:=s1;
query.Parameters.ParamByName('s11').Value:=i;
query.Parameters.ParamByName('s12').Value:='N';
DataModuleADO.ADOConnection1.BeginTrans;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
query.Close ;
query.Free ;
with f_RealtyL26.listview1.Items.Add do
begin
Caption:=Edit1.Text;
SubItems.Add(Edit2.Text);
SubItems.Add(Edit3.Text);
SubItems.Add(Edit4.Text);
SubItems.Add(Edit5.Text);
SubItems.Add(Edit6.Text);
SubItems.Add(Edit7.Text);
SubItems.Add(Edit8.Text);
end;
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Edit6.Text:='';
Edit7.ItemIndex:=Edit7.Items.IndexOf('');
Edit8.Text:='';
Edit1.SetFocus;
end;
if f_RealtyL26.bMod=true then
begin
if Edit1.Text<>f_RealtyL26.listview1.selected.Caption then
begin
query.SQL.Clear ;
Query.SQL.Add('select * from 组织机构 where 编号='''+Edit1.Text+'''');
Query.Open ;
if query.RecordCount>0 then
begin
showmessage('编号重复');
Edit1.SetFocus;
query.close;
query.free;
exit;
end;
end;
if Edit2.Text<>f_RealtyL26.listview1.selected.subitems[0] then
begin
query.SQL.Clear ;
Query.SQL.Add('select * from 组织机构 where 名称='''+Edit2.Text+'''');
Query.Open ;
if query.RecordCount>0 then
begin
showmessage('名称重复');
Edit2.SetFocus;
query.close;
query.free;
exit;
end;
end;
s:='update 组织机构 set 编号='''+Edit1.Text;
s:=s+''',名称='''+Edit2.Text;
s:=s+''',邮编='''+Edit3.Text;
s:=s+''',地址='''+Edit4.Text;
s:=s+''',电话='''+Edit5.Text;
s:=s+''',传真='''+sParent;
s:=s+''',组织机构类别='''+Edit7.Text;
s:=s+''',说明='''+Edit8.Text;
s:=s+''' where 名称='''+f_RealtyL26.listview1.selected.subitems[0]+'''';
DataModuleADO.ADOConnection1.BeginTrans;
query1.sql.Clear ;
Query1.SQL.Text:=s;
query1.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
query.SQL.Clear ;
Query.SQL.Add('select * from 组织机构 where 所属机构 ='''+sParent+'''');
Query.Open ;
while not query.Eof do
begin
DataModuleADO.ADOConnection1.BeginTrans;
query1.sql.Clear ;
Query1.SQL.Text:='update 组织机构 set 所属机构='''+Edit2.Text+''' where 所属机构='''+f_RealtyL26.listview1.selected.subitems[0]+'''';
query1.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
query.Next;
end;
query.Close ;
query.Free ;
query1.Close ;
query1.Free ;
for i:=0 to f_RealtyL26.TreeView1.Items.Count-1 do
begin
if f_RealtyL26.TreeView1.Items[i].Text = f_RealtyL26.ListView1.Selected.SubItems[0] then
begin
f_RealtyL26.TreeView1.Items[i].Text:=Edit2.text;
break;
end;
end;
f_RealtyL26.ListView1.Selected.Caption:=Edit1.Text;
f_RealtyL26.ListView1.Selected.SubItems[0]:=Edit2.Text;
f_RealtyL26.ListView1.Selected.SubItems[1]:=Edit3.Text;
f_RealtyL26.ListView1.Selected.SubItems[2]:=Edit4.Text;
f_RealtyL26.ListView1.Selected.SubItems[3]:=Edit5.Text;
f_RealtyL26.ListView1.Selected.SubItems[4]:=Edit6.Text;
f_RealtyL26.ListView1.Selected.SubItems[5]:=Edit7.Text;
f_RealtyL26.ListView1.Selected.SubItems[6]:=Edit8.Text;
close;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -