Н.А.Богомолов, И.В.Зюряева МОСКВА НИВЦ МГУ, 2015

advertisement
Н.А.Богомолов, И.В.Зюряева
ТЕКСТОВЫЙ РЕДАКТОР TeConv v1.15
(комплексное редактирование каталогов и файлов)
МОСКВА
НИВЦ МГУ, 2015
2
СОДЕРЖАНИЕ
СТРУКТУРА РЕДАКТОРА.......................................................................................................................................... 4
ОСНОВЫ РАБОТЫ С РЕДАКТОРОМ ..................................................................................................................... 5
Настройки ................................................................................................................................................................ 6
Параметры ввода ................................................................................................................................................... 7
1. Параметры ввода для редактирования ...................................................................................................... 7
2. Параметры ввода для создания списков .................................................................................................... 8
3. Параметры ввода для файловых операций ............................................................................................. 10
Параметры вывода .............................................................................................................................................. 11
1. Параметры вывода для редактирования................................................................................................. 11
2. Параметры вывода для создания списков............................................................................................... 12
3. Параметры вывода для файловых операций.......................................................................................... 12
4. Параметры выходного и рабочего каталогов ......................................................................................... 13
ПРОТОКОЛ РАБОТЫ И ОТЛАДКИ ............................................................................................................... 14
УПРАВЛЕНИЕ РЕДАКТИРОВАНИЕМ.......................................................................................................... 17
РЕДАКТИРОВАНИЕ С ПРЕРЫВАНИЕМ ..................................................................................................... 18
ЗАМЕНА КОНТЕКСТОВ ........................................................................................................................................... 18
Контекст поиска (спецсимволы) ...................................................................................................................... 19
Контекст замены (спецсимволы)...................................................................................................................... 22
Группы и групповые операторы в контекстах поиска и замены ............................................................... 23
Таблица контекстов ............................................................................................................................................. 25
Файл запроса ......................................................................................................................................................... 26
Сборка строк и блоков редактирования в отдельный файл ........................................................................ 27
ЗАМЕНА КОДОВ ......................................................................................................................................................... 27
Входная кодировка............................................................................................................................................... 28
Выходная кодировка ........................................................................................................................................... 28
Таблица перекодировки ...................................................................................................................................... 29
Использование и получение кодировки Unicode ............................................................................................ 30
ЗАМЕНА РЕГИСТРА .................................................................................................................................................. 31
РАБОТА СО СПИСКАМИ ......................................................................................................................................... 32
Понятие списка ..................................................................................................................................................... 33
Создание списков ................................................................................................................................................. 33
Меню Файл(Список) ............................................................................................................................................ 34
ФАЙЛОВЫЕ ОПЕРАЦИИ ......................................................................................................................................... 36
СЦЕНАРИЙ РЕДАКТИРОВАНИЯ .......................................................................................................................... 40
ПЕРЕВОД МЕЖДУ СИСТЕМАМИ СЧИСЛЕНИЯ.............................................................................................. 42
РЕДАКТОР ФАЙЛОВ ................................................................................................................................................. 44
Параметры настройки ......................................................................................................................................... 45
Работа с файлами ................................................................................................................................................. 46
Команды ручного редактирования ................................................................................................................... 47
Контекстное редактирование ............................................................................................................................. 49
Замена HEX-констант ......................................................................................................................................... 50
Выборка фрагмента двоичного файла ............................................................................................................. 51
Получение аналога целого числа прописью ................................................................................................... 51
Вставка кодов шрифтов, спецсимволов HTML, календарных дат ............................................................ 51
Сервисная обработка текста .............................................................................................................................. 52
Формат-ресурс как база стилевого оформления текста............................................................................ 52
Создание Списков различной маркировки ................................................................................................. 56
Создание Таблиц, взаимосвязь с таблицами файлов других форматов ................................................ 58
Вставка Картинок для отображения в файлах других форматов ........................................................... 60
Выравнивание текста по ширине.................................................................................................................. 61
Проверка орфографии ..................................................................................................................................... 61
Сравнение файлов ................................................................................................................................................ 62
1. Сравнение по строкам ................................................................................................................................. 63
2. Сравнение по фрагментам .......................................................................................................................... 64
3. Поиск заданного фрагмента ....................................................................................................................... 65
ЛИТЕРАТУРА .............................................................................................................................................................. 68
3
ВВЕДЕНИЕ
Текстовый редактор "TeConv - комплексное редактирование каталогов и
файлов" представляет собой многопрофильный редактор текстовой
информации и состоит из Страничного блока и Редактора файлов.
Страничный блок предназначен для всестороннего редактирования файлов и
каталогов (как одного файла и каталога, так и множества файлов из заданных
каталогов), создания списков и выполнения файловых операций. Основные
функции Страничного блока:
-
контекстный поиск и замена найденных контекстов;
сборка строк и блоков редактирования в отдельный файл;
преобразование различных кодировок символов
(Win1251, KOI8-R, DOS и др.);
преобразование верхнего и нижнего регистров кодов;
создание информационных списков
(с заданиями на редактирование и выполнение файловых операций);
операции над файлами и каталогами
(с использованием и без использования списков);
создание сценариев редактирования;
перевод между различными системами счисления.
Редактор файлов
позволяет работать с файлом произвольного размера и
обеспечивает большое разнообразие видов редактирования и просмотра файла:
-
-
представление файла в разных режимах показа
(полная строка, короткая строка, двоичное представление);
представление файла в различных кодировках
(Win1251, KOI8-R, DOS);
контекстный поиск и замена найденных контекстов
(в текстовом и двоичном представлении);
редактирование текстового представления файла в виде полных и
коротких строк;
редактирование двоичного представления файла;
замена HEX-констант
выборка фрагментов двоичного файла
получение аналога целого числа прописью
cервисная обработка текста
(стилевое оформление, создание табличных файлов, выравнивание
текста по ширине, проверка орфографии);
4
-
сравнение файлов
(построчное, пофрагментное, фрагментный поиск);
печать файлов.
Пользователю предоставляется возможность работать как в полном варианте
редактора TeConv, так и с его отдельными частями, что достигается либо
выбором клавиши загрузки, расположенной в меню головного окна редактора
TeConv, либо через *.bat файл с соответствующим параметром командной
строки (указан в скобках):
{
{
{
{
{
Полная версия (ALL) }
Редактор файлов (ED) }
Каталоги и файлы (DFED) }
Списки и файловые операции (LED) }
Перевод систем счисления (NS) }
Примеры загрузки TeConv через *.bat файл:
TeConv.exe
TeConv.exe ED
TeConv.exe NS
//вызов меню головного окна
//вызов Редактора файлов
//вызов страницы перевода между системами счисления
Другие параметры
редактирования".
командной
строки
см.
в
разделе
"Сценарий
СТРУКТУРА РЕДАКТОРА
Полная версия текстового редактора TeConv состоит из пяти страниц
(разделов), каждая из которых предназначена для определенных видов работы
с файлами:
первая страница
- для контекстного поиска и замены (см. раздел
"Замена контекстов");
вторая страница
- для преобразования различных кодировок символов
(см. раздел "Замена кодов");
третья страница
- для преобразования верхнего и нижнего регистров
5
кодов (см. раздел "Замена регистра");
четвертая страница
- для создания информационных списков (см. раздел
"Создание списков");
пятая страница
- для операций над файлами и каталогами с
использованием и без использования списков (см.
раздел "Файловые операции");
шестая страница
- для перевода целых чисел между системами
счисления (см. раздел "Перевод между системами
счисления").
Переход со страницы на страницу осуществляется при выборе заголовка
ярлычка страницы, при этом страница становится активной и видимой на
экране.
Базовым элементом TeConv является автономный редактор, обеспечивающий
большое разнообразие вариантов просмотра и редактирования множества
файлов. Войти в него позволяет клавиша {Редактор файлов}, доступная с
любой страницы TeConv.
При работе с редактором TeConv пользователь может воспользоваться
справочной информацией, появляющейся на экране при нажатии клавиши
клавиатуры F1 или клавиши редактора {Помощь}.
ОСНОВЫ РАБОТЫ С РЕДАКТОРОМ
Каждая страница TeConv оперирует с входной и выходной информацией,
задаваемой через параметры ввода/вывода. Эти параметры сгруппированы в
одноименные контейнеры, элементы которых становятся доступными при
выборе элемента списка из опций: "Входной текст" или "Выходной текст"
(на страницах 1-3), "Источник списка" (на странице 4), "Тип операции" (на
странице 5). Таким образом, в начале работы со страницей необходимо
выбрать источник входной и выходной информации, после чего заполнить
формы, к которым открыт доступ (формы, не требующие заполнения для
заданного режима работы, становятся недоступными пользователю).
6
Редактирование файловых строк производится через диалоговое окно
"Управление редактированием файлов", которое позволяет пользователю
руководить процессом редактирования (отключить диалоговый режим
редактирования до выполнения определенных условий, приостановить процесс
в определенной точке, сделать коррекцию строк вручную, прервать редакцию
текущего сеанса или совсем ее прекратить и др.). Результаты редактирования
отражаются в протоколе работы.
Все страницы TeConv взаимосвязаны и могут обмениваться информацией в
процессе работы через параметры ввода/вывода; для обмена информацией (в
объеме одного файла) между различными программами Windows можно также
использовать системный обменный буфер Clipboard.
Редактор TeConv позволяет создавать при работе со Страничным блоком
сценарии редактирования, состоящие из макросов для отдельных этапов
редакции на заданных страницах. При запуске сценария на выполнение
воспроизводится редакция по всем указанным в сценарии страницам с
минимальным запросом на внешнее управление.
Настройки
Перед началом работы необходимо задать параметры настройки, вызвав
клавишей
{Настройки}, окно "Настройка общих параметров". Здесь
устанавливаются параметры работы:
"Параметры протокола" – режим создания протокола работы: перезапись
файла протокола заново или добавление информации в конец файла;
"Параметры установок" – в режиме автоматического сохранения установок
начальные значения параметров текущего сеанса устанавливаются такими же,
какими они были в предыдущем сеансе; установки предыдущего сеанса
хранятся в файле TeConv.ini, который автоматически заполняется в момент
закрытия сеанса и располагается в том же каталоге, где и основной
загрузочный файл TeConv.exe;
"Параметры контроля сохранения" – в режиме контроля сохранения
вызывается диалоговый запрос на сохранение модифицированного файла или
протокола работы перед закрытием редакторского окна;
"Количество элементов в раскрывающихся списках" - опция позволяет
установить размер раскрывающихся списков для выбора ранее сохраненной
7
информации (например, шаблонов входных файлов и т.п.). Диапазон значений
параметра от 6 до 16, по умолчанию устанавливается значение 8.
Параметры ввода
1. Параметры ввода для редактирования
Для различных видов редактирования (замена контекстов, замена кодов, замена
регистра) параметры ввода определяются по выбору одного из следующих
элементов раскрывающегося списка "Входной текст":
Входной каталог
- имя входного каталога, определяющего начало поиска
файлов;
Входной файл
- имя файла с полным путем доступа;
Буфер Clipboard
- системный обменный буфер, предназначенный для
обмена информацией (в объеме одного файла) между
различными программами Windows, а также внутри
редактора TeConv;
Левый список
- список, созданный в левом столбце информационной
таблицы (см. раздел "Создание списков");
Правый список
- список, созданный в правом столбце информационной
таблицы (см. раздел "Создание списков").
При задании параметров ввода необходимо заполнить ряд опций и
индикаторов, которые становятся доступными при конкретном выборе
источника входного текста:
"Входной каталог" или "Входной файл" - опция заполняется путем ручного
набора или в диалоге при нажатии клавиши {Выбрать};
"Режим замены" - опция выбирается из раскрывающегося списка и
определяет, как будет производиться редактирование - по содержимому файла
или по списку файлов, если рассматривать входной файл как файл со списком
(при работе с входным каталогом производится редактирование по
содержимому файлов, а при работе со списками - по списку файлов);
8
"Шаблоны входных файлов" - опция является маской для выбора имен
файлов из входного каталога и может содержать символы '?' и '*' для задания
единичного и произвольных символов имени (например, *.*, test?.txt); шаблон
задается через раскрывающийся список, позволяющий циклически хранить
несколько
вариантов
шаблонов
(количество
элементов
хранения
устанавливается общими настройками), в том числе и список шаблонов с
символом-разделителем ‘;’ ;
"Искать в подкаталогах" - индикатор, указывающий область поиска входных
файлов - по всем подкаталогам входного каталога или только в заданном
каталоге;
"Без учета регистра" - индикатор, указывающий учитывается ли регистр при
поиске контекстов;
"Входная кодировка" - кодировка содержимого входного файла (Win1251,
DOS, KOI8-R); при установке опции автоматического выбора (Auto), если
кодировка неизвестна, не всегда удается установить кодировку однозначно
(например, когда в тексте нет прописных русских букв или их нельзя выявить)
и в этом случае приоритет имеет кодировка Win1251.
2. Параметры ввода для создания списков
Для создания списков параметры ввода определяются по выбору одного из
следующих элементов раскрывающегося списка "Источник списка":
Входной каталог
- имя входного каталога, определяющего начало поиска
файлов или каталогов;
Выбор в диалоге
- a) создание списка файлов, путем выборки из
появляющегося диалогового окна (выбор нужных
файлов производится курсором при нажатой клавише
CTRL); следует иметь в виду, что расположение
выбранных файлов в списке не всегда соответствует
последовательности их выборки и для выполнения
определенных последующих действий (например,
объединение файлов списка в один) необходимо
отредактировать список вручную; для более быстрого
поиска необходимо установить начальный каталог и
шаблон файлов выборки; b) выбор элемента списка
каталога;
9
Файл со списком
- имя файла с полным путем доступа, содержащего
список имен; до этого файл мог быть создан любым
текстовым редактором или сохранен средствами Меню
Файл(Список);
Протокол
- создание списка файлов по протоколу работы,
созданному в процессе работы с другими страницами
редактора TeConv;
Буфер Clipboard
- системный обменный буфер, предназначенный для
обмена информацией (в объеме одного файла) между
различными программами Windows, а также внутри
редактора TeConv;
Абстрактный
- создание списка файлов или каталогов в соответствии с
задаваемыми параметрами-шаблонами.
При задании параметров ввода необходимо заполнить ряд опций и
индикаторов, которые становятся доступными при конкретном выборе
источника входного текста:
"Входной (базовый) каталог" или "Файл со списком" или "Начальный
каталог выборки" - опция заполняется путем ручного набора или в диалоге
при нажатии клавиши {Выбрать};
"Шаблоны входных файлов" - опция является маской для выбора имен
файлов из входного каталога и может содержать символы '?' и '*' для задания
единичного и произвольных символов имени (например, *.*, test?.txt); шаблон
задается через раскрывающийся список, позволяющий циклически хранить
несколько
вариантов
шаблонов
(количество
элементов
хранения
устанавливается общими настройками), в том числе и список шаблонов с
символом-разделителем ‘;’ ;
"Содержимое списка" - опция указывает на содержимое создаваемого списка:
файлы или каталоги;
"Уровень от базы" - опция состоит из двух полей, определяющих условие
выборки подкаталогов для списка: первое поле определяет режим выбора
уровня (= | >= | <=), а второе поле определяет номер уровня от базового
каталога; например, для включения всех подкаталогов базового каталога надо
задать комбинацию ‘>=1’, а только текущего базового каталога - комбинацию
‘=0’ ; опция становится доступной, если задан режим поиска в подкаталогах;
10
"Искать в подкаталогах" - индикатор, указывающий область поиска входных
файлов - по всем подкаталогам входного каталога или только в заданном
каталоге.
3. Параметры ввода для файловых операций
Для файловых операций параметры ввода определяются по выбору одного из
следующих элементов раскрывающегося списка "Тип операции":
- операции, использующие левый или правый
С одним списком
список;
С двумя списками
- операции, использующие оба списка;
Без списка
- операции, не использующие список;
По дереву каталогов
- операции над деревом каталогов и файлов в
рамках системы Windows.
При задании параметров ввода необходимо заполнить ряд опций и
индикаторов, которые становятся доступными при конкретном выборе
источника входного текста:
"Входной (базовый) каталог" или "Файл/каталог (с полным путем
доступа)" или "Каталог (с полным путем доступа)" – опция,
соответствующая типу операции, заполняется путем ручного набора или в
диалоге при нажатии клавиши {Выбрать};
"Шаблоны входных файлов" - опция является маской для выбора имен
файлов из списка и может содержать символы '?' и '*' для задания единичного и
произвольных символов имени (например, *.*, test?.txt); шаблон задается через
раскрывающийся список, позволяющий циклически хранить несколько
вариантов шаблонов (количество элементов хранения устанавливается общими
настройками), в том числе и список шаблонов с символом-разделителем ‘;’ ;
"Содержимое списка" - опция указывает на содержимое обрабатываемого
списка: файлы или каталоги;
"Базировать путь файла" - индикатор для операций с одним или двумя
списками, указывающий на необходимость добавления имени входного
(базового) каталога к именам файлов из списка;
11
"Левый список", "Правый список"
расположение списка в таблице просмотра.
-
индикатор,
определяющий
Параметры вывода
1. Параметры вывода для редактирования
Для различных видов редактирования (замена контекстов, замена кодов, замена
регистра) параметры вывода определяются по выбору одного из следующих
элементов раскрывающегося списка "Выходной текст":
Выходной каталог
- один или два каталога (выходной и рабочий) для
размещения выходных файлов и копий исходных
файлов;
Буфер Clipboard
- системный обменный буфер, предназначенный
для обмена информацией (в объеме одного
файла)
между
различными
программами
Windows, а также внутри TeConv;
Левый список
- список, создаваемый в левом информационном
столбце таблицы в окне "Просмотр и
редактирование списков";
Правый список
- список, создаваемый в правом информационном
столбце таблицы в окне "Просмотр и
редактирование списков".
При задании параметров вывода необходимо заполнить ряд опций и
индикаторов, которые становятся доступными при конкретном выборе
приемника выходного текста:
"Выходной каталог" и "Рабочий каталог (для копий)" опции
устанавливаются только при нажатии клавиши {Параметры}, которая вызывает
окно "Параметры выходного и рабочего каталогов";
"Сводный файл строк редактирования" - индикатор, указывающий на то,
что в результате контекстной замены отредактированные строки будут
собираться в единый файл с именем, задаваемым по запросу редактора;
12
"Только протокол"
индикатор, указывающий на то, что реальное
редактирование не происходит, а в протокол заносится предполагаемый
результат для предварительного изучения;
"Вид протокола" - раскрывающийся список, из которого выбирается вид
создаваемого протокола: “Кратко-информационный”, “Строки поиска/замены”,
“Список измененных файлов”, “Список неизмененных файлов”, “Без
протокола”, “Отладочный” ;
"Статистика для протокола" - индикатор, указывающий на то, что в конце
протокола выдается статистика по просмотренным файлам и каталогам.
2. Параметры вывода для создания списков
При создании списков учитывается ряд выходных параметров:
"Путь доступа от базы" - индикатор для определения вида файловых имен
для внесения в список – с полным путем доступа или неполным, от базового
каталога;
"Новый список" – индикатор, определяющий режим создания нового списка;
"Добавить в список" – индикатор, определяющий режим добавления в
существующий список;
"Левый список", "Правый список"
расположение списка в таблице просмотра.
-
индикатор,
определяющий
3. Параметры вывода для файловых операций
Для файловых операций параметры вывода определяются по выбору одного из
элементов раскрывающегося списка "Тип операции":
С одним списком
- операции, использующие левый или правый список;
С двумя списками
- операции, использующие оба списка;
Без списка
- операции, не использующие список.
13
При задании параметров вывода необходимо заполнить ряд опций и
индикаторов, которые становятся доступными при конкретном выборе
приемника выходного текста:
"Выходной каталог" - опция заполняется путем ручного набора или в диалоге
при нажатии клавиши {Выбрать};
"Структурировать по базе" - индикатор, указывающий на необходимость
создания перед выполнением операции переписи списка файлов структурного
дерева базового каталога в выходном каталоге ;
"Использовать корзину" - индикатор, указывающий на необходимость
помещать удаляемые каталоги и папки в корзину при выполнении файловых
операций;
"Шаблоны файлов очистки" – опция является маской для выбора имен
файлов очистки; полезные шаблоны файлов очистки: * - любые файлы (по
умолчанию), *. - файлы без расширения, *.* - файлы с произвольным
расширением; шаблон задается через раскрывающийся список, позволяющий
циклически хранить несколько вариантов шаблонов (количество элементов
хранения устанавливается общими настройками), в том числе и список
шаблонов с символом-разделителем ‘;’ ;
"Режим очистки подкаталогов" – раскрывающийся список, из которого
выбирается вид очистки подкаталогов - удалять, сохранять или не чистить.
4. Параметры выходного и рабочего каталогов
Диалоговое окно "Параметры выходного и рабочего каталогов" открывается
опцией "Запись измененных файлов", выбранный элемент которой указывает
место, куда будут помещаться отредактированные файлы – в рабочий каталог
или в исходный каталог. При выборе исходного каталога в качестве выходного,
его имя будет совпадать с именем входного каталогом. В случае
редактирования по списку (файл или буфер обмена со списком, правый или
левый список) исходный каталог задается словосочетанием "ListFiles (путь к
каталогу в списке)", и это означает, что выходные файлы разместятся там же,
где находятся исходные файлы списка.
Опция "Сохранять копии" позволяет задать рабочий каталог для сохранения
исходных файлов. Дополнительные параметры определяют вид и содержание
рабочего каталога:
14
- индикатор копирования дерева (структуры) исходного каталога в рабочий
каталог;
- опция для копирования исходных файлов в рабочий каталог (все исходные
файлы, только просмотренные файлы, только измененные файлы).
При выборе рабочего каталога в качестве выходного, дополнительным
параметром является индикатор копирования дерева исходного каталога. Имя
рабочего каталога автоматически отображается как выходной каталог. Выбор
рабочего каталога осуществляется путем ручного набора или в диалоге при
нажатии клавиши {Выбрать}. В открывшемся окне для выбора рабочего
каталога появляется возможность обращения к функциям, обеспечивающим
подготовку рабочего каталога к работе:
Удаление файлов
- чистка
текущего
каталога
(подкаталоги сохраняются);
от
файлов
Удаление каталога
- полная чистка текущего каталога и его удаление;
Создание каталога
- создание нового каталога по запрашиваемому
имени.
ПРОТОКОЛ РАБОТЫ И ОТЛАДКИ
Протокол работы создается в процессе редактирования всегда и хранится в
файле _protoc.txt, который располагается в том же каталоге, где и основной
загрузочный файл TeConv.exe. Вид протокола определяется опцией "Вид
протокола", которая содержит типы протокола (“Кратко-информационный”
(тип 1), “Строки поиска/замены” (тип 2), “Список измененных файлов” (тип 3),
“Список неизмененных файлов” (тип 3)) :
<Заголовок протокола>
===================
~~Базовый каталог: <полное имя каталога>
=================================
>
~~Каталог: <имя каталога относительно базового каталога>
~~Файл неизменен: <имя файла>
(тип 1)
~~Файл изменен: <имя файла>
15
..........................
~~Каталог: <имя каталога относительно базового каталога>
~~Файл изменен: <имя файла>
~~Строка: <номер строки файла>
(тип 2)
<исходная строка>
<измененная строка (после редактирования)>
..........................
~~<имя каталога относительно базового каталога> <имя файла>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (тип 3)
~~<имя каталога относительно базового каталога> <имя файла>
..........................
В протоколе типа 1 для каждого подкаталога относительно базового каталога
выдаются имена всех файлов с отметкой об изменениях в процессе
редактирования. В протоколе типа 2 выдается информация только об
измененных файлах: исходная и измененная строка файла. В протоколе типа 3
формируется список имен, измененных или неизмененных в процессе
редактирования файлов, вместе с путем доступа относительно базового
каталога.
Протокол может отражать статистику (если задана опция "Статистика для
протокола") о просмотренных и отредактированных файлах по всем текущим
каталогам просмотра, а также по одному файлу, если входная информация – не
каталог. Таблица статистики содержит информацию по каждому
просмотренному каталогу о числе измененных строк, числе измененных и
неизмененных файлов, числе строк и байт в измененных и неизмененных
файлах, числе найденных контекстов, времени, затраченном на редактирование
каждого подкаталога, а также итоговую строку, суммирующую результаты по
всем подкаталогам. Для одного файла таблица статистики содержит только
информацию о числе измененных строк файла, числе найденных контекстов и
времени, затраченном на редактирование файла.
Протокол типа 1 может быть использован для создания списков файловых имен:
измененных, неизмененных и всех файлов. В процессе работы пользователь
имеет возможность просмотреть протокол (клавиша {Показать}) и сохранить
его под запрашиваемым именем (клавиша {Сохранить}).
Кроме этого существует два специальных режима протокола: “Без протокола“
и “Отладочный“. В первом случае протокол не содержит никакой информации
о процессе редактирования, а во втором случае можно получить информацию о
прохождении процесса редактирования, настроив протокол непосредственно
перед началом редактирования. Для этого двойным кликом мышки по опции
16
“Отладочный” следует вызвать окно для задания параметров отладочного
протокола, которые включают в себя выдаваемые строки таблицы контекстов,
ячейки общего архива, системные переменные, строки блока редактирования и
номера строк файла редактирования. Отладочный протокол текущей редакции
сохраняется под именем _prototl.txt и содержит для каждого шага
редактирования из заданного диапазона таблицы контекстов:
Контекст поиска: <контекст поиска текущей строки>
Контекст замены: <контекст замены текущей строки>
Указатель по таблице контекстов: <номер строки таблицы>
Выполнено условие <номер условия>; r*=. . .; l*=. . .
Входная строка:_<набор текстовых и двоичных символов>
Указатель по строке: <номер символа в строке>
{{N}}: <содержимое N-ой ячейки архива>
sysvarN: <содержимое N-ой системной переменной>
{10}|N0..N1: <содержимое диапазона строк блока редактирования>
N: <номер строки файла редактирования>
При выполнении сценария помимо основного протокола редактирования
создается протокол прохождения сценария _protscr.txt, который становится
доступным к просмотру и сохранению после выполнения сценария и содержит:
<Заголовок протокола>
~~Сценарий редактирования из: <файл сценария>
#[<имя страницы редактирования>] {1}
><команда/операция[: <параметр>,…<параметр>]>
...........................
#[<имя страницы редактирования>] {n}
><команда/операция[: <параметр>,…<параметр>]>
КОНЕЦ СЦЕНАРИЯ
17
УПРАВЛЕНИЕ РЕДАКТИРОВАНИЕМ
Управление редактированием файлов осуществляется через одноименное
диалоговое окно. В окне отражена информация об активной странице
редактора TeConv, имя файла и номер редактируемой строки, контексты
поиска и замены. Входные и выходные строки файла выводятся на экран и при
контекстной замене найденный контекст поиска и контекст замены в строках
выделяются цветом. Выходная строка может быть также отредактирована
вручную с использованием клавиатуры:
ENTER
BACKSPACE
Позиция курсора
- разрыв строки;
- удаление символа, стоящего перед курсором;
- перед началом следующего поиска.
Пользователю предоставляется возможность выбора - выполнить или
пропустить редакцию, нажав одну из следующих клавиш соответствующей
группы:
{Единичная замена}
- для найденного контекста;
{До конца текущего файла}
- для всех контекстов в текущем файле;
{Для файлов текущего типа} - для всех файлов с текущим расширением;
{Для всех входных файлов}
- до конца текущей редакции.
Процесс редактирования можно приостановить посредством клавиши
{Приостановить}. При этом создается список всех уже найденных и
обработанных файлов и запоминается текущее состояние параметров
редактирования. Продолжение редактирования может быть выполнено в
следующем сеансе или же в текущем сеансе на любой странице TeConv. Для
продолжения редактирования следует нажать клавишу {Продолжить}, по
которой вызывается окно "Параметры продолжения редактирования". Это
окно позволяет осуществить подготовку к дальнейшему редактированию и
продолжить процесс редактирования файлов.
Процесс редактирования можно оборвать в редакторском диалоге посредством
нажатия клавиши {Закончить} или непосредственно в момент редактирования
посредством клавиши ESC. В этом случае перед окончанием процесса
запоминание текущего состояния параметров редактирования не происходит.
18
РЕДАКТИРОВАНИЕ С ПРЕРЫВАНИЕМ
Процесс редактирования может быть приостановлен, т.е. временно прерван
(например, для изменения параметров редактирования) путем управления
редактированием. Для продолжения прерванного редактирования необходимо
установить ряд опций в окне "Параметры продолжения редактирования" (эти
опции используют информацию рабочих файлов, сформированных при выходе
из предыдущего сеанса редактирования):
"Начало редактирования" - определяет имя файла и позицию в нем для
продолжения редактирования. При выборе опции "С начала файла,
выбранного из списка...", появляется окно "Список отредактированных
файлов", в котором находятся имена файлов уже отредактированных к данному
моменту. Таким образом, выбрав файл из этого списка, можно задать
повторное редактирование;
"Шаблоны поиска и замены" - могут быть взяты из предыдущего сеанса или
же заданы заново в текущем сеансе; однако следует отметить, что при
продолжении процесса редактирования при установке любой начальной
позиции поиск всегда начинается с начала заданной таблицы контекстов;
"Режим записи в протокол" – параметр определяет работу с протоколом:
производить дозапись в предыдущий протокол или оставить режим записи в
протокол, установленный общими настройками.
Входной каталог и шаблоны входных файлов всегда должны соответствовать
предыдущему сеансу, в противном случае пользователь получит запрос на их
соответствие и в случае отрицательного ответа продолжения редакции не
будет. После установки параметров редактирования продолжение процесса
осуществляется клавишей {Продолжить редактирование}.
ЗАМЕНА КОНТЕКСТОВ
19
Контекстная замена символов производится путем поиска всех контекстов
последовательно, начиная с первого символа строки, затем второго, третьего и
т.д. пока контекст не будет найден. После замены контекста поиск контекстов в
строке продолжается с символа, стоящего во входной строке после найденного
контекста. Поиск контекстов по строке прекращается при просмотре всех
символов строки. Если контекст поиска содержит 16-ный контекст (начинается
с символа '\'), то при чтении исходной строки к ней присоединяются символы
конца строки #$d#$a (соответствуют контексту \0d\0a) и это обстоятельство
позволяет задавать контекстные замены, изменяющие или использующие
конец строки. Полезные контексты, в частности содержащие символы конца
строки, находятся в локальной базе данных контекстов и могут быть загружены
из базы данных в таблицу контекстов для последующей модификации и
использования.
Область поиска и размещение результата редактирования определяются
заданием параметров ввода/вывода для редактирования. Существенным
моментом является выбор при вводе режима замены, который определяет
способ редактирования входного текста. Возможны два варианта работы:
редактирование содержимого входного текста или интерпретация входного
текста как файла со списком, каждая строка которого определяет полное имя
входного файла, текст которого и будет редактироваться.
Контексты берутся из заданной на экране таблицы контекстов, которую можно
набрать вручную или загрузить из файла запроса. Для удобства редактирования
таблицы можно использовать ее укрупненный вид, вызываемый из
вспомогательного меню при нажатии правой кнопки мыши. Параметры ввода,
вывода и редактирования необходимо задать перед запуском программы
редактирования.
Работа программы начинается при нажатии клавиши {Начать} и происходит в
диалоговом режиме (см. управление редактированием файлов). Клавиша
{Продолжить}
обеспечивает продолжение редакции, если перед этим
предыдущий процесс редакции был прерван.
Контекст поиска (спецсимволы)
%
- контекст ищется в начале строки (следующий
символ контекста - первый в строке);
$
- контекст ищется в конце строки (предшествующий
символ контекста - последний в строке);
20
?
- любой символ строки;
*
- предыдущий символ (символьное выражение или
группа) может повторяться 0 или более раз;
+
- предыдущий символ (символьное выражение или
группа) может повторяться 1 или более раз;
[]
- символьное выражение, определяющее набор
символов, допустимых в контексте; например,
[abcd] означает, что контекст может содержать
символы a или b или с или d ;
-
- диапазон символов, задаваемых в выражении;
например, [a-bd-z] означает, что контекст может
содержать любую букву от a до z, кроме c ;
~
- a) операция отрицания в выражении; например,
[~abc] означает, что контекст может содержать
любой символ, кроме символов a, b или c ;
b) отрицание наличия символов в строке между
найденными группами; например контекст поиска
{aa}~{bb} в строке aaccbbccaabb соответствует
только подстроке aabb , т.к. между группами нет
других символов;
- следующий символ в контексте не управляющий;
например, для поиска символа ? надо задать @? ;
@
|
- символы контекста должны удовлетворять или
предыдущему (до | ) или последующему (после | )
условиям; например; bc|d означает, что в
контексте могут быть символы abc или abd ;
{}
- группа, состоящая из отдельных символов или
символьных выражений, к которой могут быть
применены также операции +, * и |; например,
{ab}|{cd}; каждая группа в шаблоне поиска
нумеруется от 1 до 9 и аналогичный номер имеет
найденный для нее контекст; например, каждой
группе из шаблона {%a?c|d}{a?c|d}{a?c|d$} в
строке aed abc abd соответствуют три группы
контекстов: 1-я группа - aed , 2-я группа - abc , 3-я
21
группа - abd ;
\
- следующие
два
символа
задают
представление контекста; например, \0d ;
16-ное
%% - спецсимволы стоят в начале контекста и
определяют последующий контекст поиска
начальной строки блока редактирования (см.
раздел "Сборка строк и блоков редактирования в
отдельный файл");
$$
- спецсимволы стоят в начале контекста и
определяют последующий контекст поиска
конечной строки блока редактирования (см. раздел
"Сборка строк и блоков редактирования в
отдельный файл").
Примеры контекстной замены:
Контекст поиска:
Контекст
замены:
POISK
@*+I|j
$
[ab]+c
{p1}{p2}{p3}
ABC
#2#3#1
{?*}
<b>#1</b>
{?*aa?*}|{?*bb?*}
<i>#1</i><br>
{Stroca 1}
#1\0d\0aStroca 2
{#0000FF}|{BLUE} @#0000CC
{%a?b}|{b?a$}
""
{%?}
{?$}
\0a
<p>#1
#1</p>
\0d\0a
" "\0d
\0d
Комментарий:
поиск
контекста
POISK
(тождественная замена);
перенос строки перед символами *i,
*j, **i, **j, ...;
замена символов abc, ababc, ...;
перестановка групп в строке
p1,p2,p3 в строку p2,p3,p1 ;
обрамление тегами всей строки
<b> … </b> ;
обрамление
тегами
строк,
содержащих контексты aa или bb ;
замена одной строки Stroca1 на две
Stroca1 и Stroca2 ;
замена цветового кода, заданного
разными кодировками;
исключение концевых контекстов с
любым центральным символом;
добавление тега в начало строки;
добавление тега к концу строки;
замена концов строк (например, для
разделения "слитых" строк);
Исключение конечного пробела
22
строки
(для
представления).
двоичного
Контекст замены (спецсимволы)
%
- удаление найденного контекста в строке поиска (для
удаления группы n из строки ставится после #n);
$
- вставка символа переноса каретки /новая строка/
перед контекстом поиска (для переноса группы n на
следующую строку ставится перед #n);
#n
- вставка контекста, соответствующего группе с
номером n (предполагается, что найденный контекст
содержал не менее n групп);
#*
- вставка контекста, соответствующего любой из
найденных альтернативных групп;
#[ ]
- групповой оператор - вычисляемый контекст замены
на базе групп контекстов поиска и блоковых
функций (см. "Текстовый Редактор TeConv.
Специальные
средства
для
контекстного
редактирования");
@
- следующий символ в контексте не управляющий;
например, для вставки символа # надо задать @# ;
\
- следующие
два
символа
задают
16-ное
представление контекста; например, конец строки
\0d .
Если контекст замены содержит символ пробела или двойные кавычки, то весь
контекст надо заключить в двойные кавычки; пустые двойные кавычки в
контексте замены означают, что контекст поиска будет исключен из входной
строки; пустой контекст замены сохраняет контекст поиска в неизменном виде.
Использование групп в контекстах замены обеспечивает достаточно большие
возможности контекстного редактирования файловых строк. Подробнее
23
аппарат групп описан в разделе "Группы и групповые операторы в контекстах
поиска и замены".
Примеры контекстной замены:
Контекст поиска:
Контекст
замены:
POISK
@*+I|j
$
[ab]+c
{p1}{p2}{p3}
ABC
#2#3#1
{?*}
<b>#1</b>
{?*aa?*}|{?*bb?*}
<i>#1</i><br>
{Stroca 1}
#1\0d\0aStroca 2
{#0000FF}|{BLUE} @#0000CC
{%a?b}|{b?a$}
""
{%?}
{?$}
\0a
<p>#1
#1</p>
\0d\0a
" "\0d
\0d
Комментарий:
поиск
контекста
POISK
(тождественная замена);
перенос строки перед символами *i,
*j, **i, **j, ...;
замена символов abc, ababc, ...;
перестановка групп в строке
p1,p2,p3 в строку p2,p3,p1 ;
обрамление тегами всей строки
<b> … </b> ;
обрамление
тегами
строк,
содержащих контексты aa или bb ;
замена одной строки Stroca1 на две
Stroca1 и Stroca2 ;
замена цветового кода, заданного
разными кодировками;
исключение концевых контекстов с
любым центральным символом;
добавление тега в начало строки;
добавление тега к концу строки;
замена концов строк (например, для
разделения "слитых" строк);
исключение конечного пробела
строки
(для
двоичного
представления).
Группы и групповые операторы в контекстах поиска и замены
Мощным средством контекстного редактирования является определение и
использование групп. В строке поиска допускается нахождение не более 9
групп, которые идентифицируются границами байтовых диапазонов в
исходной строке для каждой найденной группы. Каждая группа в контексте
поиска задается в граничных спецсимволах {…}. Контекст поиска может
содержать последовательность групп (неальтернативный групповой контекст)
24
или группы, разделенные символом ‘|’ (альтернативный групповой контекст).
Для неальтернативного группового контекста действуют следующие правила:
- если хотя бы одна из групп в контексте не найдена, то и весь контекст
поиска считается не найденным;
- если в контексте поиска группа соседствует с другими негрупповыми
конструкциями, то контекст группы будет найден, если соответствующие
этим конструкциям символы будут непосредственно "примыкать" в
строке поиска к символам группы;
- если контекст поиска состоит только из групп, то найденные групповые
контексты могут произвольно отстоять друг от друга в строке поиска,
при этом, не нарушая порядок следования групп.
Альтернативный групповой контекст считается найденным, если найдена хотя
бы одна заданная группа.
В соответствии со стандартными правилами, контекстная замена групп
определяется номером n в контексте замены #n и местом положения этого
подконтекста в полном контексте замены: порядок расположения подконтекста
#n относительно всех групп в полном контексте замены соответствует номеру
группы, которую надо заменить, а номер группы n - на какую группу надо
заменить. Например, контекст замены #3#1#2 означает, что первая группа
меняется на третью, вторая на первую, а третья на вторую, при этом
сохраняются символы исходной строки, расположенные между группами.
Иногда для всех групп делается однотипная редакция, тогда в качестве номера
группы в контексте замены используется символ * (например, исключение всех
групп входной строки: #*% ).
Для удаления символов группы из строки необходимо в контексте замены
спецсимвол % поставить сразу же за группой ( #n% ). Разделение строки
происходит по ряду правил:
- перед контекстом, которому предшествует спецсимвол $ (например,
разделение строки, содержащей контексты n1 и n2, перед контекстом n2 :
#n1$#n2 или #n1$ );
- перед первым контекстом в строке поиска, если в строке замены не был
еще использован ни один из найденных контекстов (например, вставка
новой строки перед первым контекстом строки, содержащей контексты
n1 и n2, если контекст n1 находится в начале строки : новая строка$ );
- за контекстом, если этот контекст последний в строке поиска (например,
разделение строки, содержащей контексты n1 и n2, после последнего
контекста : #n2$ ).
Вместо номера группы в контексте замены может быть задана
последовательность групповых операторов, позволяющая значительно
расширить и идентифицировать область контекстных преобразований.
25
Подробно эта методика описана в статье "Текстовый Редактор TeConv.
Специальные средства для контекстного редактирования".
Таблица контекстов
Таблица контекстов может быть набрана вручную или загружена из ранее
созданного файла запроса (клавиша {Загрузить запрос}). Находящаяся на
экране таблица может быть также записана в файл (клавиша {Сохранить
запрос}) под заданным в файле запроса именем.
Каждая строка таблицы контекстов состоит из четырех столбцов: [номер
контекста], контекст поиска, контекст замены, [комментарий]. Первый и
четвертый столбцы необязательны, но если не задан комментарий, то при
сохранении контекста он определяется как "Контекст <номер строки
таблицы>".
Ячейки таблицы контекстов можно редактировать, используя клавиши:
ENTER
DELETE
Ctrl+DELETE
Ctrl+INSERT
TAB, стрелки
- добавление пустой строки в конец
таблицы, если заполнен последний
столбец таблицы;
- удаление символов в ячейке таблицы;
- удаление строки, содержащей курсор;
- вставка пустой строки таблицы перед
строкой, содержащей курсор;
- "хождение" по строкам и столбцам
таблицы.
Для удобства набора и редактирования таблицы контекстов можно развернуть
таблицу, используя вспомогательное меню, вызываемое правой кнопкой мыши.
Это меню позволяет также очистить таблицу или занести в таблицу
спецсимволы контекстов поиска и замены. При наборе контекста можно с
помощью двойного щелчка мыши по соответствующей ячейке отобразить ее в
нижней части окна, что облегчает набор и редактирование текста. Убирается
строка с экрана двойным щелчком мыши по ней. Символ ' ! ' в первой позиции
контекста поиска является признаком комментария для всей строки таблицы
контекстов.
26
Файл запроса
Файл запроса на контекстное редактирование является текстовым файлом
следующей структуры:
[Заголовок файла]
>
~~<Комментарий для контекста 1>
<Контекст поиска 1>
<Контекст замены 1>
...................
~~< Комментарий для контекста n>
<Контекст поиска n>
<Контекст замены n>
Файл запроса может быть создан путем сохранения таблицы контекстов в
файле (клавиша {Сохранить запрос}) или набран в каком-либо текстовом
редакторе. Загрузка файла запроса осуществляется клавишей {Загрузить
запрос}.
При записи и чтении запроса должно быть задано полное имя файла запроса в
опции "Файл запроса". Эта опция является раскрывающимся списком,
элемент которого “Выбор в диалоге”, вызываемая двойным кликом мышки,
дает возможность пользователю выбрать файл из каталога в диалоговом окне, а
не набирать вручную его полное имя. Если в опции выбран элемент
“Системный файл”, то по умолчанию файл запроса сохраняется (а в
последствии оттуда читается) в рабочем файле _tabcnt.tab, расположенном в
том же каталоге, что и загрузочный файл TeConv.exe. Если в опции выбран
элемент “База данных”, то контекст может быть экспортирован (загружен) из
локальной базы данных, расположенной там же, где и загрузочный файл (база
данных Paradox в файлах TeConvC.db, TeConvC.mb, TeConvC.px). База данных
доступна для чтения, редактирования и записи запросов посредством клавиш
загрузки или сохранения запроса.
Работа с базой данных производится в специальном окне, которое содержит
навигатор по базе данных и средства редактирования базы. Запрос,
выбираемый из базы или помещаемый в базу, отображается в обменной
таблице, которая взаимосвязана с записью, выделенной в базе средствами
навигации или добавленной в конец базы при использовании клавиши Tab .
Запись отредактированного запроса в базу данных может происходить в двух
режимах: с использованием кэширования (по умолчанию) или без него. При
кэшировании все изменения сохраняются в памяти локально и требуется
27
нажатие специальной кнопки записи для фиксации этих изменений в базе
данных.
Сборка строк и блоков редактирования в отдельный файл
При контекстном редактировании имеется возможность собирать
отредактированные строки или блоки из одного или нескольких
просматриваемых файлов в отдельный файл. Для этой цели необходимо задать
опцию "Сводный файл строк редакции" и сформировать таблицу
контекстов. Если для контекста поиска отсутствует контекст замены, то это
означает, что найденная по контексту поиска строка войдет в сводный файл без
изменения. Имя выходного сводного файла будет запрошено в процессе
редактирования, а разместится он в заданном выходном каталоге. Контексты
поиска/замены для выборки одной строки задаются обычным образом, а для
поиска блока редактирования, который может включать несколько файловых
строк, задается блоковый контекст поиска, в котором специальные
конструкции (%% и $$) определяют поиск начальной и конечной строки блока:
%%<контекст поиска начальной строки блока>
<контекст поиска внутренних строк блока>
$$<контекст поиска конечной строки блока>
Более подробно описание блока и использование его как инструмента при
контекстной замене дано в работе "Текстовый Редактор TeConv. Специальные
средства для контекстного редактирования".
Сборка строк и блоков редактирования в отдельный файл может успешно
использоваться в сценариях, где существует возможность организовать
итерационный процесс для программно изменяемых контекстов поиска (см.
раздел "Сценарий редактирования").
ЗАМЕНА КОДОВ
Замена кодов затрагивает кодирование русских букв (символы с кодами 128255) в различных кодировках, которыми в основном эти кодировки и
отличаются, т.к. кодировка латинских букв (символы с кодами 0-127) является
их общей частью. Область поиска и размещение результата редактирования
28
определяются заданием параметров ввода/вывода для редактирования.
Существенным моментом является выбор при вводе режима замены, который
определяет способ редактирования входного текста. Возможны два варианта
работы: редактирование содержимого входного текста или интерпретация
входного текста как файла со списком, каждая строка которого определяет
полное имя входного файла, текст которого и будет редактироваться.
Установка входной кодировки и выходной кодировки осуществляется путем
выбора соответствующих значений из одноименных списков. Помимо этого
можно использовать при замене кодов таблицу перекодировки пользователя,
которая задается в специальном окне, вызываемом клавишей {Задать таблицу
перекодировки}. Доступ к этой клавише появляется при установке индикатора
"Использовать таблицу перекодировки". Параметры ввода, вывода и
редактирования
необходимо
задать
перед
запуском
программы
редактирования.
Работа программы начинается при нажатии клавиши {Начать} и происходит в
диалоговом режиме (см. управление редактированием файлов). Клавиша
{Продолжить}
обеспечивает продолжение редакции, если перед этим
предыдущий процесс редакции был прерван.
Входная кодировка
Входная кодировка выбирается из переключательного списка. Кроме
стандартных кодировок (Win1251, DOS, KOI8-R) предлагается кодировка Lat1
- представление одной русской буквы как одна латинская для букв одинакового
начертания. При необходимости, выбор исходной кодировки можно сделать
автоматически (Auto), если кодировка неизвестна, но правильность
определения будет гарантирована только тогда, когда экспертизе подвергается
полноценный русскоязычный текст, т.е. в нем содержатся предложения,
начинающиеся с прописной буквы после точки.
Выходная кодировка
Выходная кодировка выбирается из переключательного списка. Кроме
стандартных
кодировок
(Win1251,
Win1251(нижний
регистр),
Win1251(верхний регистр), DOS, KOI8-R) предлагаются кодировки: Lat1 представление одной русской буквы как одна латинская для букв одинакового
начертания, LatN – представление одной русской буквы как сочетание
29
нескольких латинских (транслитерирование), Rus - русская транскрипция
латинских букв (детранслитерирование).
Например:
Win1251
ЧАСЫ
Щель
->
LatN
CHASY
schel'
Win1251
Yulya
Yula
->
Rus
Юля
Юла
Таблица перекодировки
Таблица перекодировки пользователя задает исходную и выходную кодировку
символов для выполнения замены кодов.
Строка таблицы перекодировки представляет из себя номер байта, за которым
через пробел в фигурных скобках приводится его символьное представление во
входной кодировке (для неосновных символов приводится значение {-}), затем
следует указатель и далее в фигурных скобках символьное представление в
выходной кодировке. После этого через пробел записывается выходной код,
которому предшествует символ '\' (обратный слэш). Например,
042 {*}->{*} \042
Пользователь может отредактировать выходной код в строке таблицы.
Символы перекодировки (в любом количестве) записываются после последней
закрывающей фигурной скобки, за которой следует не менее одного пробела, и
могут быть заданы двумя способами:
- своим символьным представлением,
- цифровой кодировкой, которой предшествует символ '\' .
Например, для кодировки Win1251 строка таблицы перекодировки символа * в
!*! (один в три) может быть задана одним из следующих способов:
042 {*}->{*} !*!
042 {*}->{*} \033\042\033
042 {*}->{*} \033*!
Таблица перекодировки создается в окне "Таблица перекодировки
пользователя", вызываемом клавишей {Задать таблицу перекодировки}, и
строится, как правило, на основе таблицы-шаблона, которую можно загрузить,
выбрав входную и выходную кодировки, а затем вручную отредактировать.
30
Можно загрузить таблицу клавишей {Загрузить таблицу из файла}, если она
была создана раньше, задав полное имя файла перекодировки в опции "Файл
перекодировки". Эта опция является раскрывающимся списком, элемент
которого “Выбор в диалоге” дает возможность пользователю выбрать файл из
каталога, а не набирать вручную его полное имя. Готовую таблицу
перекодировки можно сохранить на диске под заданным там же именем, нажав
клавишу {Сохранить таблицу в файле}.
Использование и получение кодировки Unicode
Наиболее распространенной кодировкой текста для обмена информацией
является ASCII - 7-битная компьютерная кодировка для представления
латинского алфавита, десятичных цифр, некоторых знаков препинания,
арифметических операций и управляющих символов (вариант ASCII без
национальных символов называется US-ASCII). Впоследствии оказалось
удобнее использовать 8-битные кодировки (кодовые страницы), где нижнюю
половину кодовой таблицы (0—127) занимают символы US-ASCII, а верхнюю
(128—255) — разные другие нужные символы (например, символы
кириллицы).
Проблемы с перекодировкой из одной таблицы в другую, а также
необходимость показывать на странице текста различные языки привели к
созданию Юникод (Unicode) — стандарта кодирования символов,
позволяющего представить знаки практически всех письменных языков.
Применение этого стандарта позволяет закодировать очень большое число
символов из разных письменностей: в документах
Unicode
могут
соседствовать китайские иероглифы, математические символы, буквы
греческого алфавита, латиницы и кириллицы, при этом становятся ненужными
кодовые страницы. В Unicode первые 128 символов совпадают с
соответствующими символами US-ASCII. Unicode представляет собой
кодировку с фиксированным размером символа в 16 бит (UTF16),то есть
общее число базовых кодов - 65536 (кодовое пространство Unicode может быть
расширено до 2**20 + 2**16 (1 114 112) символов).
Наряду с UTF16 был изобретен формат UTF8, реализующий представление
Unicode, совместимое с 8-битным кодированием текста. Текст, состоящий
только из символов с номером меньше 128, при записи в UTF8 превращается
в обычный текст ASCII. И наоборот, в тексте UTF8 любой байт со значением
меньше 128 изображает символ ASCII с тем же кодом. Остальные символы
Unicode изображаются последовательностями длиной от 2 до 4 байтов. Проще
говоря, в формате UTF8 символы латинского алфавита, знаки препинания и
31
управляющие символы ASCII записываются кодами US-ASCII, a остальные
символы кодируются при помощи нескольких октетов со старшим битом 1.
Использование кодировки UTF8 часто аргументируется рядом причин:
• Даже если программа не распознаёт Unicode, то латинские буквы, арабские
цифры и знаки препинания будут отображаться правильно.
• В случае, если латинские буквы и простейшие знаки препинания (включая
пробел) занимают существенный объём текста (например, в европейских
языках, включая основанные на кириллице), UTF8 даёт выигрыш по объёму
по сравнению с UTF16.
• Необходимость в UTF8 объясняется еще и тем, что большинство
браузеров не понимают формат UTF16.
Для перекодировки в/из Unicode или с его использованием необходимо
корректно задать входную и выходную кодировки. В меню этих кодировок есть
возможность задать входную и выходную кодировку Unicode_(UTF16). При
этом данной кодировке при задании запроса на перекодирование должна
соответствовать кодовая страница CP_N_ , где N - номер кодовой страницы.
Допускается возможность перекодирования символов файла из одной кодовой
страницы в другую через внутреннее представление в Unicode. Номер
кодовой страницы может быть выбран в соответствующем меню входной
или выходной кодировки из списка кодовых страниц СР_1252_(WIN),
CP_866_(DOS), CP_65001_(UTF8) или задан самим пользователем вместо
точек в выбранной строке соответствующего меню CP_..._(Кодовая страница
номер ...).
ЗАМЕНА РЕГИСТРА
Замена регистра символа осуществляется по выбранному типу преобразования:
- на верхний регистр;
- на нижний регистр;
- поменять регистры.
Область поиска и размещение результата редактирования определяются
заданием параметров ввода/вывода для редактирования. Существенным
моментом является выбор режима замены, который определяет способ
редактирования входного текста. Возможны два варианта работы:
редактирование содержимого входного текста или интерпретация входного
32
текста как файла со списком, каждая строка которого определяет полное имя
входного файла, текст которого и будет редактироваться.
Кроме общих соглашений для параметров ввода при работе с входным
каталогом предусмотрена возможность замены регистра не только для
содержимого файлов, но для имен файлов и каталогов. Тип преобразования
регистра задается выбором одного из элементов представленного выше списка
(для замены регистра в именах допустимы только первые два типа). Для
корректного изменения регистра необходимо установить входную кодировку
путем выбора соответствующих значений из списка. Параметры ввода/вывода,
тип преобразования и входную кодировку необходимо задать до начала
программы редактирования.
Работа программы замены регистра для содержимого файла начинается при
нажатии клавиши {Начать} в блоке "Замена регистра внутри файла" и
происходит в диалоговом режиме (см. управление редактированием файлов).
Клавиша {Продолжить} обеспечивает процесс продолжения редакции, если
перед этим предыдущий процесс редакции был прерван.
Работа программы замены регистра в именах файлов и каталогов начинается
при нажатии клавиши {Начать} в блоке "Замена регистра в имени файла" и
производится в бездиалоговом режиме. В качестве параметров ввода/вывода
необходимо задать только входную директорию и файловые шаблоны, т.к.
замена имен производится в исходном каталоге. Результаты работы
отражаются в протоколе работы, где наряду с преобразовываемым именем
выводится код возврата (RET_CODE=1, если преобразование прошло
успешно).
РАБОТА СО СПИСКАМИ
Создание и использование списков является удобным инструментом для
редактирования группы файлов, т.к. преимуществом использования списка
является то, что при его создании можно заранее определить какие файлы и из
каких каталогов подлежат редактированию. Кроме этого списки являются
базовой основой для выполнения операций над файлами и каталогами. Таким
образом, списки, создаваемые на одной из страниц редактора TeConv, могут
быть использованы на любой другой его странице (см. раздел "Структура
редактора").
33
Понятие списка
Список – это перечень имен файлов с путем доступа к ним, а работа со
списками предполагает их создание, просмотр и редактирование. Имена
файлов, входящих в список, могут быть полными (с полным путем доступа)
или неполными (с путем доступа относительно базового каталога). Это
определяется значением индикатора "Путь доступа от базы" при задании
параметров ввода. Помимо файловых списков могут быть созданы списки,
содержащие имена каталогов различных уровней, в которых также допускается
базирование относительно базового каталога.
В зависимости от расположения списка в столбцах выходной информационной
таблицы могут быть созданы два вида списка: левый список (файл) располагается в левом столбце таблицы и правый список (файл) располагается в правом столбце таблицы. Доступ к созданному списку
открывается путем нажатия клавиши {Просмотр и редактирование списков} ,
что обеспечивает вызов окна "Просмотр и редактирование файлов (списков)",
которое позволяет увидеть созданные списки, отредактировать и записать их
средствами Меню Файл(Список);
Создание списков
Для создания списка необходимо выбрать источник списка и задать входные
параметры, описанные в разделе "Параметры ввода для создания списков",
после чего выбрать опцию переключательного списка для типа списка (левый
или правый). Создание списка осуществляется при нажатии высветившейся
клавиши:
{По входному каталогу} - создание списка файлов из файлов каталога
или списка каталогов из подкаталогов,
заданного уровня;
{По выбору в диалоге}
- создание списка файлов или списка
каталогов
путем
выбора
из
соответствующих диалоговых окон;
{По файлу со списком}
- создание списка из строк заданного файла;
{По протоколу}
- создание списка файлов по протоколу
работы;
34
{По буферу Clipboard}
- создание
списка
из
находящегося в буфере;
строк
файла,
{Абстрактный}
- создание
абстрактного
списка
по
параметрам, задаваемым на одноимённой
форме и включающим в себя: имя каталога,
префикс
имени
файла,
начальный
позиционный индекс (например, 001),
расширение файла и размер создаваемого
списка (-1 – по параллельному правому или
левому списку); при создании списка
каталогов расширение не задается.
Меню Файл(Список)
Меню предназначено для создания, просмотра, редактирования и записи
списков. Вся информация в виде таблицы отображается в окне "Просмотр и
редактирование файлов (списков)". Таблица состоит из пяти столбцов:
<NN><признак сравнения><лев. список><прав. список><признак сравнения>,
где
<NN>
<'*' - признак сравнения
для левого списка>
<левый список>
<правый список>
<'*' - признак сравнения
для правого списка>
- порядковый
номер
(1,2,3,...);
- признак устанавливается
после
выполнения
операции сравнения;
- список имен файлов,
загруженный в третий
столбец таблицы;
- список имен файлов,
загруженный в четвертый
столбец таблицы;
- признак устанавливается
после
выполнения
операции сравнения.
Для работы с левым или с правым списком определены отдельные опции меню,
которые предназначены для загрузки информации из входного файла в
соответствующий правый или левый список (столбец таблицы) и записи
35
информации из соответствующего списка (столбца таблицы) в выходной файл.
Эти операции производятся в зависимости от заданных режимов:
Дозагрузка
- дополнение строк списка без предварительной
его очистки;
Дозапись
- дополнение содержимого выходного файла
без предварительной его очистки.
Для выполнения конкретных операций определены следующие опции меню:
Загрузить из файла
- вызывается диалоговое окно для задания
имени файла и осуществляется загрузка этого
файла в соответствующий список;
Загрузить из буфера
- загрузка соответствующего списка из буфера
обмена Clipboard;
Записать в файл …
- вызывается диалоговое окно для задания
имени файла и осуществляется запись в файл
информации из заданного списка (все строки,
строки с признаком '*', строки без признака
'*');
Записать в буфер …
- осуществляется запись информации в буфер
обмена Clipboard из заданного списка (все
строки, строки с признаком '*', строки без
признака '*');
Дублировать
- перенос строк заданного списка в соседний
список
с
учетом
заданного
режима
дозагрузки;
Отсортировать …
- сортировка списка (по алфавиту, по размеру
файла, по дате записи файла);
Выбрать …
- выборка элементов списка файлов по дате
создания или по размеру файла;
Очистить
- очистка заданного списка;
Удалить строки …
- удаление строк списка по номеру строки или
36
диапазону строк N1..N2, задаваемому в окне
запроса;
Сравнить …
- сравнение списков по заданному критерию
(построчно, по кратким именам файлов) и
запись признака '*' в случае совпадения в
соответствующий столбец таблицы;
Расширенная информация
- длина, размер, дата и время создания файла.
Строки информационной таблицы, содержащие списки, можно редактировать,
используя клавиши:
- добавление пустой строки в конец
таблицы;
DELETE
- Удаление символов в ячейке таблицы;
Alt+DELETE - Удаление из таблицы всей строки,
содержащей сфокусированную ячейку;
Alt+INSERT
- вставка пустой строки таблицы перед
строкой, содержащей сфокусированную
ячейку;
Shift+Alt+DEL - Удаление из левого или правого списка
сфокусированной ячейки;
Shift+Alt+INS - вставка в левый или в правый список
пустой строки перед сфокусированной
ячейкой;
TAB, стрелки - "хождение" по строкам и столбцам
таблицы.
ENTER
ФАЙЛОВЫЕ ОПЕРАЦИИ
Файловые операции подразделяются в зависимости от области применения и
размещения результата на списковые операции и операции по дереву каталогов
и файлов. Списковые операции делятся на группы: операции с одним списком,
операции с двумя списками, операции без списка.
Область применения и размещение результата в списковых операциях
определяются заданием входных и выходных параметров, описанных в
параметрах ввода/вывода для файловых операций. Перед выполнением
операций, работающих со списками, эти списки должны быть созданы
редактором TeConv на странице "Создание списков", либо другим текстовым
37
редактором. Каждый вид операций требует задания определенных параметров,
доступ к которым открывается при выборе в начале работы соответствующего
типа операции (с одним списком, с двумя списками, без списка).
Операции с одним списком:
{Переписать}
- копирование заданных в списке
каталогов в выходной каталог;
файлов
или
{Переместить}
- перемещение заданных в списке
каталогов в выходной каталог;
файлов
или
{Удалить}
- удаление заданных в списке файлов или каталогов;
{Объединить}
- объединение заданных в списке файлов в единый
файл, помещаемый в выходной каталог под именем,
запрашиваемым при выполнении операции;
{Разделить}
- разделение заданных в списке файлов по заданным
критериям (порции в байтах, порции в строках,
разделительной строке-шаблону), которые задаются
в вызываемом окне "Разделение файлов списка на
части";
имя выходного файла: [<имя файла>] <шаблон
имени><номер порции>.<расширение> ;
вид порции определяет алгоритм деления файла:
<число> - размер файлов деления в байтах (целое
или восьмеричное) или строках (целое),
<число_1>;<число_2>;…;<число_N>
файл
делится на N частей, размер которых определяется
заданными числами; первое (до ‘;’) или последнее
(после ‘;’) число может быть не задано, тогда размер
первой или последней части определяется разностью
между размером исходного файла и суммой
заданных в списке чисел;
- замена расширения у всех файлов списка на
расширение, задаваемое в вызываемом окне
"Изменение расширения файлов списка" при выборе
и заполнении опций разделов: для всех файлов, по
типу файлов, по размеру файлов, по шаблону
расширений.
{Изменить
расширение}
38
Операции с двумя списками:
{Переписать}
{Переименовать}
- файлы или каталоги левого списка копируются в
файлы или каталоги правого списка;
- файлы
или
каталоги
левого
списка
переименовываются в файлы или каталоги правого
списка.
Операции без списков:
1.Операции с файлами (входные данные из блока "Параметры файла")
{Переименовать}
- входной файл переименовывается в соответствии с
запрашиваемым именем;
{Создать}
- файл создается в заданном входном каталоге по
запрашиваемому имени;
{Удалить}
- входной файл удаляется из каталога;
{Дублировать}
- входной
именем.
файл
дублируется
с
запрашиваемым
2.Операции с каталогами (входные данные из блока "Параметры каталога")
{Переименовать}
- входной каталог переименовывается в соответствии
с запрашиваемым именем;
{Создать}
- каталог создается в заданном входном каталоге по
запрашиваемому имени;
{Удалить}
- удаление входного каталога вместе с подкаталогами;
{Очистить}
- чистка входного каталога в соответствии с
заданными шаблонами (см. "Параметры вывода для
файловых операций") .
Операции по дереву каталогов и файлов производятся в специальном окне,
содержащем в отдельных окошках левое и правое дерево каталогов, а также
левый и правый список файлов, соответствующий выбранным каталогам.
Загрузка левого или/и правого дерева каталогов автоматически влечет загрузку
39
файлов соответствующего каталога по маске выбора файлов, которая
задается в редакционном окошке над списком файлов. Двойной клик
мышки по этому окошечку устанавливает значение маски равное '*.*' .
Для каждой области каталогов и файлов (левой или правой) существует свое
контекстное меню, которое позволяет работать с соответствующим деревом
каталогов или списком файлов. Для каталогов и файлов в контекстном меню
предусмотрены основные действия: создать, удалить, переименовать,
копировать, переместить. Кроме этого в каталогах есть опция, позволяющая
сравнить каталоги и выделить их несовпадающие файлы, а для
файлов предусмотрены различные формы установки и снятия выделения
файлов (в том числе удовлетворяющие заданной маске или совпадающие в
правом и левом файловых списках), показ содержимого файла (в редакторе
файлов, а при двойном клике - через соответствующее файловое
приложение) и списка выделенных файлов (с указанием их индексов в
текущем каталоге), а также задание представления имени файла в исходном
регистре (в стандартном начертании первая буква имени прописная, а
остальные строчные).
Осуществление некоторых файловых операций (выделение, копирование,
перетаскивание, переименование) в паре правый-левый каталог или в паре
правый-левый файловый список может также
производиться
с
использованием мыши по правилам работы в системе WINDOWS.
Операции по дереву эффективны для текущего преобразования дерева
каталогов, но занесению в сценарии не подлежат.
Одной из файловых операций является запуск внешнего процесса. Настройка и
запуск внешнего процесса производятся в вызываемом окне [Запуск
внешнего процесса]. В нем следует выбрать из раскрывающегося списка имя
внешнего приложения или через двойной клик мыши по опции "Выбор в
диалоге" - файл внешнего приложения (например, d:\rab\file.doc) либо exeфайл (например, c:\exe\pkunzip.exe). Пользователь может также сам задать
общепринятое имя внешнего приложения (например, для вызова калькулятора
надо набрать calc).
При необходимости, для внешнего процесса может быть задана командная
строка, имя файла для которой можно выбрать в диалоге. Индикатор
"Добавить параметр" указывает, что имя файла будет добавляться к уже
набранной части командной строки. Опция "Путь доступа", если она
заполнена, определяет установку текущего каталога в момент запуска
внешнего процесса.
40
Для внешнего процесса, выбираемого в диалоге, может быть задан режим
открытия (по умолчанию SW_RESTORE), краткое описание которого
приводится рядом в комментарии, и время работы процесса в миллисекундах,
определяющее момент автоматического закрытия этого процесса, иначе
созданный процесс будет существовать автономно до его принудительного
закрытия.
Кнопка {Запустить процесс} осуществляет загрузку внешнего процесса,
после чего окно запуска закрывается и происходит возврат в редактор TeConv.
Если запуск внешнего процесса осуществляется в цикле сценария и
необходимо самому прервать этот цикл, то надо активизировать курсором
родительское окно страничного блока TeConv и нажать клавишу Esc.
Клавиша {Просмотр и редактирование списков} обеспечивает вызов окна
"Просмотр и редактирование файлов (списков)", которое позволяет увидеть
созданные списки, отредактировать и записать их средствами Меню
Файл(Список).
Клавиша {Просмотр каталогов и файлов} обеспечивает вызов окна "Обзор и
выбор каталогов и файлов".
СЦЕНАРИЙ РЕДАКТИРОВАНИЯ
Работа со сценариями редактирования подразумевает две операции:
- "Создать сценарий"
- "Выполнить сценарий"
Оба процесса вызываются по клавише {Сценарий} , расположенной в нижней
части Страничного блока, и далее в появившемся окне "Создание и выполнение
сценария редактирования" . Для каждой операции работы со сценарием
выбирается соответствующая страница окна. Сценарии строятся из макросов,
индивидуальных для каждой страницы и включающих в себя всю информацию
о значениях входных и выходных параметров, а также о заданных режимах
работы. Если в формировании параметров требуется данные других форм, то
они также должны быть отображены в макросе. Например, для страницы,
управляющей контекстной заменой, макрос имеет вид:
#[ЗАМЕНА КОНТЕКСТОВ] {1}
/1/входной текст (индекс): <индекс по списку опции>
41
/2/выходной текст (индекс): <индекс по списку опции >
/3/входной каталог: <имя каталога>
/4/шаблоны входных файлов: <строка шаблонов>
/5/искать в подкаталогах (признак): <признак выбора опции>
/6/без учета регистра (признак): <признак выбора опции>
/7/режим замены (индекс): <индекс по списку опции >
/8/входная кодировка (индекс): <индекс по списку опции >
/9/выходной каталог: <имя каталога>
/10/рабочий каталог: <имя каталога>
/11/сводный файл строк редакции (признак): <признак выбора опции>
/12/только протокол (признак): <признак выбора опции>
/13/вид протокола (индекс): <индекс по списку опции>
/14/статистика для протокола (признак): <признак выбора опции>
/15/файл запроса: <полное имя файла>
[ПАРАМЕТРЫ ВЫХОДНОГО КАТАЛОГА]
/1/запись измененных файлов (индекс): <индекс по списку опции>
/2/выходной каталог: <имя каталога>
/3/сохранять копии (признак): <признак выбора опции>
/4/рабочий каталог: <имя каталога>
/5/копировать дерево файлов исходного каталога: <признак выбора опции>
/6/копировать в рабочий каталог (индекс): <индекс по списку опции>
>НАЧАТЬ: <код клавиши управления редактированием>
Начало редактируемой страницы определяется символом решетка ( # ) в
первой позиции строки заголовка, заключенного в квадратные скобки ( […] ).В
фигурных скобках ( {…} ) находится номер макроса текущей страницы в
сценарии. Строка-заголовок отражается в протоколе прохождения сценария
_protscr.txt, расположенном в том же каталоге, где и основной загрузочный
файл TeConv.exe и доступном для просмотра на первых трех страницах
редактора. Параметр страницы характеризуется определенным номером ( /…/ ),
за которым идет комментарий, заканчивающийся двоеточием ( : ), а далее значение параметра, представленное в текстовом виде. Сценарий может
включать в себя последовательную работу на нескольких страницах и состоит
из наборов макросов для каждой страницы, входящей в сеанс редактирования.
Сценарий создается автоматически по признаку, формируемому при нажатии
клавиши {Создать сценарий}. При этом макросы будут записываться в
сценарий поэтапно для каждой страницы редактора TeConv, если пользователь
подтвердит свое согласие при выполнении редакции на текущей странице.
Чтобы снять признак создания сценария, необходимо отжать клавишу на
Страничном блоке.
Для выполнения сценария необходимо загрузить сценарий из файла в
42
соответствующем окне и
нажать клавишу {Выполнить сценарий}. При
необходимости, перед выполнением сценарий можно отредактировать, вставить
комментарии. Первый символ восклицательный знак ( ! ) в строке комментирует
текущую строку, а целый блок операторов можно закомментировать, используя
конструкцию:
{
<строки сценария>
}
Если в опции выбран элемент "База данных", то сценарий может быть
перенесен (загружен) из локальной базы данных, расположенной там же, где и
загрузочный файл (база данных Paradox в файлах TeConvS.db, TeConvS.mb,
TeConvS.px). База данных доступна для чтения, редактирования и записи
сценариев при использовании клавиш загрузки или сохранения сценария.
Работа с базой данных производится в специальном окне, которое содержит
навигатор по базе данных и средства редактирования базы. Сценарий,
выбираемый из базы или помещаемый в базу, отображается в обменном
окошке, которое взаимосвязано с записью, выделенной в базе средствами
навигации или добавленной в конец базы при использовании клавиши Tab .
Запись отредактированного сценария в базу данных может происходить в двух
режимах: с использованием кэширования (по умолчанию) или без него. При
кэшировании все изменения сохраняются в памяти локально, и для фиксации
этих изменений в базе данных требуется нажатие специальной кнопки записи.
Сценарий редактирования, записанный в файл, может быть загружен для
исполнения через командную строку. В этом случае первым параметром должен
быть идентификатор вида конфигурации редактора (кроме ‘ED’), а второй
параметр - имя файла сценария, причём если это имя задано без указания пути
доступа, то считается, что файл сценария располагается в том же каталоге, где и
основной загрузочный файл TeConv.exe. Например,
TeConv.exe ALL D:\script\tstscr.txt
TeConv.exe LED script.txt
ПЕРЕВОД МЕЖДУ СИСТЕМАМИ СЧИСЛЕНИЯ
Комплекс программ перевода осуществляет следующие преобразования:
Dec2Bin
- перевод из десятичной в
43
двоичную систему счисления;
Bin2Dec
- перевод из двоичной в
десятичную систему счисления;
Dec2Oct
- перевод из десятичной в
восьмеричную систему
счисления;
Oct2Dec
- перевод из восьмеричной в
десятичную систему счисления;
Dec2Hex
- перевод из десятичной в
шестнадцатеричную систему
счисления;
Hex2Dec
- перевод из шестнадцатеричной в
десятичную систему счисления;
Bin2Hex
- перевод из двоичной в
шестнадцатеричную систему
счисления;
Hex2Bin
- перевод из шестнадцатеричной в
двоичную систему счисления;
Dec2BaseN
- перевод из десятичной в
произвольную (от 2 до 36)
систему счисления;
BaseN2Dec
- перевод из произвольной (от 2
до 36) в десятичную систему
счисления;
Arab2Rim
- перевод из арабских цифр в
римские;
Rim2Arab
- перевод из римских цифр в
арабские.
Для работы с программами создан удобный интерфейс, в котором отражаются
входная и выходная константы. Кроме этого есть шаблон ввода/вывода, через
который модно загружать входную константу и выгружать выходную, делая
DblClick по соответствующему редакторскому окошечку. Переводу подлежит
только целое число или каждое целое число из списка с символомразделителем ‘;’ .
44
РЕДАКТОР ФАЙЛОВ
Для просмотра и редактирования файлов предназначено специальное окно,
войти в которое позволяет клавиша {Редактор файлов}, расположенная на
нижней панели Страничного блока. Редактор допускает возможность загрузки
одновременно нескольких файлов, имена которых отображаются на отдельных
загрузочных кнопках, что обеспечивает многодокументный режим
редактирования. Работа в Редакторе файлов осуществляется через меню,
основные операции которого вынесены на инструментальную панель в виде
отдельных кнопок.
Опция меню "Параметры" предназначена для задания ряда параметров
настройки.
Опция меню "Вид" определяет режим представления текста в редакторе: TXT
(текстовый без переноса строк), WTX (текстовый с переносом строк), HEX
(двоичное представление строк).
Опция меню "Кодировка" определяет входную кодировку файла: Win1251,
KOI8-R, DOS .
Опция меню "Шрифт" определяет размер шрифта показа: крупный, средний и
мелкий.
Опция меню "Файл" осуществляет работу с файлами: создание нового и
открытие существующего файла, закрытие и сохранение файла, а также
предварительный просмотр и печать файла.
Опция меню "Правка" осуществляет работу с выделенными строками или их
фрагментами, смену регистра набора для выделенных областей текста или для
последнего набранного невыделенного фрагмента текущей строки, выборку
символов в буфер обмена Clipboard из допустимого набора шрифтов,
выделение всего текста, а также пошаговую отмену или возврат выполненной
редакции. Одна из опций подменю осуществляет замену HEX-констант в
двоичных файлах. Кроме этого предусмотрены операции для выборки
фрагмента двоичного файла, а также для получения через буфер обмена
Clipboard аналога целого числа прописью на русском или английском языке.
45
Опция меню "Поиск" открывает подменю, которое обеспечивает вызов
диалогового окна для выполнения поиска и замены контекстов. В данной
опции задействован также переход по файлу к заданному номеру строки или
байта.
Опция меню "Сравнение" открывает подменю, которое обеспечивает вызов
диалогового окна для задания параметров сравнения двух файлов.
Опция меню "Таблица" открывает диалоговое окно "Файл-Таблица",
которое обеспечивает интерактивное создание таблицы и сохранение её
структуры в специальном tbl-файле, используемом для генерации файлов в
формате, поддерживающем таблицы;
Опция меню "Сервис" осуществляет проверку орфографии выделенного
текста, его фрагмента
или отдельного слова, стилевое оформление
выделенного фрагмента текста с последующим сохранением в формате
<i>Rtf</i> или <i>Htm</i>, а также выравнивание текста по ширине;
Опция меню "Помощь" открывает файл помощи для работы в редакторе
TeConv.
Параметры настройки
Параметры настройки Редактора файлов устанавливаются в диалоговом окне
"Редактор файлов: параметры", содержащем несколько вкладок.
На вкладке "Параметры структуры" задаются значения спецполей Min , Max
и Off , значения которых используются при открытии файла. Процесс открытия
файла подразумевает создание внутренней файловой структуры из строк
входного файла, причем размер внутренней строки структуры находится в
диапазоне значений Min и Max. Для текстовых файлов стандартное значение
Min равно 0, а значение Max определяет размер строки в режиме с переносом
строк. Для нетекстовых файлов значение Min желательно задавать больше 0,
т.к. в противном случае могут возникнуть ошибки создания внутренней
файловой структуры при открытии файла. Значение Off определяет начальное
смещение в байтах по файлу, начиная с которого строится внутренняя
структура, т.е. тем самым начало файла игнорируется и не отображается в окне
редактора.
На вкладке "Параметры протокола" задаются режимы создания протокола
сравнения файлов (дозапись в протокол или создание протокола заново) при
46
неоднократном сравнении различных файлов, при этом следует иметь в виду,
что при выходе из редактора протокол сравнения файлов не сохраняется, а
продолжается создание общего протокола работы. Если протокол создан, то в
меню "Поиск" или "Сравнение", в зависимости от вида работы, открывается
доступ к просмотру и сохранению протокола. На вкладке "Параметры
оформления" задаются цветовые характеристики окна редактора.
Работа с файлами
Создание и открытие файла подразумевает генерацию внутренней структуры
и отображение ее в окне редактора. Для файлов больших размеров время
генерации структуры может быть заметным, что отображается индикатором
хода процесса. Процесс открытия файла может быть прерван по клавише Esc.
Закрытие файла предусматривает контроль изменений во внутренней
структуре и сохранение изменений в файле, после чего структура очищается.
Сохранение подразумевает размещение файла, сгенерированного из
отредактированной структуры, на месте исходного файла, а опция "сохранить
как …" - в любом заданном через диалоговое окно файле. При этом,
cуществует возможность сохранить файл в кодировках Win, Koi8, Dos, а также
в формате файла rtf или htm с включением заранее созданных таблиц. Если есть
начальное смещение по файлу (см. параметры настройки), существует
возможность сохранить либо весь файл, включая начальное смещение, либо
часть файла, соответствующую текущей структуре. В последнем случае, если
исходный файл не сохраняется, то создается его копия с расширением .bak .
Предварительный просмотр файла может осуществляться в двух режимах:
одностраничном показе последовательности страниц и многостраничном
показе, состоящем из порции страниц, устанавливаемой заданием в меню
процента сжатия страницы.
Печать файла осуществляется на основе внутренней структуры, создающейся
при открытии файла. Процесс подготовки к печати включает в себя настройку
параметров принтера и шрифта печати через системные диалоги, а также
предварительный просмотр печатаемых страниц в уменьшенном и полном
масштабах. Перед выводом на печать может быть использован метод
форматирования текста по образцу: сначала запомнить структуру первой
строки абзаца (отступ "красной строки" и длина строки) или списка ( вид
"перечислителя" / ‘-’ , ‘1.’, ‘1)’, ‘a)’, ‘Б)’ , ‘I.’ /, форматирующие пробелы и
47
длина строки), а затем применить образец к фрагменту текста, ограниченному
пустой строкой (см. команды Редактора файлов).
Команды ручного редактирования
Эти команды используются при ручном редактировании файла. При работе с
текстовым представлением файла ручное редактирование может производиться
как в режиме без переноса строк, так и в режиме с переносом строк. Различия
заключаются только в выделении фрагментов строк, кроме этого в режиме с
переносом строк нельзя выделять блоки в виде столбцов. В статусной строке
отображается номер текущей строки, номер символа относительно текущей
строки файла, а также кодировка этого символа. Если символы были набраны
не в том регистре, то при нажатии клавиши F12 произойдет смена регистра
набора (Ru/En) на альтернативный (En/Ru) и последний набранный с
клавиатуры фрагмент текста, либо фрагмент текста, выделенный курсором,
будет переведен на альтернативный регистр.
При работе с двоичным представлением файла также разрешается ручное
редактирование символов для обоих кодовых полей (двоичного и
символьного), при этом редактирование происходит в режиме замены HEXконстант. В статусной строке отображается номер текущей строки, номер
символа относительно всего файла, а также кодировка этого символа.
Команды для работы с курсором (для текстового и двоичного вида):
ВЛ (стрелка влево)
ВП (стрелка вправо)
ВВ (стрелка вверх)
ВН (стрелка вниз)
PgUp
PgDn
HOME
END
-
Ctrl+HOME
Ctrl+END
Alt+HOME
-
Alt+END
-
сдвиг курсора на символ влево;
сдвиг курсора на символ вправо;
сдвиг курсора на строку вверх;
сдвиг курсора на строку вниз;
сдвиг курсора на страницу вверх;
сдвиг курсора на страницу вниз;
сдвиг курсора в начало строки;
сдвиг курсора в конец строки (в
двоичном представлении - на начало
символьного представления);
переход в начало файла;
переход в конец файла;
переход в начало файла с сохранением
X-координаты текущей строки;
переход в конец файла с сохранением X-
48
TAB
координаты текущей строки;
- переключение курсора с двоичного
представления на символьное (только
для двоичного вида);
на начало строки (при сравнении файлов
пофрагментно).
Команды редактирования строк (для текстового вида):
INS
Enter
Ctrl+Y
Backspace
Delete
Shift+F7
-
Ctrl+F8
-
Ctrl+F9
-
F10
-
F11
-
F12
-
включение/отключение режима вставки;
вставка строки;
удаление строки;
стирание символа слева от курсора;
стирание символа справа от курсора;
запоминание образца строки, отмеченной
курсором (начало абзаца или списка с
"перечислителем" одного из видов: ‘-’ ,
‘1.’, ‘1)’, ‘a)’, ‘Б)’, ‘I.’ );
выравнивание строк абзаца или списка
без переноса слов по запомненному
образцу в выделенном фрагменте текста
либо от строки с курсором до пустой
строки, являющейся ограничителем
абзаца или списка;
выравнивание строк абзаца или списка с
переносом слов по запомненному
образцу в выделенном фрагменте текста
либо от строки с курсором до пустой
строки, являющейся ограничителем
абзаца или списка;
перекодировка вновь набранного или
выделенного текста на нижний регистр;
перекодировка вновь набранного или
выделенного текста на верхний регистр;
изменение регистра вновь набранного
или выделенного текста:
Ru->En или En->Ru .
Команды работы с блоками (для текстового вида):
Shift+ВЛ/ВП
- выделение символа;
49
Shift+ВН/ВВ
Ctrl+Insert
Ctrl+Delete
Shift+Insert
Shift+Delete
Ctrl+ВП
Ctrl+ВЛ
- выделение строки (курсор в начале);
выделение части строки (курсор не в
начале);
выделение столбца (курсор после
Shift+ВЛ/ВП);
- копирование блока в буфер Clipboard;
- вырезка блока;
- вставка содержимого буфера Clipboard
на место курсора;
- вырезка блока и помещение его в буфер
Clipboard;
- выделение от курсора до конца строки;
- выделение от начала строки до курсора.
Контекстное редактирование
Контекстный поиск и замена могут производиться для любого вида
представления файла в окне редактора (текстового без переноса строк,
текстового с переносом строк, двоичного представления). Для двоичного
представления предусмотрена возможность работать c контекстами, которые
используют служебные конечные символы строки (например, контекст поиска
?\0d находит любой последний неслужебный символ строки, расположенный
перед концом строки #$d). При этом поиск/замена контекстов может
происходить в разных режимах: от начала файла, от конца файла, вниз от
курсора, вверх от курсора, а также с учетом и без учета регистра символов.
Однако следует иметь в виду, что замена контекстов, содержащих конечные
символы строки \0d или \0a, может происходить только от начала файла.
Задание параметров поиска и замены производится в диалоговом окне
"Редактор файлов: поиск и замена", в котором на соответствующих вкладках
задаются параметры только для поиска или для поиска и замены контекстов.
Параметры задаются путем заполнения таблицы контекстов и задания опций
режима работы:
"Без учета регистра" - индикатор, указывающий учитывается ли регистр
символов при поиске контекстов;
"Выдавать строки замены в протокол" - индикатор, определяющий вид
информации, заносимой в протокол (определяет протокол типа 1 или типа 2).
50
"Направление поиска" – раскрывающийся список для определения того, в
каком направлении по файлу будет вестись поиск:
- от начала файла;
- от конца файла;
- вперед от позиции курсора;
- назад от позиции курсора.
Для оперативного доступа к описанию спецсимволов контекстов можно
воспользоваться блоком справочной информации, располагающемся в этом же
окне. Клавиша {Начать} начинает процесс поиска/замены, причем замена
осуществляется через диалоговое окно ”Управление редактированием
файлов”, в котором можно прервать процесс. Для продолжения процесса
поиска/замены контекстов следует нажать клавишу {Дальше} (или "горячую"
клавишу F3 ).
Замена HEX-констант
В двоичном представлении каждый символ кодируется двумя 16-ричными
цифрами и чтобы заменить кодировку этого символа надо отредактировать
последовательно каждое число этой пары. В статусной строке отображается
номер байта, отмеченного позицией курсора, относительно всего файла,
кодировка этого байта и числовое значение при рассмотрении нескольких
байтов текста, начиная с указанного позицией курсора, в виде целых и
вещественных чисел.
Тип представления числа устанавливается в контекстном меню, вызываемом
нажатием правой клавиши мыши. В зависимости от выбранного типа,
определяется количество байт, занимаемое константой, начиная от позиции
курсора. Возможны следующие варианты численных представлений (в скобках
указан тип числа): UInt1 (Byte), Int2 (SmallInt), UInt2 (Word), Int4 (Integer),
UInt4 (LongWord), Float4 (Single), Float8 (Double).
Соответствующее численное представление (для любого из кодовых полей –
двоичного и символьного) можно также отредактировать через специальное
редактирующее окно "Замена HEX-констант", вызываемое из опции меню
"Правка", причем при замене количество байт в файле не изменяется.
Начальный байт замены в файле определяется позицией курсора, а количество
байтов замены - установленным на момент редактирования через контекстное
меню видом представления. Для замены необходимо в строке замены набрать
константу из указанного диапазона и нажать клавишу {Отредактировать}.
51
Выборка фрагмента двоичного файла
Выборка фрагмента двоичного файла производится по байтовому диапазону,
задаваемому целыми или шестнадцатеричными (начинаются с символа '$')
числами. Номер начального и конечного байта выборки определяется по
левому адресному столбцу, отражающему номера байтов в режиме показа
двоичного файла. При необходимости, можно обеспечить запись в конец
сделанной выборки символа конца файла EOF($1A). Выбранный фрагмент
записывается в файл, который определяется через файловый диалог. Процесс
выборки фрагмента производится в специальном окне "Выбор фрагмента
двоичного файла", которое вызывается из опции меню "Правка".
Получение аналога целого числа прописью
Словесный аналог целого числа (до 19 цифр) может быть получен в русской
(Ru) или английской (En) записи. Исходную константу необходимо выделить в
тексте
и
записать в буфер обмена Clipboard, после чего выбрать
соответствующий запрос в опции Главного меню "Правка". Полученный
текст помещается в буфер Clipboard, далее результат может быть вставлен из
Clipboard в текст с указанной позиции курсора. Аналог целого числа
прописью также может быть получен через блоковую функцию BlockNumb
(см. "Текстовый Редактор TeConv. Специальные средства для контекстного
редактирования").
Вставка кодов шрифтов, спецсимволов HTML, календарных дат
Выбор кодов шрифтов производится в открывающемся окне "Таблицы
символов шрифтов", где следует выбрать имя шрифта из списка доступных
шрифтов. Символы шрифта появляются в оконной таблице, из которой можно
выбирать мышкой один или несколько символов и они будут отображаться в
накопителе и для экспорта его содержимого надо нажать клавишу {Копировать
в буфер}. В дальнейшем, информацию из буфера можно вставить в позицию
курсора открытого для редактирования файла обычным способом.
Выбор спецсимволов HTML производится в открывающемся окне "Таблицы
спецсимволов HTML", где следует выбрать одну из таблиц списка:
-
Математические знаки
Знаки пунктуации
Стрелочные символы
Буквы с метками
52
-
Греческие буквы
Римские цифры
Символы-картинки
Кириллица и латиница
В загруженной таблице появятся тематические спецсимволы и, как правило,
ссылки на их символьный и числовой коды, выборка которых мышкой
обеспечит их появление в накопителе. Иногда, для корректного отображения
спецсимвола в браузере, необходимо задать предшествующий ему тег со
специальным шрифтом (вариант этого шрифта приводится в комментарии к
соответствующей таблице). Таблица 'Кириллица и латиница' позволяет набирать в
спецсимволах целые предложения, а для просмотра их служит контрольная
строка, которую можно редактировать синхронизированно с накопителем.
Далее экспорт спецсимволов будет аналогичен, описанному выше для кодов
шрифтов.
Выбор календарной даты производится в открывающемся окне "Календарь", в
котором можно установить число, месяц и год (в пределах 1-4000), после чего
это отразится в календарной сетке с указанием дня недели. В качестве
выбранной даты можно представить её с написанием месяца прописью или
числом с выбранным разделителем (слэш, точка и др.), а также днем недели.
Далее экспорт даты будет аналогичен, описанному выше для кодов шрифтов.
Сервисная обработка текста
Формат-ресурс как база стилевого оформления текста
Редактор TeConv не имеет явно графической направленности, однако он
имеет
ряд встроенных средств для стилевого оформления текста с
последующим его представлением в форматах rtf или htm, поддерживающих
форматирование. Одним из способов
форматирования файла является
создание формат-ресурса путем вставки в текст тегов разметки:
[h]
- тег перед заголовком текста документа (обязательный);
[p]
- тег перед разделом текста (обязателен
только после заголовка
документа);
[t]
- тег перед полным
путем файла с расширением .tbl , который
создан в текущем окне редактора и содержит в специальном виде
информацию о таблице вставки ( например, [t]D:\RA\table.tbl ); этот
тег может быть вставлен в основной текст документа в начале
строки, отмеченной курсором, через
Главное меню "Правка"
53
[g]
(опция "Вставить ссылку на таблицу ... ") ;
- тег для генерации вставки в текст картинки из файла графического
формата, за которым в круглых скобках задаются параметры
картинки:
- путь к графическому файлу (обязательный параметр);
допустимые расширения графических форматов:
jpg,jpeg,ico,bmp,gif(RTF); допустимый формат (HTM);
width=" " - ширина картинки в пикселах (HTM,RTF), процентах (HTM);
height=" " - высота картинки в пикселах (HTM,RTF), процентах (HTM);
hspace=" " - пустое пространство в пикселах выше и ниже картинки (HTM);
vspace=" " - пустое пространство в пикселах слева и справа картинки (HTM);
align=" " - расположение картинки и текста определяется значениями:
center - картинка автономна и выравнивается по центру (HTM);
картинка выравнивается по центру, текст обтекает картинку
с двух сторон (RTF);
left - картинка слева, текст обтекает справа (HTM,RTF);
right - картинка справа, текст обтекает слева (HTM,RTF);
top,middle,bottom - картинка слева,текст начинает размещаться
справа в соответствии со значением параметра - сверху,из центра,
внизу (по умолчанию), но только до [br], далее текст размещается
под картинкой (HTM);
border=" " - толщина рамки в пикселах (HTM); 1 - тонкая рамка, >1 - жирная
рамка (RTF); по умолчанию 0 - без рамки;
title=" " - краткое описание картинки (HTM);
src=" "
[l]
(например, [g](src="D:\arch\sh.jpg" width="50" height="50" align=""
border="1" title="Книжка")); этот тег может быть вставлен в
основной текст документа в начале строки, отмеченной курсором,
через
Главное меню Правка-->Вставить ссылку на таблицу … ; при
вставке ссылки параметр src заполняется автоматически, а другие
параметры заполняются пользователем при необходимости;
- Тег для задания начала основного/вложенного списка, за которым в
круглых скобках задаются параметры списка, определяющие
выходной вид списка:
type=" " - определяет тип маркера списка:
не задан - без маркера;
0 - маркер в виде "-";
1 - маркер в виде арабских цифр (1,2,3...);
2 - маркер в виде больших римских цифр (I,II,III...) ;
3 - маркер в виде маленьких римских цифр (i,ii,iii...) ;
4 - маркер в виде прописных латинских букв (A,B,C...);
5 - маркер в виде строчных латинских букв (a,b,c...);
6 - маркер в виде диска;
7 - маркер в виде квадратика;
8 - маркер в виде кружка;
9 - маркер из графического файла
(только для htm-файла, иначе не задан);
lidelim=" " - определяет конечный символ маркера-перечислителя:
54
не задан или '.' - конечный символ точка (например, 1. , I. , a. );
произвольные символы - (например, 1) , I: , a>> );
liurl="" - определяет url-адрес графического файла с картинкой маркера
(только для htm-файла); файл-маркер должен находиться в одном
каталоге с формат-ресурсом, иначе он переписывается туда
автоматически при вставке через опции головного меню:
Правка-->Вставить ссылку на маркер ...;
liposit=" " - определяет позицию маркера по отношению к тексту:
не задан или 'out' - текст пункта при переводе строки оставляет
висячий маркер;
'ins' - текст пункта при переводе строки начинается под маркером;
lilength=" " - определяет количество знаков в маркере-перечислителе, если не
задан, то по умолчанию задается 3 числовых знака;
lhstyle=" " - определяет стиль шрифта заголовка и допускает различное
сочетание этих значений:
не задан - текущий шрифт;
'i' - курсив;
'b' - полужирный;
'u' - подчеркивание;
lhsize=" " - определяет размер шрифта заголовка:
не задан - текущий размер;
'l' - увеличенный;
's ' - уменьшенный;
[lh]
[li]
[/l]
[f]
[/f]
[i]
[/i]
[b]
[/b]
(например, [l](type="9" lidelim="" liurl="mrk.gif" liposit="" lilength="4"
lhstyle=" " lhsize="l")); этот тег может быть вставлен в основной
текст документа в начале строки, отмеченной курсором, через
Главное меню Сервис-->Вставить тег в позицию курсора , параметрам, в
случае необходимости, надо присвоить нужные значения и сохранить
файл-ресурс перед дальнейшими операциями; при изменении
параметров lidelim или liposit, заданных по умолчанию, корректный
просмотр списка возможен только через Browser;
- тег для задания заголовка списка (располагается перед заголовком);
шрифт заголовка определяется параметрами lilength и lhstyle;
- тег для задания элемента списка (располагается перед текстом
каждого пукта списка);
- тег для задания конца списка;
- теги начала и конца текста, который должен сохранить свой формат
записи (преформатирование); каждый тег располагается в начале
строки;
- теги начала и конца текста, форматируемого стилем "курсив" ;
- теги начала и конца текста, форматируемого стилем "жирный";
55
[u]
[/u]
[]
[br]
- теги начала и конца текста, форматируемого стилем "подчеркивание";
- тег для задания обязательного числа пробелов в данном месте
выходной строки (число пробелов явно размещается в границах тега);
- тег конца строки (переход на новую строку).
Второй способ является визуальным, позволяющим отображать задаваемый
стиль фрагмента текста на экране. Для этого фрагмент выделяется на экране и
из опции "Стилевое оформление фрагмента текста" Главного меню "Сервис"
выбирается нужный вариант стиля. Такому визуально-отформатированному
файлу соответствует формат-ресурс, который содержит соответствующие
теги разметки и может быть сохранен в файле, а впоследствии представлен в
TeConv или Word в визуальном режиме. Эти действия осуществляют
сервисные опции Главного меню:
Сервис-->Сохранить как Rtf ...
Сервис-->Сохранить как Htm ...
Сервис-->Сохранить как формат-ресурс ...
Сервис-->Показать формат-ресурс в TeConv
Сервис-->Показать файл/формат-ресурс в Word
Сервис-->Показать файл в WebBrowser
В соответствии с возможной комбинацией тегов определен набор опций
стилевого
оформления:
Курсив,
Полужирный,
Подчеркнутый,
Курсив&Полужирный, Курсив&Подчеркнутый, Полужирный&Подчеркнутый,
Разрядка .
Для стилевого оформления текста можно также использовать форматирование
по контексту, которое заключается в поиске заданного контекста в тексте
файла и обрамление его тегами, Для этих целей служит, вызываемое из
Главного меню "Сервис", редакторское окно " Стилевое оформление файла по
контексту…". В этом окне устанавливаются параметры
стиля текста,
направления поиска, учет регистра набора, а также задается контекст
поиска по строке файла в виде конкретного слова, либо в виде шаблона,
содержащего один из спецконтекстов:
xxxxxx[ ,;.\0d]
- лексема xxxxxx и перечень её символов
окончания […] ; \0d - конец строки;
{xxx[?* ]}
- часть лексемы xxx и произвольные
символы до пробела [?* ] - это образует
56
группу {...} ;
{xxx[?* ]}|
- альтернативный перечень групп
{xxx[?*,]}|{xxx[?*.]}|{xxx[?*\0d]}
разных окончаний лексемы;
для
(Подробнее о спецконтекстах см. "Текстовый Редактор TeConv. Специальные
средства для контекстного редактирования").
Создание Списков различной маркировки
Списки - один из самых эффективных способов организации и
представления информации. Различают списки по видам: упорядоченные,
имеющие маркеры-перечислители (арабские и римские цифры, латинские
буквы) для своих элементов и неупорядоченные, не имеющие маркеров или
имеющие однотипные маркеры (тире, жирные точки и другие графические
знаки или картинки).
В Редактор TeConv влючена возможность создать формат-ресурс с тегами,
определяющими структуру и маркеры списков, явно не заботясь о
визуальной иерархической структуре вложенных списков. Генерируемый из
формат-ресурса файл типа rtf или htm, наглядно отобразит структуру
вложенных списков, что можно просмотреть через Word или WebBrouser.
Теги формат-ресурса, определяющие структуру списка, их предназначение,
параметры и способы задания см. здесь.
Пример формат-запроса для генерации файлов типа rtf и htm:
[l](type="1" lidelim=")" liurl="" liposit=" " lilength=" " lhstyle="u" lhsize="l")
[lh]Примерный список
[li]Пункт списка 1
[li]Пункт списка 2
[li]Пункт списка 3
[l](type="2" lidelim="." liurl="" liposit=" " lilength=" " lhstyle="" lhsize=" ")
[lh]Вложенный список 3
[li]Пункт списка 3.1
[li]Пункт списка 3.2
[li]Пункт списка 3.3
[l](type="6" lidelim="" liurl="" liposit="ins" lilength=" " lhstyle="iu" lhsize="l")
[lh]Вложенный список 3.3
[li]Пункт списка 3.3.1 - строка 1[br]
Пункт списка 3.3.1 - строка 2
[li]Пункт списка 3.3.2
[/l]
[/l]
57
[li]Пункт списка 4 - строка 1[br]
Пункт списка 4 - строка 2[br]
Пункт списка 4 - строка 3
[li]Пункт списка 5
[/l]
[p]Список создан!
Сгенерированный rtf-файл:
Сгенерированный htm-файл:
{\rtf1\ansi
{\fonttbl
{\f0\froman\fcharset204\fprq2Times New Roman;}
{\f2\fmodern\fcharset204\fprq1Courier New;}
}
{\info{\title
\'d4\'e0\'e9\'eb\'2d\'f1\'f2\'f0\'f3\'ea\'f2\'f3\'f0\'e0}
{\author NIVC MGU}}
\paperw11906\parerh16838\margl1701\margr850\margt113
4\margb1134
\pard\plain \ql\fs26\f0\li500
{\ul\'cf\'f0\'e8\'ec\'e5\'f0\'ed\'fb\'e9 \'f1\'ef\'e8\'f1\'ee\'ea\ul0}
\par
\trowd\lastrow\cellx500\cellx9355
\pard\plain \qr\fs22\f2\intbl
{1)\~}\cell
\pard\plain \ql\fs24\f0\intbl
{\'cf\'f3\'ed\'ea\'f2 \'f1\'ef\'e8\'f1\'ea\'e0 1}
\cell\row
…………………………………………………………
.......................................................................................
\trowd\lastrow\cellx500\cellx9355
\pard\plain \qr\fs22\f2\intbl
{3)\~}\cell
\pard\plain \ql\fs24\f0\intbl
{\'cf\'f3\'ed\'ea\'f2 \'f1\'ef\'e8\'f1\'ea\'e0 3}
\cell\row
\pard\plain \ql\fs24\f0\li1000
{\'c2\'eb\'ee\'e6\'e5\'ed\'ed\'fb\'e9 \'f1\'ef\'e8\'f1\'ee\'ea 3}
\par
\trowd\lastrow\cellx1000\cellx9355
\pard\plain \qr\fs22\f2\intbl
{I.\~}\cell
\pard\plain \ql\fs24\f0\intbl
{\'cf\'f3\'ed\'ea\'f2 \'f1\'ef\'e8\'f1\'ea\'e0 3.1}
\cell\row
\trowd\lastrow\cellx1000\cellx9355
\pard\plain \qr\fs22\f2\intbl
…………………………………………………………
.......................................................................................
\trowd\lastrow\cellx500\cellx9355
\pard\plain \qr\fs22\f2\intbl
{5)\~}\cell
\pard\plain \ql\fs24\f0\intbl
{\'cf\'f3\'ed\'ea\'f2 \'f1\'ef\'e8\'f1\'ea\'e0 5}
\cell\row
\pard\plain \qj\fs24\f0
{\'d1\'ef\'e8\'f1\'ee\'ea \'f1\'ee\'e7\'e4\'e0\'ed!}
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/css";
charset="windows-1251">
<title>Файл-структура</title>
<style>
<!-/* Style Definition */
p.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";
text-align:"justify";}
/* Page Definition */
@page Section1
{size:595.3pt 792.0pt;
margin:2.0cm 42.5pt 2.0cm 3.0cm;}
div Section1;
{page:Section1;}
-->
</style>
</head>
<body lang=RU style='text-justify-trim:punctuation'>
<div class=Section1>
<ul style="list-style: none url(bl_arrow.gif) inside">
<lh><p class=MsoNormal style='textautospace:none'><font size=+1><i>Вложенный
список 3.1</i></font>
<li><p class=MsoNormal style='textautospace:none'>Пункт списка 3.1.1
<li><p class=MsoNormal style='textautospace:none'>Пункт списка 3.1.2
</ul>
</div>
</body>
</html>
58
Просмотр выходного файла:
Примерный список
1)
2)
3)
Пункт списка 1
Пункт списка 2
Пункт списка 3
Вложенный список 3
I.
Пункт списка 3.1
II.
Пункт списка 3.2
III.
Пункт списка 3.3
Вложенный список 3.3
Пункт списка 3.3.1 - строка 1
Пункт списка 3.3.1 - строка 2
 Пункт списка 3.3.2
4) Пункт списка 4 - строка 1
Пункт списка 4 - строка 2
Пункт списка 4 - строка 3
5) Пункт списка 5
Список создан!

Создание Таблиц, взаимосвязь с таблицами файлов других форматов
Для создания таблиц служит диалоговое окно "Интерактивная файловая
Таблица", вызываемое через опцию Главного меню "Таблица". Таблица
визуально отражает её расположение в границах максимальной длины строки
Редактора TeConv. Параметры таблицы определяют число её строк и столбцов,
а также левое и правое поле таблицы.
Ячейки таблицы заполняются непосредственно или через шаблон-строку,
которая может содержать многострочную информацию. Заголовок таблицы
также может быть многострочным и позиционируется выравниванием
относительно ячеек таблицы. Задание опций позволяет отформатировать стиль
и размер шрифта, а также расположение заголовка относительно таблицы.
Файл для хранения структуры таблицы имеет расширение .tbl и может
использоваться в качестве ссылки на таблицу в основном тексте Редактора
TeConv, тогда при сохранении этого текста в формате rtf-файла или htm-файла
эта таблица будет встраиваться в файл. Кроме этого возможно сохранить
таблицу как отдельный файл формата rtf или htm, а в текстовом файле
содержимое ячеек Таблицы по строкам или по столбцам с задаваемым по
запросу разделителем.
59
В опции меню "Правка" предусмотрены различные варианты редактирования
и трансформирования строк и столбцов всей Таблицы (в том числе сортировка
и перестановка) или отдельно фиксированной и информационной зоны.
Признаком вставки Таблицы в файл служит наличие в начале строки тега
<t> и далее полного пути файла с расширением .tbl ( например,
<t>D:\RA\table.tbl ). Этот табличный файл должен быть заранее создан как
интерактивная файловая Таблица. Для вставки Таблицы в основной текст
документа необходимо поставить курсор в начале строки с указанной
конструкцией и обратиться к опции меню: Правка-->Вставить ссылку на Таблицу ...
В меню имеется возможность записать в Таблицу данные из текстового
файла. При этом можно выбрать различные варианты загрузки ячеек Таблицы
и задания данных в файле путем задания в открывающемся окне "Параметры
загрузки Таблицы" параметров: имя Файла данных, область загрузки Таблицы,
расположение данных и номер строки или столбца, разделитель данных в
Файле для ячеек Таблицы. Таким образом, задание параметров определяет
будет ли Таблица заполняться целиком или только отдельным столбцом или
строкой, с фиксированной зоной или без неё, а также как считывать данные из
Файла в зависимости от выбранного разделителя, могущего включать один
или несколько символов (перевод строки, табуляция, пробел, точка с запятой
или вариант пользователя). Доступ через опции меню:
Файл-Таблица-->Записать в Таблицу данные из TXT-файла ...
Создан интерфейс для занесения данных в Таблицу из Web-файлов (с
расширениями .htm и .html) и Doc-файлов (с расширениями .doc и .rtf) через
работу в окне "Файл-структура". В этом окне выбранный Web-файл
отображается с разметкой начала существующей в нём таблицы (тег
<table>) в виде иконки со стрелкой. Границы таблицы визуально отражаются
при наведении мышки на изображение иконки, а для экспорта следует
выделить необходимые таблицы путем нажатия по иконке или
непосредственно мышкой. Экспорт может происходить в одном из режимов:
'Новая таблица' или 'Добавить в таблицу'. При этом установленные
параметры интерактивной Таблицы (размеры по строкам и столбцам,
фиксированные зоны) при создании новой Таблицы игнорируются
и
устанавливаются в соответствии с размерами экспортируемой таблицы, а при
добавлении в Таблицу корректируются по максимальному количеству
столбцов и строк объединенной Таблицы (фиксированные зоны отсутствуют).
При экспорте Doc-файла включается невизуальное Приложение WORD, в
котором выбранный файл преобразуется в файл _tmp.htm (располагается в
том же каталоге, где TeConv.exe) и подключается к аппарату для работы с Webфайлами. Доступ через опции меню:
Файл-Таблица-->Записать в Таблицу данные из Web-файла ...
60
Файл-Таблица-->Записать в Таблицу данные из Doc-файла ...
Ряд опций меню предназначено для взаимосвязи Интерактивной Таблицы с
приложением EXCEL. Предлагается выбор области действия Таблицы
(с
фиксированной зоной и без неё), формат текстовых или числовых данных для
EXCEL. На базе загруженной Таблицы с числовыми данными можно построить
средствами EXCEL диаграммы (графики) по задаваемым в вызываемом окне
"Параметры создания диаграммы в EXCEL" параметрам: тип и форма вывода
диаграммы, расположение данных в Таблице, заголовок диаграммы, подписи
осей, отражение легенды, отражение таблицы, расположение диаграммы на
листе. Дальнейшая обработка этих объектов производится уже средствами
приложения EXCEL до его закрытия и возвращения в Редактор TeConv.
Доступ через опции меню: Файл-Таблица-->Построить диаграмму в Excel по данным
Таблицы ...
Вставка Картинок для отображения в файлах других форматов
Редактор TeConv не имеет средств явно отображать файлы с изображениями,
однако существует возможность создать формат-ресурс для вставки ссылки на
картинку, и получить из него файл типа rtf или htm, который можно
просмотреть через Word или WebBrouser. Для вставки картинки используется
тег [g], который всегда располагается в формат-ресурсе в начале строки и
вставляется в позицию курсора через опцию Главного меню: Правка-->Вставить
ссылку на картинку ... Тег [g] имеет в круглых скобках список шаблон-параметров
(см. описание тега [g]), нужные из которых надо заполнить (параметры со
зачениями "" или " " игнорируются). Параметр src заполняется автоматически,
а другие параметры заполняются пользователем при необходимости.
Одним из важных параметров является параметр выравнивания align, который
управляет расположением картинки в тексте. Однако картинка может
располагаться автономно от текста при наличии тегов [p], которые удобно
располагать на отдельных строках до и после тега [g](…). В этом случае
параметр выравнивания указывает на автономное расположение картинки.
По умолчанию, выравнивание текста в абзаце производится по обоим полям
документа.
Замечания по вставке картинки через формат-ресурс
1. В силу того, что TeConv не является графическим редактором, способ
вставки в rtf-файл производится через мета-канву, т.е. графические файлы
любого формата предварительно преобразуются и могут занимать
значительный битовый объем. Поэтому рекомендуется вставлять картинки в
61
rtf-файл не очень большого размера, ограничений в размерах картинок для
вставки в в htm-файл нет.
2. Исходная картинка в gif-формате может быть анимационной, однако это
свойство сохраняется только при создании htm-файла и просмотре его через
WebBrowser.
3. Наиболее качественное выравнивание картинки относительно текста может
быть достигнуто только при создании htm-файла, впоследствии этот формат
можно преобразовать в документ средствами Word.
4. Если при создании htm-файла, размещаемый на уровне картинки абзац
текста не занимает всё поле картинки и есть необходимость начать следующий
абзац ниже поля картинки, то это можно сделать, размещая в начале
следующей строки автономный тег [br].
5. Выравнивание текста в строке абзаца при встрече в ней тега переноса [br]
производится для rtf-файла и не производится для htm-файла.
Выравнивание текста по ширине
Выравнивание текста по ширине может происходить несколькими способами:
выравнивание без переноса слов, выравнивание с переносом слов (русские и
английские слова), а также выравнивание по заданному шаблону с
использованием клавиатуры. Эти
преобразования осуществляются через
опции Главного меню "Сервис",
В первых двух случаях шаблон выравнивания (отступ "красной строки" и
длина строки) определяется автоматически по первой строке выделенного
текстового файла или фрагмента текста, к которому будет применено
выравнивание. Таким образом, шаблон-строка должна быть предварительно
отформатирована вручную по требуемым параметрам.
Для выравнивания по заданному шаблону всего текста, текстового абзаца или
списка необходимо сначала выделить и запомнить (Shift+F7) шаблон структуру первой строки абзаца (отступ "красной строки" и длина строки) или
одной/двух строк с "перечислителем" (вид "перечислителя"
списка:
'<текстовая лексема> -' , '-' , '1.', '1)', 'a)', 'Б)' , I.' , пробельные отступы и длина
строки), а затем применить образец к выделенному фрагменту текста или
фрагменту текста, ограниченному пустой строкой (Ctrl+F8 для выравнивания
без переноса слов или Ctrl+F9 для выравнивания с переносом слов).
Проверка орфографии
62
Для проверки орфографии русского или английского текста используется
аппарат контроля слов, содержащийся в стандартной программе Windows
Microsoft Offis Word, к которой и производится подключение. Обращение к
контролю орфографии доступно для текста, представленного в одном из
видов: без переноса или с переносом строк. Перед запуском программы
проверки необходимо указать диапазон текста, подлежащего контролю.
Предусмотрены различные диапазоны выборки текста для проверки слов,
разделенных пробелами-разделителями. Для проверки одного словы
необходимо
установить
курсор
за последней буквой слова (перед
пунктуационным знаком, если он замыкает слово), для проверки группы
слов или предложений небходимо выделить их в тексте, а для проверки всего
текста надо выделить его весь целиком. Запуск программы проверки
орфографии производится через опции Главного меню "Сервис".
В режиме визуальной проверки при обнаружении ошибочно написанного слова
на экране появляется Список, содержащий одно или несколько слов для
замены, если они были найдены в базе Word. Для замены слова в тексте
следует сделать DblClick по выбранному слову в Списке, а для отмены
исправления слова в тексте надо выбрать опцию Списка '>отменить'.
Возможна ситуация, когда программа определила слово как ошибочное, но не
выдала слов для замены либо не устраивает ни одно предлагаемое слово
замены, тогда надо воспользоваться опцией Списка '>задать...', которая
вызывает диалоговое окно "Задайте слово для замены", где пользователь
сам может указать заменяющее слово.
Специальный режим контроля орфографии файла (имеет "горячую клавишу"
F7) предусматривает выдачу протокола, отражающего строку файла с
ошибкой, ошибочное слово и варианты его замены. Если создан протокол
ошибок орфографии, то производится запрос на задание имени для его
сохранения как нового файла (Ok), либо как дозапись в указанный файл (All).
Контроль орфографии файла с выдачей протокола также выполняется через
блоковую функцию BlockOrfg (см. "Текстовый Редактор TeConv. Специальные
средства для контекстного редактирования").
Сравнение файлов
Полные имена файлов сравнения задаются в вызываемом диалоговом окне
"Редактор файлов: сравнение файлов", путем ручного набора или в диалоге
при нажатии клавиши {Выбрать}. Сравнение файлов может производиться в
трех режимах: сравнение строк файла 1 и файла 2 с одинаковыми номерами,
сравнение по фрагментам, т.е. поиск одинаковых строк файла 1 в заданном
63
диапазоне строк файла 2, поиск всех вхождений фрагмента из файла 1 по
файлу 2. Параметры для каждого режима сравнения отображаются при выборе
соответствующей вкладки диалогового окна. Результат сравнения файлов
выдается в редакторское окно, а возврат в режим просмотра и редактирования
файлов производится по клавише Esc.
Цветовая гамма результата сравнения файлов в окне редактора может быть
изменена (см. вкладку "Редактор файлов: параметры"| "Оформление").
1. Сравнение по строкам
Этот вид сравнения может производиться как для текстовых, так и для
двоичных файлов. Результаты сравнения строк текстовых файлов выдаются на
экран в виде соответствующих попарных коротких строк каждого файла в
разной цветовой гамме, а контрастной линией отмечаются отличающиеся
символы строк. Для двоичных файлов нет понятия текстовой строки, поэтому
последовательность байтов просто выдается в виде порций, соответствующих
длине короткой строки. В левой информационной колонке выдаются номера
строк соответствующего файла, а в статусной строке при движении курсора по
строкам файлов отражается следующая информация:
- полное имя файла,
- кодировка символа, отмеченного курсором,
- для текстовых файлов:
- количество строк в файле,
- номер текущей строки,
- номер текущего символа в строке,
- для двоичных файлов:
- номер последнего байта файла,
- номер текущего байта (счет байтов производится от 0).
При задании индикатора "Создать протокол" создается отдельный протоколрезультат сравнения файлов, который можно просмотреть и записать в файл.
Протокол сравнения файлов состоит из информационных блоков для
несовпадающих строк файлов, которые содержат строки отличия и номера
байтов отличия в этих строках. Для текстовых файлов блок имеет следующую
структуру:
Строка: <номер строки файла>
F1: <строка файла 1>
<>: <символы ‘*’ в несовпадающих байтах сравниваемых строк>
F2: <строка файла 2>
64
Байты отличия: <N1>,<N2>,…[<Nn> - <Nm>]
Длина выдаваемых в протокол строк отличия может регулироваться
задаваемыми параметрами настройки Редактора файлов. При несовпадении
длин файлов, идентификация файла (F1 или F2) у конечных строк меньшего
файла отсутствует. Номера байт отличия представлены в виде диапазонов,
причем в квадратные скобки [...] помещаются байты, соответствующие разной
длине строк файлов. В протокол сравнения двоичных файлов выдаются только
номера байтов отличия сравниваемых файлов.
Сравниваемые файлы всех видов можно редактировать, сохранять,
производить по ним поиск. Редактирование осуществляются через контекстное
меню, вызываемое правой кнопкой мыши в позиции курсора, располагаемого
перед позицией редактирования соответствующего файла сравнения. При этом
вызывается окно "Работа с файлом при построчном сравнении файлов", в
котором для поиска задаются контекст и направление поиска, а для
редактирования
автоматически
устанавливается
начальный
символ
редактирования (по позиции курсора) и задаются число редактируемых
символов, а также символы замены (могут быть взяты из другого файла
сравнения). Следует иметь в виду, что при поиске подключается аппарат
контекстного поиска по файлу и контекст поиска может содержать
спецсимволы, а при редактировании двоичных файлов нетекстовый символ
строки поиска/замены представляется в виде ‘$xx’, где x - восьмеричное число.
2. Сравнение по фрагментам
Результаты сравнения файлов выдаются на экран в виде двух колонок, ширина
которых определяется размером редакторского окна. Если не все лексемы
строки входного файла помещаются в колонке, то строка переносится, а если
длина лексемы превышает ширину колонки, то выдается соответствующее
диагностическое предупреждение и лексема обрывается знаком ‘>’
альтернативного цвета. Для увеличения ширины колонки следует потянуть
вправо за нижний правый угол редакторского окна.
В левой части каждой колонки выдаются номера строк соответствующего
файла, а в статусной строке при движении курсора по строкам файлов
отражаются кодировка, количество строк в файле, номер текущей строки.
Вид сравниваемых файловых строк определяется заданием ряда опций,
которые определяют способы унификации строк перед сравнительным
поиском:
65
"Один пробел-разделитель" - индикатор, указывающий на то, что между
лексемами учитывается только один пробел;
"Игнорировать начальные пробелы" - индикатор, указывающий на то, что
начальные пробелы в строке убираются;
"Игнорировать конечные пробелы" - индикатор, указывающий на то, что
конечные пробелы в строке убираются;
"Игнорировать пустые строки" - индикатор, указывающий на то, что пустые
строки в сравнительном поиске не участвуют.
"Одинаковые разноуровневые строки" - индикатор определяет цветовое
выделение одинаковых строк файлов, располагающихся в редакторском окне
на разных визуальных уровнях и находящихся в диапазоне строк сравнения
(такие строки выдаются альтернативным цветом).
Для каждой строки файла 1 осуществляется сравнительный поиск по строкам
файла 2. Границы поиска определяются опцией "Диапазон строк сравнения",
в которой задается число просматриваемых при поиске строк файла 2 (если
диапазон не задан, поиск происходит по всему файлу 2). Начальной строкой
поиска по файлу 2 является либо начало файла 2 либо строка, стоящая за
последней найденной при предыдущем поиске, а конечная строка поиска
определяется либо суммой номера текущей строки файла 1 и заданного
диапазона поиска либо конечной строкой файла 2.
Результат сравнения файлов отражается в редакторском окне путем
использования различных цветов при выводе следующих типов строк:
- одинаковые строки файлов, располагающиеся в редакторском окне на одном
визуальном уровне;
- одинаковые строки файлов, располагающиеся в редакторском окне на
разных визуальных уровнях в диапазоне строк сравнения;
- различные строки файлов и различные фрагменты строк.
3. Поиск заданного фрагмента
Для выбора фрагмента поиска из файла, если задан полный путь файла 1,
следует нажать клавишу {Выбрать фрагмент поиска}, которая обеспечивает
загрузку в редакторское окно файла 1. Выбор фрагмента в редакторе
производится путем его выделения с помощью клавиш и копирования в буфер
66
обмена (аналог задания контекста поиска). Фрагментом поиска может быть
часть строки, а также произвольное число полных или неполных выделенных
файловых строк. Выбранный фрагмент отображается в одноименном файловом
окошечке, имеющем желтый фон.
Одним из вариантов задания фрагмента поиска является создание нового файла
и запись в него нужного фрагмента, который выделяется и копируется в буфер
обмена. Такой файл может быть создан либо заранее, либо в процессе задания
параметров сравнения, однако в последнем случае задаваемое имя файла 1
должно совпадать с именем созданного файла.
Если имя файла 1 не задано, то фрагмент поиска можно набрать в одноименном
редакторском окошечке, имеющем белый фон. При нажатии клавиши
{Выполнить} заданный фрагмент поиска записывается во временный файл
_tmpf.txt, располагающийся в том же каталоге, где и основной загрузочный
файл TeConv.exe, а также копируется в буфер обмена.
Результат поиска может отражаться в одном из двух режимов: визуальном с
цветовым выделением в строках файла 2 найденных фрагментов, при этом
статусная строка информирует о числе найденных фрагментов в файле 2, и
информационном, когда выдается только информация о числе найденных
фрагментов.
Вид фрагмента поиска и входных строк файла 2 определяется заданием ряда
опций, которые определяют способы унификации строк перед сравнительным
поиском:
"Создать протокол" - индикатор доступен только в визуальном режиме и
указывает на создание отдельного протокола результатов поиска фрагмента,
который можно просмотреть и записать в файл; протокол фрагментного поиска
содержит информацию о фрагменте поиска, общее количество найденных
фрагментов, в каких строках файла 2 они найдены; параметры работы с
протоколом описаны в п.1;
"Один пробел-разделитель" - индикатор, указывающий на то, что между
лексемами учитывается только один пробел;
"Игнорировать начальные пробелы" - индикатор, указывающий на то, что
начальные пробелы в строке убираются;
"Игнорировать конечные пробелы" - индикатор, указывающий на то, что
конечные пробелы в строке убираются;
67
"Игнорировать пустые строки" - индикатор, указывающий на то, что пустые
строки в сравнительном поиске не участвуют;
"Без учета регистра" - индикатор, указывающий на то, что регистр символов
игнорируется.
При задании индикатора "Создать протокол" создается отдельный протокол
результатов поиска фрагмента, который можно просмотреть и записать в файл.
Протокол фрагментного поиска содержит информацию о фрагменте поиска,
общее количество найденных фрагментов, в каких строках файла 2 они
найдены. Параметры работы с протоколом описаны в пункте 1 .
68
ЛИТЕРАТУРА
1. В.В.Фаронов. Delphi4. Учебный курс. М.: Изд-во “Нолидж”, 1999.
2. Том Сван. Delphi 4. Библия разработчика. К.;М.;СПб. : Изд-во “Диалектика”,
1998.
3. Марко Кэнту. Delphi 4 для профессионалов. М.: СПб: Изд-во “Питер”, 1999.
4. А.Я.Архангельский. Программирование в Delphi 5. М.: ЗАО “Издательство
БИНОМ”, 2000.
4. А.Я.Архангельский. Приемы программирования в Delphi. М.: ООО “БиномПресс”, 2004.
5. В.Э.Фигурнов. IBM PC для пользователя. 6-е изд. М.:Изд-во”ИНФРА-М”,
1995.
6. Дж.Фридл. Регулярные выражения. Библиотека программиста. СПб.: Изд-во
“Питер”, 2001.
Скачать