首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powerbuilder查询

Powerbuilder查询
EN

Stack Overflow用户
提问于 2010-04-22 18:05:41
回答 2查看 3.7K关注 0票数 4

如何在任何目录(如c:\、d:\等)中搜索.txt文件。在PowerBuilder中使用文件函数?

EN

回答 2

Stack Overflow用户

发布于 2010-05-01 02:13:22

因此,如果您所做的只是查找文件,则可以使用listbox.DirList()来执行此操作,或者如果您希望在不绑定到窗口或控件的情况下执行此操作,则可以调用WinAPI函数来执行此操作:

代码语言:javascript
复制
Function long FindFirstFileW (ref string filename, ref os_finddata findfiledata) library "KERNEL32.DLL" alias for "FindFirstFileW"
Function boolean FindNextFileW (long handle, ref os_finddata findfiledata) library "KERNEL32.DLL" alias for "FindNextFileW"

其中os_finddata定义为

代码语言:javascript
复制
unsignedlong        ul_fileattributes
os_filedatetime     str_creationtime
os_filedatetime     str_lastaccesstime
os_filedatetime     str_lastwritetime
unsignedlong        ul_filesizehigh
unsignedlong        ul_filesizelow
unsignedlong        ul_reserved0
unsignedlong        ul_reserved1
character       ch_filename[260]
character       ch_alternatefilename[14]

并且os_filedatetime被定义为

代码语言:javascript
复制
unsignedlong        ul_lowdatetime
unsignedlong        ul_highdatetime

如果您需要如何使用这些类的示例,请查看对象(pfcapsrv.pbl)pfc_n_cst_filesrvunicode.of_DirList ()中的PFC (PowerBuilder基础类,可从CodeXchange获得)。(这就是复制这些原型和结构的地方,顺便说一句。)

祝好运,

泰瑞

票数 6
EN

Stack Overflow用户

发布于 2010-04-23 04:40:46

您可以使用ListBox控件根据给定的字符串模式(*.txt、myfile.txt、.etc)获取文件/目录的列表。查看帮助中的DirList函数。这里有一个来自here的示例,展示了如何使用ListBox控件而不将其可视化地放在窗口上。

代码语言:javascript
复制
string ls_files[]
window lw_1
listbox llb_1
int li_items, li_i

Open( lw_1 )

lw_1.openUserObject( llb_1 )

llb_1.DirList( sFileSpec, uFileType )

li_items = llb_1.TotalItems()

For li_i = 1 to li_items

ls_files[ li_i ] = llb_1.Text( li_i )

Next

lw_1.closeUserObject( llb_1 )

Close( lw_1 )
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2689829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档