首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > PB中TreeView控件的深度优化搜索算法程序
【标  题】:PB中TreeView控件的深度优化搜索算法程序
【关键字】:控件,程序,优化,搜索,ie,PB,TreeView,PB,TreeView
【来  源】:网络

PB中TreeView控件的深度优化搜索算法程序

《计算机世界》2000年第11期B14版登载的“也谈‘在PB的TreeView控件中实现自动查询’” 一文中在实现对TreeView的搜索查询时,使用了两个数组来记录数据,然后通过查找数据元素来实现查询。而本文通过树的深度优先算法来实现TreeView的查询。

---- 由于PB的TreeView控件没有提供查找项的功能,因此本程序算是对此一缺憾的补缺。

---- 调用语法:

---- findtreeitem(tv_tree, findby, data)

---- 调用参数:

tv_tree: TreeView, 指明在tv_tree树中查找
findby: boolean, 指明查找方式
false - 按标签(Label)查找
true - 按附加数据(data)查找
data: any, 指明要查找的内容
返回值:long型。若找到,返回找到的项的Handle;
若没有找到,返回0;
若出错,返回-1


---- 程序代码如下:
public function long findtreeitem(TreeView tv_tree,
boolean findby, any data);

long ll_hdl[]
integer li_cnt
treeviewitem lt_tvi

li_cnt = 1
ll_hdl[1] = tv_tree.FindItem(RootTreeItem!, 0)
do while li_cnt > 0
if tv_tree.GetItem(ll_hdl[li_cnt], lt_tvi)
= -1 then return -1
if findby then
if lt_tvi.data = data then
return ll_hdl[li_cnt]
end if
else
if lt_tvi.label = string(data) then
return ll_hdl[li_cnt]
end if
end if
if lt_tvi.children then
li_cnt ++
ll_hdl[li_cnt] = tv_tree.FindItem(
ChildTreeItem!, ll_hdl[li_cnt - 1])
else
ll_hdl[li_cnt] = tv_tree.FindItem(
NextTreeItem!, ll_hdl[li_cnt])
end if
do while ll_hdl[li_cnt] <= 0
li_cnt --
if li_cnt = 0 then exit
ll_hdl[li_cnt] = tv_tree.FindItem(
NextTreeItem!, ll_hdl[li_cnt])
loop
loop
return 0

end function
在PowerBuilder中利用DataStore实现查询条件的记忆:【上一篇】
在PB中应用AutoCAD图形数据库:【下一篇】
【相关文章】
  • 如何用pb实现MSACCESS数据库的图片字段存取
  • pb中压缩整理access数据库文件(mdb)
  • Pb中多用户权限管理实现方案
  • PB6的FILE菜单中找不到Create Database选项
  • 怎样在一个程序中连接两个数据库
  • PB6中怎样实现用代码配置ODBC
  • PB中协调多数据窗口数据操纵的一种解决方法
  • PB数据窗口中按钮的封装
  • 在PB中实现分段打印功能
  • PB中表的修改对数据窗口和报表的影响的解决办法
  • 【随机文章】
  • Windows 2000下Api函数的拦截分析
  • 用kexec快速重启操作系统
  • [收藏]JSP数据类型
  • fork的返回值代表的意思
  • Delphi三层架构数据库操作攻略
  • RealOne Player和Realplayer的区别
  • 关于HP的student ID
  • 六大QQ病毒的特征以及清除方法(2)
  • 最近工作忙什么
  • XML学习进阶1-- 什么是XML
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.