📄 zhtc.pas
字号:
unit zhtc;
interface
uses
//Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
//Dialogs, ComCtrls, StdCtrls, Buttons, DB, ADODB;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Buttons, ComCtrls, StdCtrls, ActnList, MConnect,
ObjBrkr, Grids, DBGrids, jpeg, ExtCtrls, ImgList;
type
TForm3 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
TreeView1: TTreeView;
SpeedButton2: TSpeedButton;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
ADODataSet2: TADODataSet;
DataSource2: TDataSource;
DataSource3: TDataSource;
ADODataSet3: TADODataSet;
ADODataSet4: TADODataSet;
DataSource4: TDataSource;
ADODataSet5: TADODataSet;
DataSource5: TDataSource;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Image6: TImage;
Image7: TImage;
ImageList1: TImageList;
procedure FormShow(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image2Click(Sender: TObject);
procedure Image6Click(Sender: TObject);
procedure Image4Click(Sender: TObject);
procedure Image3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image4MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image5MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image6MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image7MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
edit:string;
implementation
{$R *.dfm}
procedure TForm3.FormShow(Sender: TObject);
var
i,j,k,d,f:integer;
catnode1,catnode2,catnode3,catnode4,catnode5:ttreenode;
begin//(1-1)
adodataset1.Active:=false;
adodataset1.CommandText:='select distinct name1 from zhutc order by name1 desc';
adodataset1.Active:=true;
adodataset5.Active:=false;
adodataset5.Active:=true;
adodataset1.First;
catnode1:=treeview1.Items.GetFirstNode;
treeview1.Selected:=catnode1;
treeview1.Selected.Delete;
treeview1.Items.AddFirst(nil,'根');
for i:=0 to adodataset1.RecordCount-1 do //在treeview 中显示主题结构
begin //(1-2)
if (trim(adodataset1.FieldValues['name1'])<>NULL)and (trim(adodataset1.FieldValues['name1'])<>'') then
begin //(1-3)
catnode1:=treeview1.Items.GetFirstNode; // 添加第一个字段
treeview1.Items.AddChildFirst(catnode1,adodataset1.FieldValues['name1']);
adodataset2.Filter:='name1='''+adodataset1.FieldValues['name1']+'''';
adodataset2.Filtered:=true;
adodataset2.First;
if adodataset2.RecordCount<>0 then
begin//(2-1) //添加第二个字段
for j:=0 to adodataset2.RecordCount-1 do
begin//(2-2)
if (adodataset2.FieldValues['name2']<>NULL) and (trim(adodataset2.FieldValues['name2'])<>'') then
begin//(2-3)
catnode2:=catnode1.GetNext;
treeview1.Items.AddChildFirst(catnode2,adodataset2.FieldValues['name2']);
adodataset3.Filter:='name1='''+adodataset2.FieldValues['name1']+'''and name2='''+adodataset2.FieldValues['name2']+'''';
adodataset3.Filtered:=true;
adodataset3.First;
if adodataset3.RecordCount<>0 then
begin//(3-1) //添加第三个字段
for k:=0 to adodataset3.RecordCount-1 do
begin//(3-2)
if (adodataset3.FieldValues['name3']<>NULL) and (trim(adodataset3.FieldValues['name3'])<>'') then
begin//(3-3)
catnode3:=catnode2.GetNext;
treeview1.Items.AddChildFirst(catnode3,adodataset3.FieldValues['name3']);
adodataset4.Filter:='name1='''+adodataset3.FieldValues['name1']+'''and name2='''+adodataset3.FieldValues['name2']+'''and name3='''+adodataset3.FieldValues['name3']+'''';
adodataset4.Filtered:=true;
adodataset4.First;
if adodataset4.RecordCount<>0 then
begin//(4-1)
for d:=0 to adodataset4.RecordCount-1 do
begin//(4-2)
if (adodataset4.FieldValues['name4']<>NULL) and (trim(adodataset4.FieldValues['name4'])<>'') then
begin//(4-3)
catnode4:=catnode3.GetNext;
treeview1.Items.AddChildFirst(catnode4,adodataset4.FieldValues['name4']);
adodataset5.Filter:='name1='''+adodataset4.FieldValues['name1']+'''and name2='''+adodataset4.FieldValues['name2']+'''and name3='''+adodataset4.FieldValues['name3']+'''and name4='''+adodataset4.FieldValues['name4']+'''';
adodataset5.Filtered:=true;
adodataset5.First;
if adodataset5.RecordCount<>0 then
begin//(5-1)
for f:=0 to adodataset5.RecordCount-1 do
begin//(5-2)
if (adodataset5.FieldValues['name5']<>NULL) and (trim(adodataset5.FieldValues['name5'])<>'') then
begin//(5-3)
catnode5:=catnode4.GetNext;
treeview1.Items.AddChildFirst(catnode5,adodataset5.FieldValues['name5']);
end;//(5-3)
adodataset5.Next;
end;//(5-2)
end;//(5-1)
end;//(4-3)
adodataset4.Next;
end;//(4-2)
end;//(4-1)
end;//(3-3)
adodataset3.Next;
end;//(3-2)
end;//(3-1)
end;//(2-3)
adodataset2.Next;
end;//(2-2)
end;//(2-1)
end;//(1-3)
adodataset1.Next;
end;//(1-2)
end;//(1-1)
procedure TForm3.TreeView1Click(Sender: TObject);
var
s1,s2,s3,s4,s5,s6:string;
begin
begin
edit1.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit2.Text:=treeview1.Selected.Text;
edit:=edit2.Text;
try //1
s1:=treeview1.Selected.Parent.Text;
except
edit1.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit3.Text:=treeview1.Selected.Text;
exit;
end;
try //2
s2:=treeview1.Selected.Parent.Parent.Text;
except
edit1.Text:='';
edit3.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit4.Text:=treeview1.Selected.Text;
exit;
end;
try //3
s3:=treeview1.Selected.Parent.Parent.Parent.Text;
except
edit1.Text:='';
edit3.Text:='';
edit4.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit5.Text:=treeview1.Selected.Text;
exit;
end;
try //4
s4:=treeview1.Selected.Parent.Parent.Parent.Parent.Text;
except
edit1.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit7.Text:='';
edit8.Text:='';
edit6.Text:=treeview1.Selected.Text;
exit;
end;
try //5
s5:=treeview1.Selected.Parent.Parent.Parent.Parent.Parent.Text;
except
edit1.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit8.Text:='';
edit7.Text:=treeview1.Selected.Text;
exit;
end;
try //6
s6:=treeview1.Selected.Parent.Parent.Parent.Parent.Parent.Parent.Text;
except
edit1.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:=treeview1.Selected.Text;
exit;
end;
end;
end;
procedure TForm3.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
edit2.Text:='';
end;
procedure TForm3.Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
image4.Visible:=false;
image5.Visible:=true;
end;
procedure TForm3.Image2Click(Sender: TObject);
var //对树状结构进行删除操作
i,j,k,h,t,q,w,e,r:integer;
begin//(1-1)
if (trim(edit2.Text)='') and (trim(edit1.Text)='') then
begin
showmessage('请选择要删除的主题词!');
exit;
end;
if messagedlg('数据删除不可恢复是否要删除数据?',mtwarning,[mbyes,mbno],1)=mryes then
begin
if trim(edit8.Text)<>'' then //5
begin
adodataset1.Active:=false;
adodataset1.CommandText:='select * from total where zhutc like '+''''+treeview1.Selected.Parent.Parent.Parent.Parent.Text+treeview1.Selected.Parent.Parent.Parent.Text+treeview1.Selected.Parent.Parent.Text+treeview1.Selected.Parent.Text+edit8.text+'%'+'''';
adodataset1.Active:=true;
adodataset1.First;
for i:=0 to adodataset1.RecordCount-1 do
begin
deletefile(adodataset1.Fields[4].AsString); //按指定的文件路径删除文件
//删除主数据库
adodataset1.Edit;
adodataset1.Delete;
adodataset1.Next;
end;
//删除空目录
removedir(getcurrentdir+'\'+treeview1.Selected.Parent.Parent.Parent.Parent.Text+'\'+treeview1.Selected.Parent.Parent.Parent.Text+'\'+treeview1.Selected.Parent.Parent.Text+'\'+treeview1.Selected.Parent.Text+'\'+edit8.Text);
adodataset5.Filter:='name1='''+treeview1.Selected.Parent.Parent.Parent.Parent.Text+'''and name2='''+treeview1.Selected.Parent.Parent.Parent.Text+'''and name3='''+treeview1.Selected.Parent.Parent.Text+'''and name4='''+treeview1.Selected.Parent.Text+'''and name5='''+edit8.Text+'''';
adodataset5.Filtered:=true;
adodataset5.First;
for r:=0 to adodataset5.RecordCount-1 do
begin
adodataset5.Edit;
adodataset5.Delete;
adodataset5.Next;
end;
end;
if trim(edit7.Text)<>'' then //4
begin
adodataset1.Active:=false;
adodataset1.CommandText:='select * from total where zhutc like '+''''+treeview1.Selected.Parent.Parent.Parent.Text+treeview1.Selected.Parent.Parent.Text+treeview1.Selected.Parent.Text+edit7.text+'%'+'''';
adodataset1.Active:=true;
adodataset1.First;
for j:=0 to adodataset1.RecordCount-1 do
begin
deletefile(adodataset1.Fields[4].AsString); //按指定的文件路径删除文件
//删除数据库
adodataset1.Edit; //(总表)
adodataset1.Delete;
adodataset1.Next;
end;
removedir(getcurrentdir+'\'+treeview1.Selected.Parent.Parent.Parent.Text+'\'+treeview1.Selected.Parent.Parent.Text+'\'+treeview1.Selected.Parent.Text+'\'+edit7.Text); //删除空目录
adodataset5.Filter:='name1='''+treeview1.Selected.Parent.Parent.Parent.Text+'''and name2='''+treeview1.Selected.Parent.Parent.Text+'''and name3='''+treeview1.Selected.Parent.Text+'''and name4='''+edit7.Text+'''';
adodataset5.Filtered:=true;
adodataset5.First;
for r:=0 to adodataset5.RecordCount-1 do
begin
adodataset5.Edit;
adodataset5.Delete;
adodataset5.Next;
end;
end;
if trim(edit6.Text)<>'' then //3
begin
adodataset1.Active:=false;
adodataset1.CommandText:='select * from total where zhutc like '+''''+treeview1.Selected.Parent.Parent.Text+treeview1.Selected.Parent.Text+edit6.text+'%'+'''';
adodataset1.Active:=true;
adodataset1.First;
for h:=0 to adodataset1.RecordCount-1 do
begin
deletefile(adodataset1.Fields[4].AsString); //按指定的文件路径删除文件
//删除数据库
adodataset1.Edit;
adodataset1.Delete;
adodataset1.Next;
end; //删除空目录
removedir(getcurrentdir+'\'+treeview1.Selected.Parent.Parent.Text+'\'+treeview1.Selected.Parent.Text+'\'+edit6.Text);
adodataset5.Active:=false; //删除当前数据库
adodataset5.Active:=true;
adodataset5.Filter:='name1='''+treeview1.Selected.Parent.Parent.Text+'''and name2='''+treeview1.Selected.Parent.Text+'''and name3='''+edit6.Text+'''';
adodataset5.Filtered:=true;
adodataset5.First;
for e:=0 to adodataset5.RecordCount-1 do
begin
adodataset5.Edit;
adodataset5.Delete;
adodataset5.Next;
end;
end;
if trim(edit5.Text)<>'' then //2
begin
adodataset1.Active:=false;
adodataset1.CommandText:='select * from total where zhutc like '+''''+treeview1.Selected.Parent.Text+edit5.text+'%'+'''';
adodataset1.Active:=true;
adodataset1.First;
for k:=0 to adodataset1.RecordCount-1 do
begin
deletefile(adodataset1.Fields[4].AsString); //按指定的文件路径删除文件
//删除数据库
adodataset1.Edit;
adodataset1.Delete;
adodataset1.Next;
end;
removedir(getcurrentdir+'\'+treeview1.Selected.Parent.Text+'\'+edit5.Text);
adodataset5.Active:=false; //删除当前数据库
adodataset5.Active:=true;
adodataset5.Filter:='name1='''+treeview1.Selected.Parent.Text+'''and name2='''+edit5.Text+'''';
adodataset5.Filtered:=true;
adodataset5.First;
for w:=0 to adodataset5.RecordCount-1 do
begin
adodataset5.Edit;
adodataset5.Delete;
adodataset5.Next;
end;
end;
if trim(edit4.Text)<>'' then //1
begin
adodataset1.Active:=false;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -