4 ////////////////////////////////////////////////
6 ////////////////////////////////////////////////
7 class CTRL_EXT_CLASS CSplitPath
10 CSplitPath(LPCTSTR pszPath);
12 virtual ~CSplitPath();
15 void Split(LPCTSTR pszPath);
19 CString GetPath() const;
20 CString GetDrive() const;
21 CString GetDir() const;
22 CString GetFileName() const;
23 CString GetExt() const;
24 void SetDrive(LPCTSTR pszDrive);
25 void SetDir(LPCTSTR pszDir);
26 void SetFileName(LPCTSTR pszFileName);
27 void SetExt(LPCTSTR pszExt);
31 TCHAR m_szPath[MAX_PATH];
32 TCHAR m_szDrive[_MAX_DRIVE];
33 TCHAR m_szDir[_MAX_DIR];
34 TCHAR m_szFname[_MAX_FNAME];
35 TCHAR m_szExt[_MAX_EXT];
38 inline CSplitPath::CSplitPath()
43 inline CSplitPath::CSplitPath(LPCTSTR pszPath)
49 inline void CSplitPath::Init()
58 inline CSplitPath::~CSplitPath()
63 inline CString CSplitPath::GetPath() const
68 inline CString CSplitPath::GetDrive() const
73 inline CString CSplitPath::GetDir() const
78 inline CString CSplitPath::GetFileName() const
83 inline CString CSplitPath::GetExt() const
88 inline void CSplitPath::SetDrive(LPCTSTR pszDrive)
90 lstrcpy(m_szDrive,pszDrive);
93 inline void CSplitPath::SetDir(LPCTSTR pszDir)
95 lstrcpy(m_szDir,pszDir);
98 inline void CSplitPath::SetFileName(LPCTSTR pszFileName)
100 lstrcpy(m_szFname,pszFileName);
103 inline void CSplitPath::SetExt(LPCTSTR pszExt)
105 lstrcpy(m_szExt,pszExt);
108 inline void CSplitPath::Split(LPCTSTR pszPath)
110 _tsplitpath(pszPath,m_szDrive,m_szDir,m_szFname,m_szExt);
113 inline void CSplitPath::Make()
115 _tmakepath(m_szPath,m_szDrive,m_szDir,m_szFname,m_szExt);
118 #define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))
120 #endif //__DIRWALK_H__