public Slovo Translate(Predlozhenie a, int b) { c = new Slovo(); pozition_predl = b; predl = a; if (a == null || a[b] == null) return c; c = a[b]; if (c.eSlovo == "") return c; c.eSlovo = c.eSlovo.ToUpper(); char t = c.eSlovo[0]; if (t == 'R' || t == 'T' || t == 'Y' || t == 'U' || t == 'O') { lico = 3;//по умолчанию bool y = true; //переводим слово на русский и возвращаем GlagDict dict = new GlagDict(); logFormRus += "\nПеревод начальной формы: "; if (t == 'O') { haract = Haract.деепричастие; } if ((c.rSlovo = dict.TranslateEl(a[b].eSlovo)) != "") y = false;//поиск 1 if (c.rSlovo == "") c.rSlovo = dict.TranslateEl(ZamLit(a[b].eSlovo, 'R', 0));//поиск 2 if (c.rSlovo == "") c.rSlovo = dict.TranslateEl(OsnovaEl(a[b].eSlovo));//поиск 3 if (c.rSlovo == "") { logFormRus += "НЕТ В БАЗЕ ДАННЫХ"; c.rSlovo = c.eSlovo; return c; } logFormRus += "< " + c.rSlovo.ToUpper() + " >"; if (y) { c.rSlovo = RusForm(c.rSlovo); logFormRus += "\nПостановка формы: < " + c.rSlovo.ToUpper() + " >"; } } return c; }
public GlagModule(Slovo slovo, bool haract)//для тестирования { if (slovo != null) { if (haract) this.haract = Haract.глагол; else this.haract = Haract.деепричастие; this.c = slovo; LicoConvert(); c.rSlovo = RusForm(slovo.rSlovo); } }
public Slovo Analyze(Predlozhenie a, int b) { haract = Haract.глагол; c = new Slovo(); if (a == null || a[b] == null) return c; c = a[b]; if (c.eSlovo == "") return c; predl = new Predlozhenie(); predl = a; pozition_predl = b; c.eSlovo = c.eSlovo.ToUpper(); switch (c.eSlovo[0]) { case 'R'://[та] неопред.форма (инфинитив) c.naklonenie = Naklonenie.Infinitiv; Analize(); break; case 'T'://[ча] настоящее время изъяв. накл. c.naklonenie = Naklonenie.Izjavitelnoe; c.vremya = Vremya.Nastoyaschee; Analize(); break; case 'Y'://[ка] прошедшее время изъяв. накл. c.naklonenie = Naklonenie.Izjavitelnoe; c.vremya = Vremya.Proshedshee; Analize(); break; case 'U'://[ша] будущее время изъяв. накл. c.naklonenie = Naklonenie.Izjavitelnoe; c.vremya = Vremya.Buduschee; Analize(); break; case 'O'://[ма] деепричастие c.naklonenie = Naklonenie.Izjavitelnoe; haract = Haract.деепричастие; c.vremya = Vremya.Nastoyaschee; c.eSlovo = ZamLit(c.eSlovo, 'T', 0); Analize(); c.eSlovo = ZamLit(c.eSlovo, 'O', 0); break; } return c; }