下面就详细的介绍下树的建立过程:
1、在数据库中建立表(本文采用的是SQL SERVER 2000)
CREATE TABLE [dbo].[SORTTREE] (
[NODEINDEX] [numeric](10, 0) IDENTITY (1, 1) NOT NULL ,--节点索引
[NODE] [varchar] (60) COLLATE Chinese_PRC_CI_AS NOT NULL ,--节点值
[PARENTINDEX] [numeric](10, 0) NOT NULL DEFAULT 0--父节点ID
) ON [PRIMARY]
建立完后,在表中存些数据,以便操作,当然也可以不要。PARENTINDEX为0则为父节点。
2、程序中建立结构体,用于存储数据,尤其在对树进行增删,拖拽的时候方便
struct link{
int parentid;
int id;
String sRoot;
link(int i,int j, String sTmp)
{
parentid = i;
id = j;
sRoot = sTmp;
}
};
typedef link * linkIndex;
linkIndex treeIndex;
3、读数据库
添加数据库连接查询控件TADOConnection1 ADOConnection1、TADOQuery Q_tmp和树型控件TV_ResourcesManage
//从根节点开始读
//初始化组别
Q_tmp->Close();
sSql = "SELECT *FROM SORTTREE WHERE PARENTINDEX=0";
Q_tmp->SQL->Text = sSql;
Q_tmp->Open();
while(!Q_tmp->Eof)
{
//添加默认根结点
TTreeNode *parentNode = TV_ResourcesManage->AddChild(NULL,Q_tmp->FieldByName("NODE")->AsString);
int parentIndex = 0;
int index = Q_tmp->FieldByName("NODEINDEX")->AsInteger;
String sNode = Q_tmp->FieldByName("NODE")->AsString;
parentNode->Data = new link(parentIndex, index, sNode);
parentNode->ImageIndex = 0;
parentNode->SelectedIndex = 0;
AddSubNodes(parentNode,index,Q_tmp->FieldByName("ZBDM")->AsString);
Q_tmp->Next();
}
//递归查找子结点
void TF_sycx::SelSubNodes(String sNodeIndex,String sSszb)
{
//TODO: Add your source code here
String sSql;
TADOQuery *Q_child = new TADOQuery(NULL);
Q_child->Connection = Q_table->Connection;
sSql = "SELECT nodeindex FROM GG_SORTTREE WHERE PARENTINDEX=:pid";
Q_child->Active = false;
Q_child->SQL->Text = sSql;
Q_child->Parameters->ParamByName("pid")->Value = NodeIndex;
Q_child->Active = true;
Q_child->First();
while (!Q_child->Eof)
{
sSelNodeIndex = sSelNodeIndex + ',' + IntToStr(Q_child->FieldByName("NodeIndex")->AsInteger);
SelSubNodes(sSelNodeIndex,sSszb);
Q_child->Next();
}
}
待完成...
分享到:
相关推荐
本项目“C++编写的Windows资源管理器的资源树”旨在利用C++实现一个类似Windows资源管理器的功能,它是一个文件管理系统,能够以树状结构显示本地计算机上的文件和目录。 在Windows资源管理器中,用户通过资源树...
在本项目中,"C++模拟Windows资源管理器源码"是一个旨在实现类似Windows操作系统资源管理器功能的程序。这个程序允许用户浏览、操作文件和目录,如打开、复制、移动、删除等基本操作,同时也可能包括一些高级功能,...
在本文中,我们将深入探讨如何使用Microsoft Visual C++(简称VC)来实现一个类似于Windows资源管理器的应用程序。重点将放在使用树形控件(CTreeCtrl)来展示文件系统结构,以及如何与之交互以实现浏览、选择和操作...
用托管写的C++代码,模仿Windows资源管理器,可以运行指定文件,若无法访问则抛出异常
在本文中,我们将深入探讨如何使用Visual C++来实现一个资源管理器。资源管理器是操作系统中的一个重要组件,它允许用户浏览、管理和操作文件及文件夹。在Visual C++环境中,我们可以利用MFC(Microsoft Foundation ...
**C++编写的资源管理器**是一个初学者友好的项目,旨在模仿Windows操作系统中的资源管理器功能。这个项目是使用Microsoft Visual Studio 2003(一个早期版本的IDE)开发的,因此它基于较旧的C++标准,可能不包含现代...
在使用Visual C++ (VC++) 创建自定义的资源管理器或文件浏览器时,开发者需要深入理解Windows API,尤其是与文件系统交互以及用户界面构建相关的部分。以下是一些关键知识点: 1. **Windows Shell API**: Windows ...
在IT领域,尤其是在Windows开发中,使用Visual C++创建一个类似资源管理器的界面是一项常见的任务。资源管理器界面通常包含一个左侧的树视图,显示文件夹结构,以及一个右侧的列表视图,用于展示选定文件夹中的文件...
而MFC是微软为Windows平台开发的一个C++类库,它简化了Windows API的使用,提供了封装Windows系统功能的类,使得开发者可以更高效地创建Windows应用程序,包括像资源管理器这样的图形用户界面(GUI)应用。...
C++ MFC(Microsoft Foundation Classes)高效资源管理器是一种基于C++编程语言和MFC库构建的应用程序,它旨在提供类似Windows操作系统自带资源管理器的功能,适用于XP、Win7及Win2000等操作系统。MFC是微软为C++...
在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 框架来创建一个简易版的Windows资源管理器。MFC是Microsoft为C++开发者提供的一套库,它封装了Windows API,使得开发Windows应用程序更为便捷。...
在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库来实现一个文件资源管理器的示例。MFC 是微软为Windows应用程序开发提供的一套C++类库,它封装了Windows API,简化了窗口、对话框、控件等的...
C++ 使用孩子兄弟二叉树实现模拟资源管理器..................................................................................................................
在Windows系统中,我们常见的资源管理器是基于图形用户界面(GUI)的应用程序,而这里提到的是一个使用Microsoft Foundation Classes (MFC)库开发的简化版资源管理器。 MFC是微软提供的一套C++类库,它封装了...
学习c++的可视化编程,c++builer可视化的初期引导,(英文版)
标题中的“类似于Windows资源管理器”意味着我们要讨论的是一个具有类似界面和功能的软件应用,它可能是一个文件管理工具,允许用户浏览、组织和操作电脑上的文件和文件夹。Windows资源管理器是Windows操作系统中...
在这个项目中,开发者需要实现一个类似于Windows资源管理器的界面,允许用户浏览、操作和管理文件系统中的文件和目录。 文件系统模拟是计算机系统的基础部分,它负责组织、存储和检索数据。在模拟文件系统时,我们...
主要功能:实现了仿windows资源管理器功能,通过txt文件生成左侧树结构,点击树节点右侧listview显示节点目录下的所有文件。 由于数据较多所以采用分段加载节点,也就是在需要展开节点时加载该节点下的节点。
本文将深入探讨使用C++编程语言构建一个类似系统设备管理器的实现,以及这一过程中涉及的关键知识点。 首先,C++是一种强大的、面向对象的编程语言,它允许程序员高效地编写底层代码,这使得C++成为开发设备驱动...
本项目“API资源管理器”旨在通过C++编程语言,利用API函数来实现一个类似Windows操作系统中的资源管理器功能。这涉及到文件系统操作、图形用户界面(GUI)设计、多线程处理等多个知识点。 1. **文件系统操作**:...