home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / pcmagazi / 1992 / 04 / app.h < prev    next >
C/C++ Source or Header  |  1991-11-14  |  2KB  |  63 lines

  1. // app.h RHS 6/7/91
  2.  
  3. #if !defined(APP_H)
  4. #define APP_H
  5.  
  6. #include"stddefs.h"
  7.  
  8. const MAXSWITCHES = 2;
  9.  
  10. class Application
  11.     {
  12.     int argcount;
  13.     char **arglist;
  14.     char switches[MAXSWITCHES];
  15.     int nextarg;
  16.     char oldc;
  17.  
  18.     void SetDefaults(void)
  19.         {
  20.         nextarg = 0;
  21.         oldc = 0;
  22.         SetSwitchChar();
  23.         AddSwitchChar();
  24.         }
  25.     char *_GetSwitchArg(char *buf); // search engine
  26.  
  27. public:
  28.     Application(int argc, char **argv);
  29.     Application(void);
  30.  
  31.     char *GetAppName(void);         // return application name,
  32.     void GetAppName(char *);        // argv[0]
  33.     
  34.     BOOL GetSwitchArg(char c);      // returns TRUE if switch is set
  35.     char *GetSwitchArg(char c, char *buf); // returns the arg following the switch
  36.     char *GetNextSwitchArg(char *buf);
  37.  
  38.     char *GetArg(void);             // returns arg (no switch)
  39.     char *GetNextArg(void);         // returns next arg with no switch
  40.     char *Arg(void);                // returns first and following args
  41.  
  42.     void SetSwitchChar(char c = '-');   // sets the switch character
  43.     void AddSwitchChar(char c = '/');   // adds an additional switch char
  44.  
  45.     char *GetArg(int argno);        // returns argv[argno+1]
  46.  
  47.     int  GetArgCount(void);         // returns argc-1
  48.     int  GetParamCount(void);       // returns argc
  49.  
  50.     char *operator[](int argno);    // returns argv[argno]
  51.     };
  52.  
  53. #if defined(APP_NOMAIN)
  54. void main(void)
  55.     {
  56.     }
  57. #endif
  58.  
  59.  
  60.  
  61. #endif
  62.  
  63.