📄 unitedit.pas
字号:
unit UnitEdit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ImgList, Menus;
type
TEditFrm = class(TForm)
Button1: TButton;
ImageList1: TImageList;
TreeView1: TTreeView;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure TreeView1DblClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure AddNode(Atreenode:TTreenode;AID:string);
function AllOverTreeView(node:TTreenode):TTreenode;
function getCaption(StrID:string):string;
procedure TreeFill;
procedure getGroup;
end;
var
EditFrm: TEditFrm;
strTag:string='True';
implementation
{$R *.dfm}
uses UnitDataModule, UnitMain,UnitAddInfo;
procedure TEditFrm.AddNode(Atreenode:TTreenode;AID:string);
var
treenode2,treenode3:TTreeNode;
strID,strID1:string;
begin
treenode2:=Atreenode;
strID:=AID;
with DataModule1.ADOQuery3 do
begin
Close;
SQL.Clear;
SQL.add('select ID,PID,Caption from PersonInfo where status=0 and PID='+strID);
Active:=True;
Open;
First;
end;
if DataModule1.ADOQuery3.RecordCount>0 then
begin
strTag:='True';
while not DataModule1.ADOQuery3.Eof do
begin
strID1:=DataModule1.ADOQuery3.FieldByName('ID').AsString;
treenode3:=TreeView1.Items.AddChild(treenode2,DataModule1.ADOQuery3.fieldByName('Caption').AsString);
treenode3.OverlayIndex:=StrToInt(strID1);
treenode3.ImageIndex:=0;
treenode3.SelectedIndex:=1;
DataModule1.ADOQuery3.Next;
end;
end;
end;
function TEditFrm.AllOverTreeView(node:TTreenode):TTreenode;
var strID:string;
begin
while node<>nil do
begin
if node.HasChildren then
begin
node:=node.getFirstChild;
allovertreeview(node);
node:=node.Parent;
end else
begin
strID:=IntToStr(node.OverlayIndex);
AddNode(node,strID);
end;
if node.getNextSibling<>nil then
node:=node.getNextSibling
else
exit;
end;
end;
procedure TEditFrm.TreeFill;
var
treenode1:TTreeNode;
begin
self.TreeView1.Items.Clear;
treenode1:=self.TreeView1.Items.Add(nil,'我的分组');
treenode1.OverlayIndex:=treenode1.Index;
self.TreeView1.Images:=self.ImageList1;
self.TreeView1.Items.Item[0].ImageIndex:=0;
treenode1.ImageIndex:=0;
treenode1.SelectedIndex:=1;
AddNode(treenode1,'0');
while strTag='True' do
begin
strTag:='False';
AllOverTreeView(TreeView1.Items.GetFirstNode);
end;
end;
procedure TEditFrm.Button1Click(Sender: TObject);
begin
if Edit2.Text='' then
if MessageBox(handle, PChar('你没有选择分组,您要重新选择吗?'),
'提示', MB_ICONQUESTION + MB_YESNO) = IDYES then
exit;
if AddInfoFrm=nil then
begin
MainFrm.Edit1.Text:=self.Edit2.Text;
MainFrm.DBEdit21.DataSource.Edit;
MainFrm.DBEdit21.EditText:=EditFrm.Edit1.Text;
end else
begin
AddInfoFrm.Edit21.Text:=self.Edit2.Text ;
AddInfoFrm.Edit7.Text:=self.Edit1.Text ;
end;
self.Close;
end;
function TEditFrm.getCaption(StrID:string):string;
begin
Result:='';
with DataModule1.ADOQuery3 do
begin
Close;
SQL.Clear;
SQL.add('select ID,PID,Caption from PersonInfo where status=0 and ID='+strID);
Active:=True;
Open;
First;
end;
if DataModule1.ADOQuery3.RecordCount>0 then
begin
Result:=DataModule1.ADOQuery3.fieldByName('Caption').AsString;
end;
end;
procedure TEditFrm.Button3Click(Sender: TObject);
begin
showmessage(IntToStr(TreeView1.Selected.OverlayIndex));
end;
procedure TEditFrm.Button4Click(Sender: TObject);
begin
showmessage(Edit2.Text+IntToStr(TreeView1.Selected.Index));
end;
procedure TEditFrm.getGroup;
begin
if TreeView1.Selected.IsFirstNode then
begin
Edit1.Text:='0';
Edit2.Text:='我的分组';
exit;
end else
begin
Edit1.Text:=IntToStr(TreeView1.Selected.OverlayIndex);
Edit2.Text:=getCaption(IntToStr(TreeView1.Selected.OverlayIndex));
end;
end;
procedure TEditFrm.TreeView1DblClick(Sender: TObject);
begin
getGroup;
end;
procedure TEditFrm.N1Click(Sender: TObject);
begin
if AddInfoFrm=nil then
begin
MainFrm.Edit1.Text:=self.Edit2.Text;
MainFrm.DBEdit21.DataSource.Edit;
MainFrm.DBEdit21.EditText:=EditFrm.Edit1.Text;
end else
begin
AddInfoFrm.Edit21.Text:=self.Edit2.Text ;
AddInfoFrm.Edit7.Text:=self.Edit1.Text ;
end;
end;
procedure TEditFrm.N2Click(Sender: TObject);
begin
self.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -