哪位高手能帮小弟我解释下这段Treeview的代码,给高分

谁能帮我解释下这段Treeview的代码,给高分
谁能帮我解释下这段Treeview的代码,特别是我打问号的几句,定给高分  
树的结构和表中的字段如下:
公司机构【总人数】
-   一级部门department.dep
    -   二级部门department.sdep
          -   员工employee.name
department表和employee表是靠dep_id字段关联的,
employee表与experience、train、behave表都是靠num字段关联的。
相关代码如下:
private
        {   Private   declarations   }
        FNum:   string;
        Fdep_id:   string;
        procedure   RefreshTreeView;
public
        {   Public   declarations   }
    end;
    PIndexRecord   =   ^TIndexRecord;    
    TIndexRecord   =   packed   record      
        num:   string;
        Dep_id:   string;
        Code:   TTreeNode;     ??
        Next:   PIndexRecord;     ??
    end;
var
    EmpForm:   TEmpForm;
    Temp:   PIndexRecord;     ??
    Flag:   Boolean;       ??

implementation

uses   UnitDM;

{$R   *.dfm}

var
    FirstPointer,   LastPointer,   First,   Last:   PIndexRecord;
    aqEmployee,ADQ2,   ADQ3,ADQ4:   TADOQuery;
procedure   TEmpForm.RefreshTreeView;
var
    Node0:   TTreeNode;
    Node1,   Node2:   array   of   TTreeNode;
    i,Index1,   Index2:   Integer;
    Temp,   Temp1:   PIndexRecord;
begin
    dm.OpenInfo;  
    TreeView1.Items.Clear;
    ADQ1:=   TADOQUery.Create(nil);
    ADQ2:=   TADOQuery.Create(nil);
    ADQ3:=   TADOQuery.Create(nil);
    ADQ4:=   TADOQuery.Create(nil);
    aqEmployee:=TADOQuery.Create(nil);
    Index1:=   0;
    ADQ1.Connection:=   DM.ADOConnection1;
    ADQ2.Connection:=   DM.ADOConnection1;
    ADQ3.Connection:=   DM.ADOConnection1;
    ADQ4.Connection:=   DM.ADOConnection1;
    aqEmployee.Connection:=DM.ADOConnection1;

    FillData;

    aqEmployee.Close;
    aqEmployee.SQL.Clear;
    aqEmployee.SQL.Add( 'select   *   from   employee ');
    aqEmployee.Open;


    DM.aqEmp.Close;
    DM.aqEmp.SQL.Clear;
    DM.aqEmp.SQL.Add( 'select   *   from   employee ');
    DM.aqEmp.Open;

    Temp:=   New(PIndexRecord);
    Temp1:=   New(PIndexRecord);

    FirstPointer:=   Temp;
    First:=   Temp1;

    ADQ1.Close;
    ADQ1.SQL.Clear;
    ADQ1.SQL.text:= 'Select   dep_id,dep   From   department   where   dep_id   in   '   +   #13#10   +
                              '(select   Min(dep_id)   from   department   group   by   dep)   '   +   #13#10   +