⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unitedit.pas

📁 delphi做的名片管理软件
💻 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 + -