📄 jzsz_p.pas
字号:
unit jzsz_p;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, hwkdbtree, Buttons, StdCtrls, DB, DBClient, ExtCtrls;
type
Tf_zjsz = class(TForm)
tv: Thwkdbtree;
Panel1: TPanel;
bt1: TSpeedButton;
bt2: TSpeedButton;
bt3: TSpeedButton;
bt4: TSpeedButton;
bt5: TSpeedButton;
bt6: TSpeedButton;
Panel2: TPanel;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
cds: TClientDataSet;
procedure readdata;
procedure enedit;
procedure unedit;
procedure bt6Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure bt1Click(Sender: TObject);
procedure bt4Click(Sender: TObject);
procedure bt2Click(Sender: TObject);
procedure bt5Click(Sender: TObject);
procedure tvClick(Sender: TObject);
procedure bt3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
sSql:string;
sts:smallint;
vrt:olevariant;
public
{ Public declarations }
end;
var
f_zjsz: Tf_zjsz;
implementation
uses main_p, dm_p;
{$R *.dfm}
procedure Tf_zjsz.readdata;
begin
sSql:='select kcfw,fwmc from k_stfwb where tkbh='+inttostr(f_main.tkbh)+' order by kcfw';
dm.skc.AppServer.getdata(sSql,vrt);
cds.Active:=false;
cds.Data:=vrt;
tv.Active:=true;
cds.Close;
end;
procedure Tf_zjsz.enedit;
begin
bt1.Enabled:=false;
bt2.Enabled:=false;
bt3.Enabled:=false;
bt4.Enabled:=true;
bt5.Enabled:=true;
edit2.ReadOnly:=false;
edit2.SetFocus;
tv.Enabled:=false;
end;
procedure Tf_zjsz.unedit;
begin
bt1.Enabled:=true;
bt2.Enabled:=true;
bt3.Enabled:=true;
bt4.Enabled:=false;
bt5.Enabled:=false;
tv.Enabled:=true;
edit2.ReadOnly:=true;
sts:=0;
end;
procedure Tf_zjsz.bt6Click(Sender: TObject);
begin
close;
end;
procedure Tf_zjsz.FormShow(Sender: TObject);
begin
tv.FillTree(nil,'',f_main.tkmc);
tv.Update;
readdata;
tv.OnClick(self);
end;
procedure Tf_zjsz.bt1Click(Sender: TObject);
begin
//添加新条目
if tv.Selected.Level>=4 then exit;
edit1.text:='';
edit2.Text:='';
sts:=1;
enedit;
end;
procedure Tf_zjsz.bt4Click(Sender: TObject);
var vrt:olevariant;
err:string;
begin
//存盘
if trim(edit2.Text)='' then
begin
application.MessageBox('请输入名称!','提示信息',48);
edit2.SetFocus;
exit;
end;
if sts=1 then
begin
dm.skc.AppServer.addtree(f_main.tkbh,tv.KeyString,trim(edit2.Text),vrt);
if vrt<>-1 then
begin
edit1.Text:=vrt;
tv.FillTree(tv.Selected,vrt,trim(edit2.Text));
tv.OnClick(self);
end
else
begin
err:=vrt;
application.MessageBox(pchar(err),'错误信息',16);
exit;
end;
end
else
begin
if edit2.Modified then
begin
dm.skc.AppServer.ExecSqls('update k_stfwb set fwmc='''+trim(edit2.Text)+''' where tkbh='+inttostr(f_main.tkbh)+' and kcfw='''+tv.KeyString+'''');
tv.Selected.Text:=trim(edit2.Text);
end;
end;
unedit;
end;
procedure Tf_zjsz.bt2Click(Sender: TObject);
begin
//修改
if (tv.Selected.Level=0) or (tv.Selected=nil) then exit;
sts:=2;
enedit;
end;
procedure Tf_zjsz.bt5Click(Sender: TObject);
begin
unedit;
end;
procedure Tf_zjsz.tvClick(Sender: TObject);
begin
if tv.Selected<>nil then
begin
edit1.Text:=tv.KeyString;
edit2.Text:=tv.Selected.Text;
end;
bt1.Enabled:=true;
bt2.Enabled:=true;
bt3.Enabled:=true;
if tv.Selected.Level=0 then
begin
bt1.Enabled:=true;
bt2.Enabled:=false;;
bt3.Enabled:=false;
end;
if tv.Selected.Level=4 then
begin
bt1.Enabled:=false;
end;
end;
procedure Tf_zjsz.bt3Click(Sender: TObject);
var keystr:string;
begin
//删除
if (tv.Selected.Level=0) or (tv.Selected=nil) then exit;
if tv.Selected.HasChildren then
begin
application.MessageBox('有下级科目,不能删除!','错误信息',16);
exit;
end;
if application.MessageBox('确定要删除吗?','提示信息',4+32)<>6 then exit;
keystr:=tv.KeyString;
if tv.deletenode(tv.Selected) then
begin
dm.skc.AppServer.ExecSqls('delete from k_stfwb where tkbh='+inttostr(f_main.tkbh)+' and kcfw='''+keystr+'''');
tv.OnClick(self);
end;
end;
procedure Tf_zjsz.FormClose(Sender: TObject; var Action: TCloseAction);
begin
cds.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -