///////////////////////////////////////////////////////////////////////////// // cmdproc.h // Copyright (C) 1996 - 1999 Microsoft Corp. // // more flexible replacement for mfc CCommandLineInfo ///////////////////////////////////////////////////////////////////////////// // CCommandLineInfo #ifndef CMDPROC_H #pragma option push -b -a8 -pc -A- /*P_O_Push*/ #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--; } }; #pragma option pop /*P_O_Pop*/ #endif // end of file - cmdproc.h