コード例 #1
0
ファイル: Form1.cs プロジェクト: solodyagin/NameCaseLib.NET
        private void button1_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(comboBox1.Text))
            {
                textBox1.Clear();
                textBox1.AppendText(string.Format("Версия библиотеки: {0}\r\n", Core.Version));
                if (radioButton1.Checked)
                {
                    Ru lang = new Ru();
                    textBox1.AppendText(string.Format("[Ru] Версия правил: {0}\r\n", Ru.LanguageBuild));
                    textBox1.AppendText("\r\n");

                    string[]  m  = lang.Q(comboBox1.Text);
                    WordArray wa = lang.GetWordsArray();
                    textBox1.AppendText(string.Format("Фамилия:  {0}\r\n", lang.GetSurNameCase(Padeg.IMENITLN)));
                    textBox1.AppendText(string.Format("Имя:      {0}\r\n", lang.GetNameCase(Padeg.IMENITLN)));
                    textBox1.AppendText(string.Format("Отчество: {0}\r\n", lang.GetPatrNameCase(Padeg.IMENITLN)));
                    textBox1.AppendText("\r\n");

                    textBox1.AppendText(string.Format("Пол: {0}\r\n", lang.GenderAutoDetect().GetDescription()));
                    textBox1.AppendText("\r\n");

                    textBox1.AppendText("Падежи:\r\n");
                    textBox1.AppendText(string.Format(" Именительный   (кто? что?): {0}\r\n", m[0]));
                    textBox1.AppendText(string.Format(" Родительный  (кого? чего?): {0}\r\n", m[1]));
                    textBox1.AppendText(string.Format(" Дательный    (кому? чему?): {0}\r\n", m[2]));
                    textBox1.AppendText(string.Format(" Винительный   (кого? что?): {0}\r\n", m[3]));
                    textBox1.AppendText(string.Format(" Творительный   (кем? чем?): {0}\r\n", m[4]));
                    textBox1.AppendText(string.Format(" Предложный (о ком? о чём?): {0}\r\n", m[5]));
                }
                else
                {
                    Ua lang = new Ua();
                    textBox1.AppendText(string.Format("[Ua] Версiя правил: {0}\r\n", Ua.LanguageBuild));
                    textBox1.AppendText("\r\n");

                    string[]  m  = lang.Q(comboBox1.Text);
                    WordArray wa = lang.GetWordsArray();
                    textBox1.AppendText(string.Format("Прізвище: {0}\r\n", lang.GetSurNameCase(Padeg.IMENITLN)));
                    textBox1.AppendText(string.Format("Iм'я:     {0}\r\n", lang.GetNameCase(Padeg.IMENITLN)));
                    textBox1.AppendText(string.Format("Батькові: {0}\r\n", lang.GetPatrNameCase(Padeg.IMENITLN)));
                    textBox1.AppendText("\r\n");

                    Gender gender = lang.GenderAutoDetect();
                    textBox1.AppendText(string.Format("Стать: {0}\r\n", (gender == Gender.Man) ? "Чоловіча" : "Жіноча"));
                    textBox1.AppendText("\r\n");

                    textBox1.AppendText("Відмінки:\r\n");
                    textBox1.AppendText(string.Format(" Називний : {0}\r\n", m[0]));
                    textBox1.AppendText(string.Format(" Родовий  : {0}\r\n", m[1]));
                    textBox1.AppendText(string.Format(" Давальний: {0}\r\n", m[2]));
                    textBox1.AppendText(string.Format(" Знахідний: {0}\r\n", m[3]));
                    textBox1.AppendText(string.Format(" Орудний  : {0}\r\n", m[4]));
                    textBox1.AppendText(string.Format(" Місцевий : {0}\r\n", m[5]));
                    textBox1.AppendText(string.Format(" Кличний  : {0}\r\n", m[6]));
                }
            }
        }
コード例 #2
0
        public ActionResult <string> Post([FromBody] Payload value)
        {
            dynamic obj = new JObject();

            obj.version       = Core.Version;
            obj.languageBuild = Ru.LanguageBuild;
            Ru ru = new Ru();

            object[] m = ru.Q(value.FullName);
            obj.cases = new JArray(m);
            return(obj.ToString());
        }
コード例 #3
0
        public async static Task <Post[]> Thread(int threadId)
        {
            using var httpClient = new HttpClient();

            var html_bytes = await httpClient.GetByteArrayAsync(BaseUrl + $"showflat.php?Number={threadId}");

            var html_raw = Ru.GetString(html_bytes);

            html_raw = html_raw.Replace("this.scrollHeight > 49", "");
            var xhtml = NitroBolt.HtmlParsing.HtmlHelper.LoadXElementFromText(html_raw);

            var htmlBody = xhtml.Element("body");

            var bordersTable = htmlBody.Elements("table").ElementAtOrDefault(3)?.Descendants("table")
                               .FirstOrDefault(_table => _table.Attribute("class")?.Value == "tableborders");

            var postTable = bordersTable?.Elements("tr").ElementAtOrDefault(1)?.Element("td")?.Element("table");
            var postTrs   = (postTable?.Elements("tr")?.ToArray()).OrEmpty();

            var posts = new List <Post>();

            for (var i = 0; i < postTrs.Length; i += 2)
            {
                var postHeaderTr = postTrs[i];
                var postBodyTr   = postTrs[i + 1];

                var userTd    = postHeaderTr?.Elements("td")?.ElementAtOrDefault(0);
                var subjectTd = postHeaderTr?.Elements("td")?.ElementAtOrDefault(1);
                var bodyTd    = postBodyTr?.Element("td");

                var title      = subjectTd?.Element("table")?.Element("tr")?.Element("td")?.Element("b")?.Value?.Trim();
                var postIdName = userTd?.Element("a")?.Attribute("name")?.Value;
                var postId     = ConvertHlp.ToInt(postIdName?.StartsWith("Post") == true ? postIdName.Substring("Post".Length) : postIdName);

                if (postId == null || title?.EmptyAsNull() == null)
                {
                    continue;
                }


                var postBody = bodyTd?.Element("table")?.Element("tr")?.Element("td")?.Element("font");

                var bodyHtml = postBody.Nodes().Select(node => node.ToString()).JoinToString();

                posts.Add(new Post(postId.Value, title, bodyHtml));
            }

            return(posts.ToArray());
        }
コード例 #4
0
        public ActionResult <string> Get(string s)
        {
            string res = "";

            if (!string.IsNullOrWhiteSpace(s))
            {
                dynamic obj = new JObject();
                obj.version       = Core.Version;
                obj.languageBuild = Ru.LanguageBuild;
                Ru       ru = new Ru();
                object[] m  = ru.Q(s);
                obj.cases = new JArray(m);
                res       = obj.ToString();
            }
            return(res);
        }
コード例 #5
0
        public async static Task <Area[]> Areas()
        {
            using var httpClient = new HttpClient();

            var html_bytes = await httpClient.GetByteArrayAsync(BaseUrl + "ubbthreads.php");

            var html_raw = Ru.GetString(html_bytes);
            var xhtml    = NitroBolt.HtmlParsing.HtmlHelper.LoadXElementFromText(html_raw);

            var body = xhtml.Element("body");

            var areaTables = body.Elements("table").ElementAtOrDefault(2)?.Descendants("table").Where(_table => _table.Attribute("class")?.Value == "tableborders").ToArray();

            return(areaTables
                   .Select(areaTable => TableToArea(areaTable))
                   .ToArray());
        }
コード例 #6
0
ファイル: Model.cs プロジェクト: natali10101999/Krasnoturansk
        public void Check()
        {
            if (string.IsNullOrEmpty(UserAnswer))
            {
                Mode = IndicationMode.Normal;
            }
            else if (UserAnswer.ToLower() == Ru.ToLower())
            {
                Mode = IndicationMode.Correct;
            }
            else
            {
                Mode = IndicationMode.Error;
            }
            var a = PropertyChanged;

            if (a != null)
            {
                a(this, new PropertyChangedEventArgs("Mode"));
            }
        }
コード例 #7
0
        public async static Task <Thread[]> Threads(string boardName)
        {
            using var httpClient = new HttpClient();

            var html_bytes = await httpClient.GetByteArrayAsync(BaseUrl + $"postlist.php?Board={boardName}");

            var html_raw = Ru.GetString(html_bytes);
            var xhtml    = NitroBolt.HtmlParsing.HtmlHelper.LoadXElementFromText(html_raw);

            var body = xhtml.Element("body");

            var threadTable = body.Elements("table").ElementAtOrDefault(3)?.Descendants("table")
                              .FirstOrDefault(_table => _table.Attribute("class")?.Value == "tableborders");

            var threads = (threadTable?.Elements("tr")).OrEmpty().Skip(1)
                          .Select(tr => ParseThreadTr(tr))
                          .Where(thread => thread != null)
                          .ToArray();

            return(threads);
        }
コード例 #8
0
ファイル: Bestchoice.cs プロジェクト: otodo/Best-Resistance
        public void bestr()
        {
            int same = 1;
            Ru[] btr = new Ru[same];
            double tolmin = 1;

            foreach (Ru rueach in r)
            {
                if ((tolmin > rueach.toll))
                {
                    tolmin = rueach.toll;
                    same = 1;
                    btr = new Ru[same];
                    btr[0].toll = rueach.toll;
                    btr[0].ruu = rueach.ruu;
                    btr[0].rdd = rueach.rdd;
                    btr[0].runear = rueach.runear;

                }
                else if (tolmin == rueach.toll)
                {
                    same = same + 1;
                    btr.CopyTo(btr = new Ru[same], 0);
                    btr[same - 1].toll = rueach.toll;
                    btr[same - 1].ruu = rueach.ruu;
                    btr[same - 1].rdd = rueach.rdd;
                    btr[same - 1].runear = rueach.runear;
                }
            }

            Console.WriteLine();
            Console.WriteLine("Best choice");
            Console.WriteLine("Vo = {0}, Vref = {1}", vo, vref);
            foreach (Ru bestrueach in btr)
            {
                Console.WriteLine("Rd = {0:f2},\t Ru = {1:e3} ≒ {2:f},\t Vo tolerance = {3:e2} %",
                    bestrueach.rdd, bestrueach.ruu, bestrueach.runear, bestrueach.toll*P10(2));
            }
        }