|
Программируем по-русски
|
Основная задача Глагола — дать человеку возможность воплощать свои мысли на языке, близком к его родному языку. Издатель Глагола
|
(******************************************************************************) (**) ОТДЕЛ РусЛат+; (******************************************************************************) (* НАЗНАЧЕНИЕ: транслитерация файла, содержащего русские буквы *) (******************************************************************************) ИСПОЛЬЗУЕТ ОС ИЗ "...\Отделы\Обмен\", Знак ИЗ "...\Отделы\Иное\", Параметр ИЗ "...\Отделы\Обмен\", Читать ИЗ "...\Отделы\Обмен\", Писать ИЗ "...\Отделы\Обмен\", Вывод ИЗ "...\Отделы\Обмен\", Файл ИЗ "...\Отделы\Обмен\", Перевод ИЗ "...\Отделы\Иное\"; (******************************************************************************) ЗАДАЧА Ошибка1(ц-:ЦЕПЬ); УКАЗ Вывод.Цепь(ц); Вывод.Цепь("^РусЛат вх.файл вых.файл"); (* Пояснение: при записи текста в поток (в т.ч. на экран) * знак ^ обозначает переход на новую строку и сброс данных *) СТОП(1) КОН Ошибка1; (******************************************************************************) ЗАДАЧА Ошибка2(ц1-,ц2-:ЦЕПЬ); УКАЗ Вывод.Цепь(ц1); Ошибка1(ц2) КОН Ошибка2; (******************************************************************************) ЗАДАЧА Работа(ч:Читать.Поток; п:Писать.Поток); ПОСТ ЗНАКОВ=100; (* можем прочитать за раз ЗНАКОВ из файла *) ПЕР рус:ЦЕПЬ[ЗНАКОВ ]; лат:ЦЕПЬ[ЗНАКОВ*2]; УКАЗ ПОКА НЕ Читать.Конец(ч) ВЫП Читать.Строка(ч,рус); Перевод.ВЛат(рус,лат); Писать.ЗнакиЦепи(п,лат); ЕСЛИ Читать.НачалоСтроки(ч) ТО Писать.ЗнакЦепи(п,0DX); Писать.ЗнакЦепи(п,0AX) КОН КОН КОН Работа; (******************************************************************************) ЗАДАЧА Голова(); ПЕР ч:Читать.Поток; п:Писать.Поток; пимя,чимя:Файл.ВПолного; УКАЗ ЕСЛИ Параметр.всего < 2 ТО Ошибка1("Нет имени входного файла") КОН; ЕСЛИ Параметр.всего < 3 ТО Ошибка1("Нет имени выходного файла") КОН; Параметр.Текст(1,чимя); Параметр.Текст(2,пимя); ч:=Читать.Открыть(чимя); п:=Писать.Открыть(пимя); ЕСЛИ ч=ПУСТО ТО Ошибка2(чимя," не открывается") КОН; ЕСЛИ п=ПУСТО ТО Ошибка2(пимя," не открывается") КОН; ч.видЗнаков:=Читать.знУни; п.видЗнаков:=Писать.знУни; Работа(ч,п); Читать.Закрыть(ч); Писать.Закрыть(п) КОН Голова; УКАЗ Голова КОН РусЛат. ▲ Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com или Издателю Глагола:
|
|