Proe Creo 二次开发之递归遍历文件信息

 


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);
			}
          }
	

}

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值