首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

多资料操作

2013-07-04 
多文件操作怎样在pb9.0中调用API函数进行多文件的导入,例如将多个文件同时导入数据库?API数据库多文件[解

多文件操作
怎样在pb9.0中调用API函数进行多文件的导入,例如将多个文件同时导入数据库? API 数据库 多文件
[解决办法]
方案:先抓取文件夹,然后再读取文件夹中的各文件名。

//文件夹浏览通用对话框API函数
FUNCTION Long SHBrowseForFolder (REF str_BROWSEINFO lpBrowseInfo) LIBRARY "shell32.dll" ALIAS FOR "SHBrowseForFolderA;Ansi"
SUBROUTINE CoTaskMemFree (Long hMem ) LIBRARY "ole32.dll" 
FUNCTION Long SHGetPathFromIDList(long pidList, REF string lpBuffer) LIBRARY "shell32.dll" ALIAS FOR "SHGetPathFromIDListA;Ansi"

global type str_browseinfo from structure
longhwndowner
longpidlroot
stringdisplayname
stringtitle
longflags
longpfn
longparam
stringimage
end type



String  ls_ReturnPathName
Long    ll_rc
str_BROWSEINFO lstr_Info
Long ll_pIDlRoot
Long ll_BrowseInfoFlags

ls_ReturnPathName = Space( 256 ) 
ll_browseinfoflags = BIF_RETURNONLYFSDIRS + BIF_USENEWUI

//初始化结构browseinfo
lstr_info.hWndOwner = Handle( This ) 
lstr_info.DisplayName = ls_ReturnPathName  
lstr_info.Title = "请选择文件夹目录:" 
lstr_info.pidlroot = ll_pIDlRoot
lstr_info.flags = ll_BrowseInfoFlags

//显示文件夹浏览对话框
ll_rc = SHBrowseForFolder( lstr_Info )  

IF ll_rc > 0 THEN

SHGetPathFromIDList( ll_rc, ls_ReturnPathName)

//释放内存
CoTaskMemFree(ll_rc)
   
Return RightTrim(ls_ReturnPathName)
Else
   Return  ""
End If



热点排行