#ifndef __FILEHELPING2_20151107__ #define __FILEHELPING2_20151107__ #pragma once #include "findfile2.h" #include "filekernel.h" #define USE_IMGEXT 0 class filehelpImpl2 : public findfile2 { public: filehelpImpl2(void); ~filehelpImpl2(void); volatile LONG m_nRef; virtual LONG AddRef( ); virtual LONG Release( ); virtual HRESULT QueryInterface(REFIID riid, void **ppvObject); public: // 查找全部 BOOL getall( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN OUT CStringArray *pvtfiles, // 返回要查找的文件全名; IN OUT CStringArray *pvtnames, // 返回要查找的文件名(无路径,包含扩展名); IN OUT CStringArray *pvtnames_noext, // 返回要查找的文件名(无路径,不含扩展名); IN OUT CStringArray *pvtfolders // 返回要查找的子目录; ); BOOL getsubfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN CStringArray *pvtfolders // 返回子文件夹; ); BOOL getallsubfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN CStringArray *pvtfolders // 返回所有子文件夹; ); ////////////////////////////////////////////////////////////////////////// BOOL getfiles_findin_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtfiles // 返回要查找的文件全名; ); BOOL getfiles_findout_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN OUT CStringArray *pvtfiles // 返回要查找的文件全名; ); BOOL getfiles_within_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtfiles // 返回要查找的文件全名; ); ////////////////////////////////////////////////////////////////////////// virtual BOOL getfiles_bynames_findin_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray &vtnames, IN CStringArray *pvtfiles // 返回要查找的文件全名; ); virtual BOOL getfiles_bynames_findout_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray &vtnames, IN OUT CStringArray *pvtfiles // 返回要查找的文件全名; ) ; virtual BOOL getfiles_bynames_within_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray &vtnames, IN CStringArray *pvtfiles // 返回要查找的文件全名; ) ; ////////////////////////////////////////////////////////////////////////// BOOL getnames_findin_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ); BOOL getnames_findout_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ); BOOL getnames_within_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtnames // 返回要查找的文件全名; ); ////////////////////////////////////////////////////////////////////////// BOOL getnames_findin_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ); BOOL getnames_findout_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ); BOOL getnames_within_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ); ////////////////////////////////////////////////////////////////////////// BOOL getfilesnames_findin_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtfiles, // 返回要查找的文件全名; IN CStringArray *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ); BOOL getfilesnames_findout_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtfiles, // 返回要查找的文件全名; IN CStringArray *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ); BOOL getfilesnames_within_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtfiles, // 返回要查找的文件全名; IN CStringArray *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ); ////////////////////////////////////////////////////////////////////////// BOOL getfilesnames_findin_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtfiles, // 返回要查找的文件全名; IN CStringArray *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ); BOOL getfilesnames_findout_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtfiles, // 返回要查找的文件全名; IN CStringArray *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ); BOOL getfilesnames_within_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtfiles, // 返回要查找的文件全名; IN CStringArray *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ); ////////////////////////////////////////////////////////////////////////// BOOL getfiles_withthumbnail_findin_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtfiles, // 返回要查找的文件全名; IN CStringArray *pvtfiles_sth, // 返回要查找的文件全名; IN CStringArray *pvtfiles_mth // 返回要查找的文件全名; ) ; BOOL getfiles_withthumbnail_findout_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtfiles, // 返回要查找的文件全名; IN CStringArray *pvtfiles_sth, // 返回要查找的文件全名; IN CStringArray *pvtfiles_mth // 返回要查找的文件全名; ) ; BOOL getfiles_withthumbnail_within_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN CStringArray *pvtfiles, // 返回要查找的文件全名; IN CStringArray *pvtfiles_sth, // 返回要查找的文件全名; IN CStringArray *pvtfiles_mth // 返回要查找的文件全名; ) ; public: ////////////////////////////////////////////////////////////////////////// BOOL comparename_findin_names(IN LPCTSTR name); // 两个文件对比,是否同名; BOOL comparename_2file( IN LPCTSTR file1, // 文件1(全路径); IN LPCTSTR file2 // 文件2(全路径); ); // 指定文件名,与一组文件名对比; BOOL comparename_findin_names( IN LPCTSTR name, // 文件名(无路径,不含扩展名); IN CStringArray& vtnames // 一组文件名(无路径,不含扩展名); ); // 指定文件名,与一组文件对比; BOOL comparename_findin_files( IN LPCTSTR name, // 文件名(不含扩展名); IN CStringArray& vtfiles // 一组文件(全路径); ); // 指定文件名,与一文件夹对比; BOOL comparename_findin_folder( IN LPCTSTR name, // 文件名(不含扩展名); IN LPCTSTR folder, // 文件夹; IN LPCTSTR findext, // 要查找的扩展名; IN BOOL bsubfolder // 是否查找文件夹内的子目录; ); ////////////////////////////////////////////////////////////////////////// // 指定一组文件名,与另一组文件名对比; INT comparenames_findin_names( IN CStringArray& vtSrcnames, // 指定的一组源文件名(无路径,不含扩展名); IN CStringArray& vtDesnames, // 指定的一组目标文件名(无路径,不含扩展名); OUT CStringArray *pvtIsonym = NULL // 返回同名的文件名; ); // 指定一组文件名,与一组文件(全路径)对比; INT comparenames_findin_files( IN CStringArray& vtnames, // 指定的一组源文件名(无路径,不含扩展名); IN CStringArray& vtfiles, // 指定的一组目标文件(全路径); IN LPCTSTR findext, // 要查找的扩展名; OUT CStringArray *pvtIsonym = NULL // 返回同名的文件名; ); // 指定的一组文件名,与一文件夹对比; INT comparenames_findin_folder( IN CStringArray& vtnames, // 指定的一组源文件名(无路径,不含扩展名); IN LPCTSTR folder, // 文件夹; IN BOOL bsubfolder, // 是否查找文件夹内的子目录; IN LPCTSTR findext, // 要查找的扩展名; OUT CStringArray *pvtIsonym = NULL // 返回同名的文件名; ); ////////////////////////////////////////////////////////////////////////// // 指定一文件,与一组文件名对比; BOOL comparefile_findin_names( IN LPCTSTR file, // 文件1(全路径); IN CStringArray& vtnames // 指定的一组文件名(无路径,不含扩展名) ); // 指定一文件,与一组文件对比; BOOL comparefile_findin_files( IN LPCTSTR file, // 文件(全路径); IN CStringArray& vtfiles, // 指定的一组文件(全路径) IN LPCTSTR findext // 要查找的扩展名; ); // 指定一文件,与一文件夹对比; BOOL comparefile_findin_folder( IN LPCTSTR file, // 文件(全路径); IN LPCTSTR folder, // 文件夹; IN BOOL bsubfolder, // 是否查找子文件夹; IN LPCTSTR findext // 要查找的扩展名; ); ////////////////////////////////////////////////////////////////////////// // 指定一组文件,与另一组文件对比; INT comparefiles_findin_files( IN CStringArray &vtfiles1, // 指定的一组源文件; IN CStringArray &vtfiles2, // 指定的一组目标文件; IN LPCTSTR findext, // 要查找的扩展名; OUT CStringArray *pvtIsonym = NULL // 返回同名的文件名; ); // 指定一组文件,与一文件夹对比; INT comparefiles_findin_folder( IN CStringArray &vtfiles, // 指定的一组源文件; IN LPCTSTR folder, // 指定的文件夹; IN BOOL bsubfolder, // 是否查找子文件夹; IN LPCTSTR findext, // 要查找的扩展名; OUT CStringArray *pvtIsonym = NULL // 返回同名的文件名; ); // 文件夹自我对比(所有子文件夹对比) INT comparefolderself( IN LPCTSTR folder, // 指定文件夹; IN LPCTSTR findext, // 要查找的扩展名; OUT CStringArray *pvtIsonym = NULL // 返回同名的文件名; ); // 指定一文件夹,与另一文件夹对比; INT comparefolder_findin_folder( IN LPCTSTR folder1, // 指定源文件夹; IN LPCTSTR folder2, // 指定目标文件夹; IN BOOL bsubfolder, // 是否查找子文件夹; IN LPCTSTR findext, // 要查找的扩展名; OUT CStringArray *pvtIsonym = NULL // 返回同名的文件名; ); }; #endif