打印本文 打印本文 关闭窗口 关闭窗口
树形目录在PB中的实现与应用
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1312  更新时间:2007/11/14 13:14:05  文章录入:mintao  责任编辑:mintao
  摘要: 本文结合具体的实际应用,介绍PB中实现树形目录的实现机制,并给出了具体的实现过程。

  1.引言

  在管理信息系统的开发中,经常需要获取本地计算机中的树形目录结构和相应的文件信息,如进行目录的选择和特殊文件的选取,在PowerBuilder(简称PB)中并没有提供专门的树形目录对象,这样就需要程序开发人员自己来实现相应的树形目录。本文针对这种情况,提供了一种用纯PB代码实现树形结构的方法。

  2.PB中树形目录的实现方法

  PB中实现树形目录可以利用Windows本身的API函数SHBrowseForFolderA(包括在shell32.dll文件中),但该API函数只能显示相应的树形目录,不能显示文件信息,而且用户对它不能进行灵活的控制。因此,如果需要进行灵活控制,就需要程序人员自己编写相应代码。

  PB中的ListBox列表框控件提供了显示目录和文件的能力。在程序中可以利用PB的树形控件TreeView动态生成树形目录结构。我们使用ListBox控件的函数DirList来实现,函数DirList以满足条件的文件名填充列表框的列表项,其使用方法如下:

listboxname.DirList(文件模式,文件类型)

  其中文件类型的值如下所示:

0 可读/可写文件 2 隐含文件 16 子目录 16384 驱动器 1 只读文件 4 系统文件 32 归档文件 32768 除可读/可写外所有类型
  在程序中可将几种类型的值相加以获取相应的文件或目录信息。下面结合一个实例介绍树形目录的实现方法,程序界面如图1所示。


图1 树形目录实现的实例

  通过树形目录可以获取计算机中的任意目录,然后显示需要显示的文件(本例中显示浏览器可以查看的文件类型:htm,html,swf,gif,jpg,txt等)。程序中主要使用的控件如下所示:

控件名 类型 说明 tv_dir TreeView 显示树形目录 lb_file ListBox 显示相应目录中的文件 ole_disp Microsoft Web浏览器控件 对选定文件进行浏览 lb_dir ListBox 显示驱动器信息 lb_next ListBox 显示当前目录下级目录信息

打印本文 打印本文 关闭窗口 关闭窗口