(*~\Глагол\Приложения\ИныеЯП\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
(**)                         ОТДЕЛ Oberon07ruВГлагол+;
(*============================================================================*)
(* НАЗНАЧЕНИЕ:
//              Приложение "Перевод служебных слов ЯП Oberon07ru в
\\                                  служебные слова Глагола"                  *)
(*============================================================================*)

ИСПОЛЬЗУЕТ 
  ОС      ИЗ "..\..\Отделы\Обмен\",
 Параметр ИЗ "..\..\Отделы\Обмен\",
    Файл  ИЗ "..\..\Отделы\Обмен\",

  ИзФайла ИЗ "..\..\Отделы\Обмен\ВводВывод\",
   ВФайл  ИЗ "..\..\Отделы\Обмен\ВводВывод\",
  НаЭкран ИЗ "..\..\Отделы\Обмен\ВводВывод\",

  Слова_ГлаголOberon07ru ИЗ "..\..\Отделы\ИныеЯП\";


(*-----------------------------------------локальная ЗАДАЧА-------------------*)
ЗАДАЧА Ошибка1(ц-:ЦЕПЬ);
УКАЗ
  НаЭкран.ВсяЦепь(ц);
  НаЭкран.ВсяЦепь("^Перевод служебных слов ЯП Oberon07ru в Глагол: вх.файл(ы)<.ob07>");
  СТОП(1)
КОН Ошибка1;

(*-----------------------------------------локальная ЗАДАЧА-------------------*)
ЗАДАЧА Ошибка2(ц1-,ц2-:ЦЕПЬ);
УКАЗ
  НаЭкран.ВсяЦепь(ц1);
  Ошибка1(ц2)
КОН Ошибка2;

(*------------------------------------------ Главная ЗАДАЧА-------------------*)
ЗАДАЧА Голова();
ПЕР
  ч:ИзФайла.ДкПотоку;
  п:  ВФайл.ДкПотоку;

  поиск:Файл.нПоиск;
    имя:Файл.ВПолного;
УКАЗ
  ЕСЛИ
       Параметр.всего <= 1
  ТО
    Ошибка1("Нет имени входного файла")
  КОН;

        Параметр.Втекст(1,имя);
  ЕСЛИ
       НЕ ОС.ПервыйПоискФ(имя,поиск)
  ТО
    Ошибка2(имя," не найден(ы)")
  КОН;
  ПОВТОРЯТЬ
    СПИСАТЬ(поиск.имя,имя);
 
         ч:=ИзФайла.Открыть(имя);
    ЕСЛИ
         ч = ПУСТО
    ТО
       Ошибка2(имя," не открывается")
    КОН;
         ч.цВидЗнаков:=ИзФайла.знВин;

    НаЭкран.ВсяЦепь(имя);
    НаЭкран.ВсяЦепь(" -> ");

    Файл.ИзменитьТип(имя,".отд");

         п:=ВФайл.Открыть(имя);
    ЕСЛИ
         п = ПУСТО
    ТО
      Ошибка2(имя," не открывается")
    КОН;
         п.цВидЗнаков:=ВФайл.знУни;

    НаЭкран.ВсяЦепь(имя);
    НаЭкран.ВсяЦепь("^");

    Слова_ГлаголOberon07ru.Перевод(ч,п);

    ИзФайла.Закрыть(ч);
      ВФайл.Закрыть(п)
  ДО НЕ ОС.СледующийПоискФ(поиск)
КОН Голова;

(*-SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS-*)
УКАЗ
  Голова
КОН Oberon07ruВГлагол.
