1引言
在管理信息系统的开发中,经常需要获取本地计算机中的树形目录结构和相应的文件信息,如进行目录的选择和特殊文件的选取,在PowerBuilder(简称PB)中并没有提供专门的树形目录对象,这样就需要程序开发人员自己来实现相应的树形目录。本文针对这种情况,提供了一种用纯PB代码实现树形结构的方法。
2PB中树形目录的实现方法
PB中实现树形目录可以利用Windows本身的API函数SHBrowseForFolderA(包括在shell32dll文件中),但该API函数只能显示相应的树形目录,不能显示文件信息,而且用户对它不能进行灵活的控制。因此,如果需要进行灵活控制,就需要程序人员自己编写相应代码。
PB中的ListBox列表框控件提供了显示目录和文件的能力。在程序中可以利用PB的树形控件TreeView动态生成树形目录结构。我们使用ListBox控件的函数DirList来实现,函数DirList以满足条件的文件名填充列表框的列表项,其使用方法如下:
listboxnameDirList(文件模式,文件类型)
其中文件类型的值如下所示:
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 显示当前目录下级目录信息
默认的路径是应用的路径。所以应用路径本身的可以省略。
比如你的应用在D:\PB程序
里面。
这样你设置一个,假设
在这个文件夹下的文件夹pic里面。那么文件的路径写:
pic\名称
这样就可以了。
修改属性的位置,选中控件,然后看右侧有个picturename一项,在那里设置。
直接写他的文件名,然后把那个文件放到你的根目录下即可~!
或者在控件 *** 作完成后,那个设置框里有路径显示,是绝对路径,你把前面的盘符和地址手动删除,留下相对路径就可以了
删后当时工作空间里的就不显示了,但是如果运行或者打包后发布就显示
在 PB 编译后的程序中使用 DLL,需要将 DLL 文件放到程序目录下。可以通过以下步骤实现:
1 找到编译后的可执行文件(通常是 exe 文件),并记住它所在的路径。
2 将需要使用的 DLL 文件复制到与可执行文件相同的目录中。
3 在 PB 代码中调用该 DLL 的函数或过程时,系统会自动搜索当前工作目录以查找所需的 DLL,并加载它们。
如果您想要确保应用程序始终能够找到所需的DLL,则可以考虑将其添加到系统环境变量 PATH 中。这样做可以使 *** 作系统在任何位置都能够找到该DLL,而不仅限于应用程序目录。
工具/材料:以Microsoft Office Word 2007版、pb格式的文件为例。
1、首先在桌面上,点击“Microsoft Office Word 2007”图标。
2、然后在Microsoft Office Word界面中,右键点击左上角“Office”里“打开”选项。
3、之后在Microsoft Office Word界面中,双击“pb格式的文件”选项。
4、最后在Microsoft Office Word界面中,成功打开pb格式的文件。
以上就是关于树形目录在PB中的实现与应用全部的内容,包括:树形目录在PB中的实现与应用、pb如何设置图片相对路径、pb怎么把绝对路径变成相对路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)