void CTemplateFileDeal::GetTempletFileInfo( CString strWildcard, vector<tempFileInfo>& fileInfoArrout,int parentid, MaindlgFileType folderType)
{
//文件臨時信息
tempFileInfo tempfileinfo;
MaindlgFileType fileType = TEMPLETE_FILE;
int n_files = 0;
int n_dirs = 0;
ProPath * file_list = NULL;
ProPath * dir_list = NULL;
//分配內存
err = ProArrayAlloc(0, sizeof(ProPath), 1, (ProArray*)&file_list);
err = ProArrayAlloc(0, sizeof(ProPath), 1, (ProArray*)&dir_list);
// 判斷:文件夾類型位個人收藏夾
if(PERSONAL_FOLDER == folderType)
{
fileType = PERSONAL_FILE;
}
//開始從頂級目錄查找
err = ProFilesList(strWildcard.GetBuffer(), ".xls", PRO_FILE_LIST_LATEST, &file_list, &dir_list);
if (err == PRO_TK_NO_ERROR)
{
//處理子文件
err = ProArraySizeGet((ProArray)file_list, &n_files);
for ( int ii = 0; ii < n_files; ii++ )
{
tempName=CString(file_list[ii]);
AddFileInfoToArry(finder,tempfileinfo,fileType,parentid,fileInfoArrout);
}
//處理子目錄
err = ProArraySizeGet((ProArray)dir_list, &n_dirs);
for ( int ii =0; ii < n_dirs; ii++ )
{
// 將文件夾信息放入到模板樹信息中
AddFileInfoToArry(finder,tempfileinfo,folderType,parentid,fileInfoArrout);
// 遞歸調用
GetTempletFileInfo(finder.GetFilePath(),fileInfoArrout,m_currentID,folderType);
}
}
}