private static void SetupAndParseArgs(string[] args, out int numberGrapsToWrite, out int diff, out bool onlyDiffs, out string inputDir, out string outputDir) { ArgsParser.ArgsParser ap = new ArgsParser.ArgsParser(args); ap.AddOptionWithAfterStringWithHelp("ng", "number of graphs to output"); ap.AddOptionWithAfterStringWithHelp("diff", "the minimal differences between two consequtive graphs in the output"); ap.AddOptionWithAfterStringWithHelp("inputDir", "the input directory"); ap.AddOptionWithAfterStringWithHelp("outputDir", "the output directory"); ap.AddAllowedOptionWithHelpString("onlydiff", "output differences only"); ap.AddAllowedOptionWithHelpString("/h", "prints the usage string and exits"); ParseCommandLine(ap, out numberGrapsToWrite, out diff, out onlyDiffs, out inputDir, out outputDir); }
static void ParseCommandLine(ArgsParser.ArgsParser ap, out int ng, out int diff, out bool onlyDiffs, out string inputDir, out string outputDir) { ng = 10; diff = 5; // percentage of edges onlyDiffs = false; inputDir = "Z:\\"; outputDir = "."; if (ap.Parse() == false) { Console.WriteLine("{0}", ap.ErrorMessage); Environment.Exit(1); } if (ap.OptionIsUsed("/h")) { Console.WriteLine(ap.UsageString()); Environment.Exit(0); } if (ap.OptionIsUsed("onlydiff")) { onlyDiffs = true; } if (ap.OptionIsUsed("inputDir")) { inputDir = ap.GetStringOptionValue("inputDir"); } if (ap.OptionIsUsed("outputDir")) { outputDir = ap.GetStringOptionValue("outputDir"); } if (ap.OptionIsUsed("ng")) { ap.GetIntOptionValue("ng", out ng); } if (ap.OptionIsUsed("diff")) { ap.GetIntOptionValue("diff", out diff); } }