Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

84 lines
3.0 KiB

// ProcessFileName.h: interface for the CProcessFileName class.
//
////////////////////////////////////////////////////////////////////
#if !defined(AFX_PROCESSFILENAME_H__CA00ED34_46D7_11D2_8DAA_204C4F4F5020__INCLUDED_)
#define AFX_PROCESSFILENAME_H__CA00ED34_46D7_11D2_8DAA_204C4F4F5020__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
enum enumProcessFileName
{
PROCESSFILE_UNDEFINED = 0x00000000L,
PROCESSFILE_NOREADLY = 0x00000001L,
PROCESSFILE_PROPERFILENAME = 0x00000002L,
PROCESSFILE_VERIFYDIRECTORY= 0x00000004L,
PROCESSFILE_VERIFYFILENAME = 0x00000008L,
PROCESSFILE_VERIFYFILEEXT = 0x00000010L,
PROCESSFILE_ALLOWNEWFILES = 0x00000020L,
PROCESSFILE_APPEND = 0x00000040L,
PROCESSFILE_OVERWRITE = 0x00000080L,
};
typedef class CProcessFileName
{
public:
CProcessFileName();
CProcessFileName(CLString* pStrDefaultExt, CLString* pStrRequiredExt, ULONG ulFlags);
CProcessFileName(LPCTSTR pszDefaultExt, LPCTSTR pszRequiredExt, ULONG ulFlags);
virtual ~CProcessFileName();
public:
void SetValues(CLString* pStrDefaultExt, CLString* pStrRequiredExt, ULONG ulFlags);
void SetValues(LPCTSTR pszDefaultExt, LPCTSTR pszRequiredExt, ULONG ulFlags);
void ClearOutValues();
void SetAllowReadOnly(bool bAllowReadOnly);
public:
CLString m_strDefaultExt;
CLString m_strRequiredExt;
CLString m_strOutputFileName; // Out parameter
CLString m_strOutputDirName; // Out parameter
CLString m_strOutFileTitle; // Out parameter
CLString m_strOutErrorMsg; // Out parameter
bool m_bNewFile;
ULONG m_ulFlags;
bool m_bAllowReadOnly;
} CPROCESSFILENAME, FAR* LPCPROCESSFILENAME;
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
typedef class CCheckFileName : public CProcessFileName
{
public:
// Inline
CCheckFileName()
{
}
// Inline
CCheckFileName(CLString* pStrDefaultExt, CLString* pStrRequiredExt, ULONG ulFlags)
: CProcessFileName(pStrDefaultExt, pStrRequiredExt, ulFlags)
{
}
// Inline
CCheckFileName(LPCTSTR pszDefaultExt, LPCTSTR pszRequiredExt, ULONG ulFlags)
: CProcessFileName(pszDefaultExt, pszRequiredExt, ulFlags)
{
}
// inline
BOOL CheckFileName(const CLString& strOriginalFileName, BOOL bAppend, UINT uAppendMsgID = 0, BOOL bDisplayMsg = true);
BOOL CheckFileName(const CLString& strOriginalFileName, BOOL bAppend, CLString strErrorMessage = _T(""), BOOL bDisplayMsg =true);
BOOL DoesFileExist(const CLString& strFileName, const CLString& strExt, bool bDisplayMsg = false);
BOOL VerifyNewFile(const CLString& strFileName, const CLString& strExt, bool bDisplayMsg = false);
private:
} CCHECKFILENAME, FAR* LPCCHECKFILENAME;
#endif // !defined(AFX_PROCESSFILENAME_H__CA00ED34_46D7_11D2_8DAA_204C4F4F5020__INCLUDED_)