1 // HtmlAgilityPack V1.0 - Simon Mourier <simon underscore mourier at hotmail dot com>
\r
4 namespace HtmlAgilityPack
\r
6 internal class HtmlCmdLine
\r
8 #region Static Members
\r
10 internal static bool Help;
\r
14 #region Constructors
\r
16 static HtmlCmdLine()
\r
24 #region Internal Methods
\r
26 internal static string GetOption(string name, string def)
\r
29 string[] args = Environment.GetCommandLineArgs();
\r
30 for (int i = 1; i < args.Length; i++)
\r
32 GetStringArg(args[i], name, ref p);
\r
37 internal static string GetOption(int index, string def)
\r
40 string[] args = Environment.GetCommandLineArgs();
\r
42 for (int i = 1; i < args.Length; i++)
\r
44 if (GetStringArg(args[i], ref p))
\r
56 internal static bool GetOption(string name, bool def)
\r
59 string[] args = Environment.GetCommandLineArgs();
\r
60 for (int i = 1; i < args.Length; i++)
\r
62 GetBoolArg(args[i], name, ref p);
\r
67 internal static int GetOption(string name, int def)
\r
70 string[] args = Environment.GetCommandLineArgs();
\r
71 for (int i = 1; i < args.Length; i++)
\r
73 GetIntArg(args[i], name, ref p);
\r
80 #region Private Methods
\r
82 private static void GetBoolArg(string Arg, string Name, ref bool ArgValue)
\r
84 if (Arg.Length < (Name.Length + 1)) // -name is 1 more than name
\r
86 if (('/' != Arg[0]) && ('-' != Arg[0])) // not a param
\r
88 if (Arg.Substring(1, Name.Length).ToLower() == Name.ToLower())
\r
92 private static void GetIntArg(string Arg, string Name, ref int ArgValue)
\r
94 if (Arg.Length < (Name.Length + 3)) // -name:12 is 3 more than name
\r
96 if (('/' != Arg[0]) && ('-' != Arg[0])) // not a param
\r
98 if (Arg.Substring(1, Name.Length).ToLower() == Name.ToLower())
\r
102 ArgValue = Convert.ToInt32(Arg.Substring(Name.Length + 2, Arg.Length - Name.Length - 2));
\r
110 private static bool GetStringArg(string Arg, ref string ArgValue)
\r
112 if (('/' == Arg[0]) || ('-' == Arg[0]))
\r
118 private static void GetStringArg(string Arg, string Name, ref string ArgValue)
\r
120 if (Arg.Length < (Name.Length + 3)) // -name:x is 3 more than name
\r
122 if (('/' != Arg[0]) && ('-' != Arg[0])) // not a param
\r
124 if (Arg.Substring(1, Name.Length).ToLower() == Name.ToLower())
\r
125 ArgValue = Arg.Substring(Name.Length + 2, Arg.Length - Name.Length - 2);
\r
128 private static void ParseArgs()
\r
130 string[] args = Environment.GetCommandLineArgs();
\r
131 for (int i = 1; i < args.Length; i++)
\r
134 GetBoolArg(args[i], "?", ref Help);
\r
135 GetBoolArg(args[i], "h", ref Help);
\r
136 GetBoolArg(args[i], "help", ref Help);
\r