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

最佳答案

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

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 定义为
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 定义为
unsignedlong        ul_lowdatetime
unsignedlong        ul_highdatetime

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

祝你好运,

特里

10-08 01:55