WindowsXP-SP1/admin/admt/command/argument.h
2020-09-30 16:53:49 +02:00

63 lines
875 B
C++

#pragma once
//---------------------------------------------------------------------------
// Arguments Class
//---------------------------------------------------------------------------
class CArguments
{
public:
CArguments(int argc, wchar_t* argv[]) :
m_iArg(1),
m_cArg(argc),
m_ppszArg(argv)
{
}
LPCTSTR Value()
{
LPCTSTR pszArg = NULL;
if ((m_iArg > 0) && (m_iArg < m_cArg))
{
pszArg = m_ppszArg[m_iArg];
}
return pszArg;
}
bool Next()
{
if (m_iArg < m_cArg)
{
++m_iArg;
}
return (m_iArg < m_cArg);
}
bool Prev()
{
if (m_iArg > 0)
{
--m_iArg;
}
return (m_iArg > 0);
}
protected:
CArguments(const CArguments& r) {}
CArguments& operator =(const CArguments& r) { return *this; }
protected:
int m_iArg;
int m_cArg;
_TCHAR** m_ppszArg;
};