Beispiel #1
0
        static int Main(string[] args)
        {
            Frame f = null;

            try
            {
                if (args.Length > 0 && (args[0] == "--help" || args[0] == "/?"))
                {
                    Console.WriteLine(Helpfile.Trim());
                    return(1);
                }
                f = new Frame();
                int n = f.ParseArgs(args);
                if (n > 0)
                {
                    return(n);
                }

                return(f.Run());
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine("Fatal error!");
                if (f == null || f.Verbose)
                {
                    Console.Error.WriteLine(ex.ToString());
                }
                else
                {
                    Console.Error.WriteLine("Run in verbose mode for more details!");
                }
                return(2);
            }
        }
        /// <summary>
        /// Gets the help string for a page.
        /// </summary>
        /// <returns>The string for a page.</returns>
        /// <param name="page">The page to get the string for.</param>
        public static string GetPageString(int page = 0)
        {
            if (Helpfile.LoadedLanguage != Settings.ActiveLocale)
            {
                Helpfile.init();
            }
            if (page == 0)
            {
                page = 1;
            }
            int num = (page - 1) * Helpfile.ITEMS_PER_PAGE;

            if (num >= HelpCount)
            {
                num = 0;
            }
            var sb = new StringBuilder();

            sb.Append(Helpfile.prefix.Replace("[PAGENUM]", page.ToString()).Replace("[TOTALPAGES]", PageCount.ToString()));
            int position = num;
            var enumer   = help.GetEnumerator();

            while (position < num + Helpfile.ITEMS_PER_PAGE)
            {
                if (position < Helpfile.help.Count)
                {
                    sb.Append("-" + Helpfile.help[position] + "\n  \n");
                }
                else if (enumer.MoveNext())
                {
                    sb.Append("-" + GenerateString(enumer.Current) + "\n  \n");
                }
                else
                {
                    break;
                }
                position++;
            }
            return(sb.Append("\n" + Helpfile.postfix).ToString());
        }