Example #1
0
        ///собственно выдача подсказки с версией приложения
        static public void mkVHelp(
            string forWhat           ///<краткое описание приложения
            , string ver             ///<версия приложения
            , string after           ///<дополнительная часть строки usage
                                     ///<тут можно нестандартным образом показать ключи
            , bool verbose           ///<добавлять ли список  синонимов в подсказку
            , params Arg[] ars
            )
        {
            string v = "";

            if (ver.Length > 0)
            {
                v = " (ver:" + ver + ")";
            }
            if (PeReaderExtensions.IsConsoleApp())
            {
                Console.Error.WriteLine(
                    Args.Arg.mkHelp(forWhat + v, after, ars)
                    );
                if (verbose)
                {
                    for (int i = 0; i < ars.Length; i++)
                    {
                        if (ars[i].sNm != ars[i].lNm)
                        {
                            Console.Error.WriteLine(
                                "'{0}' means the same as '{1}'", ars[i].sNm, ars[i].lNm);
                        }
                    }
                }
            }
            else
            {
                string foo = Args.Arg.mkHelp(forWhat + v, after, ars);
                if (verbose)
                {
                    for (int i = 0; i < ars.Length; i++)
                    {
                        if (ars[i].sNm != ars[i].lNm)
                        {
                            foo += string.Format(
                                "\n'{0}' means the same as '{1}'", ars[i].sNm, ars[i].lNm);
                        }
                    }
                }
                System.Windows.Forms.MessageBox.Show(foo, forWhat + v);
            }
        }
Example #2
0
        public override void set(ref int i, string [] ps)  /// разбор аргументов командной строки2
        {
            i++;
            if (i < ps.Length)
            {
                try {
                    set(ps[i]);
                }
                catch {
                    string foo = string.Format("wrong value for {0}/{1} argument: {2} "
                                               , sNm, lNm, ps[i]);

                    if (PeReaderExtensions.IsConsoleApp())
                    {
                        Console.Error.WriteLine(foo);
                        Environment.Exit(1);
                    }
                    else
                    {
                        System.Windows.Forms.MessageBox.Show(foo, "Error");
                        Environment.Exit(1);
                    }
                }
            }
            else
            {
                string foo = string.Format("there is no value for {0}/{1} argument", sNm, lNm);
                if (PeReaderExtensions.IsConsoleApp())
                {
                    Console.Error.WriteLine(foo);
                    Environment.Exit(1);
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show(foo, "Error");
                    Environment.Exit(1);
                }
            }
        }
Example #3
0
        public override void set(ref int i, string [] ps)
        {
            i++;
            if (i < ps.Length)
            {
                v = ps[i];
            }
            else
            {
                string foo = string.Format("there is no value for {0}/{1} argument", sNm, lNm);

                if (PeReaderExtensions.IsConsoleApp())
                {
                    Console.Error.WriteLine(foo);
                    Environment.Exit(1);
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show(foo, "Error");
                    Environment.Exit(1);
                }
            }
        }