///////////////////////////////////////////////////////////////////////////// // cmdproc.h // Copyright (C) 1996 Microsoft Corp. // // more flexible replacement for mfc CCommandLineInfo ///////////////////////////////////////////////////////////////////////////// // CCommandLineInfo #ifndef CMDPROC_H #define CMDPROC_H class CCommandLineProc : public CObject { public: // process the command line for switch based arguments BOOLEAN ProcessCommandLine(int iSC, int &argc, _TCHAR **argv); protected: typedef void (CCommandLineProc::*PMFNCmdProc)(CString &csArg); class CArgProcTable { public: int m_iIDS; // string resource of command switch PMFNCmdProc m_Cmd; // argument processing function }; friend CArgProcTable; static CArgProcTable acapArgs[]; // remove any desired positional arguments virtual BOOLEAN GetPositionalArgs(int &argc, _TCHAR **argv); // this function deletes the argument at iPos by copy the remaining // elements of argv 1 to the left inline void CCommandLineProc::DeleteArg(int iPos, int &argc, _TCHAR **argv) { for (int k = iPos + 1; k < argc; k++) { argv[k - 1] = argv[k]; } argc--; } }; #endif // end of file - cmdproc.h