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])); } } }
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()); }
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()); }
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); }
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()); }
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")); } }
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); }
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)); } }