求:delphi tree连接数据库例子(ACCESS) 邮箱:kongbeibei8@163.com

1.如图delphitree连接数据库例子(ACCESS)怎么实现可再加分2.弄一个窗口,放上一个TreeView和一个Button,分别取名为TV1和Btn1。如果需要... 1.如图 delphi tree连接数据库例子(ACCESS)
怎么实现
可再加分

2.弄一个窗口,放上一个TreeView和一个Button,分别取名为TV1和Btn1。
如果需要 在每个节点前有个图,请在窗口上放上一个ImageList,取名为ImageList1,
双击 它,加入六个图标。
还要记得记得将TV1的Images属性改为ImageList1噢。
双击按 钮Btn1,在里面填入以下代码,然后按F9运行,点击Btn1就可以看到效果了。
procedure TForm1.Btn1Click(Sender: TObject);
Const MyDocDir = 'C:\My Documents';
PersonDir = '3hSoft';
Var
Var I : Word;
SubNodeName : array [1..5] of ShortString;
RootNode, SubNode : TTreeNode;
P : PString;
begin
SubNodeName[1] := '便笺';
SubNodeName[2] := '发件箱';
SubNodeName[3] := '联系人';
SubNodeName[4] := '任务';
SubNodeName[5] := '日记';
TV1.Items.Clear;
TV1.Items.BeginUpdate;
New(P);
P^ := MyDocDir + '\' + PersonDir;
RootNode := TV1.Items.AddObject(Nil, '个人文件夹', P);
// 此 Node 的图标已对 Images 属性中取第 0 个了。
For I := 1 to 5 do begin
New(P);
P^ := MyDocDir + '\' + PersonDir + '\' + SubNodeName;
SubNode := TV1.Items.AddChildObject(RootNode, SubNodeName, P) ;
; // 如果不想使用图标的话请删除以下两行
SubNode.ImageIndex := I;
SubNode.SelectedIndex := I;
end;
TV1.Items.EndUpdate;
end;
刚学,上面怎么连接ACCESS
展开
 我来答
windblast
2011-12-25 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13634
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部
示例:

unit PublicTree;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, ImgList,DB, Menus;

type
TFrameTree = class(TFrame)
tvTree: TTreeView;
ImageList1: TImageList;
procedure tvTreeExpanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
procedure tvTreeChange(Sender: TObject; Node: TTreeNode);
private
PDataSet:TDataSet;
PID,PName,PParentId:TField;
{ Private declarations }
public
procedure TreeInit(DataSet:TDataSet;ID,Name,ParentId:TField);
function TreeAddItem(Parent: TTreeNode;Resort: Boolean): TTreeNode;
procedure TreeDeleteItem(node:TTreeNode);
function TreeFindItem(ID:string): TTreeNode;
{ Public declarations }
end;
implementation

uses PubFun;

{$R *.dfm}

{ TFrameTree }

function TFrameTree.TreeAddItem(Parent: TTreeNode;Resort: Boolean): TTreeNode;
var
ParentNo: string;
node: TTreeNode;
begin
if (parent=nil) or (pos('_',parent.text)<1) then
ParentNo:=''
else
ParentNo:=GetCommaStr(Parent.Text,1,'_');
Pdataset.DisableControls;
Pdataset.First;
while not pdataset.Eof do
begin
if PParentId.AsString= ParentNo then
begin
node:=tvTree.Items.AddChild(parent,pid.asstring+'_'+pname.asstring);
node.HasChildren:=true;
node.ImageIndex:=0;
node.SelectedIndex:=1;
end;
pdataset.Next;
end;
Pdataset.EnableControls;
if Resort and (parent<>nil) then parent.alphasort;
if(Parent<>nil)and(Parent.Count<=0)then Parent.HasChildren:=false;
if tvTree.Selected=nil then
begin
node:=treefinditem(pid.AsString);
tvTree.Selected:=node;
end
else
Pdataset.Locate(pid.FieldName,GetCommaStr(tvTree.Selected.text,1,'_'),[]);
end;

procedure TFrameTree.TreeInit(DataSet:TDataSet;ID,Name,ParentId:TField);

begin
PDataset:=Dataset;
PID:=ID;
PName:=name;
PParentID:=parentID;
end;

procedure TFrameTree.tvTreeExpanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
begin
if node.Count<=0 then
treeadditem(node,true);
end;

procedure TFrameTree.tvTreeChange(Sender: TObject; Node: TTreeNode);
begin
if pdataset.State in [dsInsert,dsEdit] then pDataset.Post;
if node<>nil then
if pos('_',node.Text)>0 then
if not Pdataset.Locate(PID.FieldName,GetCommaStr(node.text,1,'_'),[]) then
raise exception.Create('记录未找到!');

end;

procedure TFrameTree.TreeDeleteItem(node: TTreeNode);
begin
tvTree.Items.Delete(node);
end;

function TFrameTree.TreeFindItem(ID:string): TTreeNode;
var
node:TTreeNode;
begin
Node:= tvTree.Items.GetFirstNode;
if (Node<> nil) and (GetCommaStr(Node.text,1,'_') <> ID) then
repeat
Node := Node.GetNext;
until (Node = nil) or (GetCommaStr(Node.text,1,'_')= ID);
Result := Node;
end;

end.

调用生成
cdsTree.Open;

FrameTree1.TreeInit(cdsTree,cdsTree.FieldByName(CodeField),cdsTree.FieldByName(NameField),cdsTree.FieldByName(ParentField));
node:=FrameTree1.tvTree.Items.Add(nil,TopText);
node.HasChildren:=true;
node.Expand(false);
追问
这代码网上多的很

如题怎么实现????
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xvxvnmnm
2012-01-01 · TA获得超过223个赞
知道小有建树答主
回答量:189
采纳率:100%
帮助的人:109万
展开全部
建立一个ADOQUERY,用mrcrosoft jet 4.0 OLE DB Provider连接上ACCES
var
Form1: TForm1;
node, node1,node2: ttreenode;
implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
node1:=tv1.Items.add(node,'个人文件夹) ;//父节点开始

adoquery1 .Close; //节点开始
adoquery1 .SQL.Clear;
adoquery1 .SQL.Add('select * from table1 ');
adoquery1 .Open;

adoquery1 .First ;
while not adoquery1 .Eof do
begin
//添加子节点
node2:= tv1.Items.addChildFirst(node1, adoquery1 .FieldByName('content').AsString) ;

adoquery1 .next;
end;
end;

end.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名_热心网友
2012-01-09 · TA获得超过719个赞
知道大有可为答主
回答量:3827
采纳率:0%
帮助的人:8926万
展开全部
%随机初始化网络参数
bnet2.CPD{C} = tabular_CPD(bnet2, C);
bnet2.CPD{R} = tabular_CPD(bnet2, R);
bnet2.CPD{S} = tabular_CPD(bnet2, S);
bnet2.CPD{W} = tabular_CPD(bnet2, W);

bnet3 = learn_params(bnet2, samples);
CPT3 = cell(1,N);
for i=1:N
s=struct(bnet3.CPD{i}); % violate object privacy
CPT3{i}=s.CPT;
end

for i=1:N
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
921136227
2011-12-25
知道答主
回答量:5
采纳率:0%
帮助的人:8737
展开全部
xvbffc
追问
学会是目的,有份完整的代码,以便研究一下
如题请将完整代码发至邮箱
即可得分
如感觉分不够,可再加300(已经是极限了)
我已经找了N多资料,也并非一点不懂,基础差,自己改的达不到满意度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式