Beispiel #1
0
 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;
 }
Beispiel #2
0
 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);
     }
 }
Beispiel #3
0
 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;
 }