(c)2001-2002 Петр 'Roxton' Семилетов

TEA - Text Editing and Authoring

version Tea build no. 1.1.0.0
ПОЧТИ ПОЛНАЯ ДОКУМЕНТАЦИЯ


Основные фишки
Интерфейс
Меню:
Файл
Настройки
Правка
Поиск
Функции
Утилиты
Кодировка
Вид
Документы
Клавиши
Лицензия
Кредиты и копирайты
Благодарности
Баг-лист
Отсебятина
Контакты




Характеристики:



Поддерживаемые кодировки: Windows CP 1251, DOS 866, KOI8-R, Unicode, Mac, ISO 8859-5, translit. Автоматическое определение Windows CP 1251, DOS 866, KOI8-R.

Подсветка синтаксиса для языков: HTML, C, C++, Object Pascal (Delphi, Kylix), Java, JavaScript, Perl, SQL, Visual Basic Script.

Быстрые шаблоны (Ctrl-J) для: HTML, Delphi, C++ Builder.

Математический аппарат: калькулятор для сверхбольших величин, встроенная обработка алгебраических выражений, набранных просто в тексте документа. Конвертирование из одной системы счисления в другую (DEC/BIN/HEX), перевод арабских чисел в римские и наоборот.

Текстовые функции: изменение регистра, форматирование, позиционирование блоков с помощью курсорных клавиш, шифрация/дешифрация, реверс, правильное оформление диалогов, удаление HTML-тэгов, лишних пробелов; коррекция глюков перекодировки из Word'а в plain text, детранслит, исправление раскладки, сортировка, нумерация, и многое другое.

Анализ текста - подсчет количества слов, знаков и пробелов (аналогично Word). Плюс - система УНИТАЗ (Универсальный Текстовый Анализатор), который выдает словарный запас автора текста, и другую полезную информацию.
Анализатор гипер-ссылок - извлекает из текста все ссылки.

HTML-Tools - утилиты для веб-дизайнеров. Быстрая вставка тэгов, распознавание JPEG/GIF/PNG-форматов для вставки тэга IMG с заполнением имени файла и его размеров. Чтобы вставить такой тэг, картинку достаточно перетащить в редактор! Еще: выбор цвета из двух палитр (обычная и Web-safe), клавиши ALT-B/I для вставки тэгов форматирования, заключающих в себе выделенный текст. Меню "Просмотр", из которого можно запустить файл на просмотр в IE, Opera, Netscape и т.д.

Закладки: двух типов - временные локальные, и закладки-ссылки, которые доступны из специального меню закладок. Закладки-ссылки позволяют запомнить имя файла и позицию в нем, поэтому выбор такой закладки из меню инициирует загрузку файла в редактор и смещение в нем курсора на сохраненную позицию.

Файловый менеджер Neptuno 13: средство навигации по диску. Позволяет открывать текстовые файлы в редакторе, искать и заменять в неоткрытых файлах заданные строки, массово перекодировать файлы. Поиск по регулярным выражениям. Выглядит похоже на Windows Commander.

Утилиты: продвинутый календарь, таблица символов (по совместительству виртуальная клавиатура), HEX-редактор, и многое другое.

Печать: цветная печать файлов с подсветкой синтаксиса.

Экспорт: экспорт в RTF и HTML с сохранением цветового выделения синтаксиса!

Звук: можно включить озвучивание нажатий на клавиши - эмуляция печатной машинки.

Поддержка плагинов: TEA поддерживает плагины своего формата (документация и исходники включены в дистрибутив - см. файл source.zip)


Интерфейс:

Общие замечания об интерфейсе: при выходе из программы запоминаются позиция и размеры главного и некоторых подчиненных окон редактора. В продукте реализован MDI-interface, т.е. многодокументный интерфейс, как в Word 97 или HTML-Kit - окна с текстом "плавают" внутри главного окна. Кроме того, существует много отдельных окон-утилит, вроде файлового менеджера Neptuno 13.

Об окнах редактирования. Перенос слов в редакторе осуществляется по правой границе окна. Если включен автоотступ, то набор текста происходит так - допустим, вы написали в начале строки 3 пробела, а затем какое-то слово, и нажали Enter. Следующая строка начнется с четвертой позиции, т.е. на месте начала слова предыдущей строки. Также вы можете выделить блок текста, и удерживая Alt, курсорными клавишами влево/вправо перемещать его в разные стороны на n-позиций, где n равна значению, заданному в Настройках > Число пробелов в отступе.

Локальные закладки. Это закладки, локальные для файла. Они временные, то есть не сохраняются, и работают лишь на протяжении сеанса редактирования документа. Установить закладку: Ctrl-K-цифра
Перейти на закладку: Ctrl-Q-цифра
Где цифра от 1 до 9.


Контекстное меню для редактора:
Стандартные Копировать/Вырезать/Вставить.
И ниже идет выбор кодировки - Windows, KOI8-R, DOS. Выбор влияет на отображение символов. То есть физически ничего не конвертируется. Просто, если вы выбираете DOS, то в редактор подгружается DOS-шрифт, и текст в кодировке DOS 866 отображается верно. Почти все утилиты и функции, обрабатывающие текст, связаны с кодировкой WINDOWS CP 1251.
Далее, в том же меню - Режим выделения, поточный/блочный. Поточный - обычный, как в Ворде. Блочный - это когда вы можете выделить текст в форме прямоугольника. Например, есть три длинных колонки цифр. В блочном режиме вы можете выделить любую из этих колонок (по вертикали), а не все подряд, как это было бы в потоковом режиме.
Открыть выделенный файл - открывает в новом окне текстовый файл с именем, которое вы выделили в тексте. Файл этот должен быть в той же папке, что и текущий. Если файл графический, то он тоже открывается, с помощью редактора, который вы задали в Настройках на странице Главные > Графический редактор.
Посмотреть выделенный файл - открыть графический файл с помощью вьювера, который вы задали в Настройках на странице Главные > Смотрелка картинок.
Понимаются имена файлов и пути следующих видов: относительные пути с обычным и обратным слэшем (например, "/filmz/mn_films.htm" либо "\filmz\mn_films.htm"), полные пути ("c:\temp\test.txt"), и ссылки на файлы в текущей директории ("second.htm").
Toggle breakpoint - помечает текущую строку ярким маркером, либо снимает отметку. (на самом деле breakpoints служат в других продуктах для другой цели, но в данном случае действуют только в качестве маркеров)
Установить локальную закладку/Перейти по локальной закладке/Удалить локальную закладку. Всего может быть 9 локальных закладок. Такие вы можете видеть в IDE от компании Borland, в HTML-Kit, и так далее.

Вверху в каждом окне редактора расположены, слева направо, следующие элементы:
Список выбора текущего набора шаблонов - Delphi, C++, HTML. По умолчанию включен HTML, и при выборе другого до следующего запуска TEA обратно HTML-набор не переключается (согласен, глюк, который нужно исправить).
[DEVELOPER NOTE - шаблоны HTML пока что именуются Custom. Мне вообще сейчас лень ими заниматься]
Список типов подсветки синтаксиса - нет, Delphi, C, C++, Java, Jscript, Perl, Visual Basic, HTML.

Внизу находится командная строка "Твой компайлер". Для того, чтобы запускать текущий файл на обработку каким-нибудь компилятором. Пример:
gcc @ -o mycode.exe
Здесь текущий файл запускается на компиляцию компилятором gcc. Текущий файл представляется макросом @. Имя компилятора не должно содержать в себе пробелов.
Можно использовать "Твой компайлер" более широко. Например, команда opera @ покажет текущий файл в Опере, а hiew @ в редакторе hiew. Наконец, winword @ - откроет файл в Ворде.

Тулбар (панель справа в главном окне)

Очень важный элемент интерфейса, поскольку несет на себе, кроме обычных кнопочек создания/сохранения/копирования и прочей лабуды, утилиты для веб-дизайнера, и многое другое. В текущей версии состоит из двух "страниц" с "корешками". Первая страница "Главные" - как бы системная. На ней:

Сначала идет всякая фигня вроде открытия, создания, сохранения и печати файла. Потом - cut/copy/paste. Затем - кнопки вызова информационной консоли, файлового браузера и менеджера закладок, о которых вы можете прочесть в разделе "Утилиты".
Такая здоровенная штука в виде двух стрелок служит для прокрутки текста в текущем окне.

Вторая страница - "Web". Здесь - всячина для веб-дизайнеров. Почти каждка кнопка работает в двух режимах - простой и "мастер", или визард. Режим зависит от того, КАКОЙ КНОПКОЙ МЫШИ ВЫ КЛИКНУЛИ ПО КНОПКЕ НА ТУЛБАРЕ, правой или левой. Есть мастер таблиц, мастер вставки изображения... Я понимаю, это не HomeSite или HTML-Kit, но что есть, то есть. Зато - ничего лишнего!



КЛАВИШИ (краткий список):

Ctrl-Enter - вставляет <br> Alt-F1 - preview in IE
Alt-F2 - preview in Opera
Alt-F3 - preview in Netscape
Alt-F4 - preview in Custom browser

Ctrl-K-x - где = 1..9 - установить временную закладку с номером
Ctrl-Q-x - перейти на временную закладку

Ctrl-Shift-Space - вставить тэг "неразрывный пробел"
Ctrl-Y - удалить текущую строку
Ctrl-Up/Down - выделенный текст преобразовать в верхний/нижний регистр
Alt-P (Ctrl-Alt-P) - заключить выделенный текст в тэги <p></p>
Alt-B - заключить выделенный текст в тэги <b></b>
Alt-I - заключить выделенный текст в тэги <i></i>
Alt-H - заключить выделенный текст в тэги <a href=""></a>
Alt-N - заключить выделенный текст в тэги <a name=""></a>
Alt-+/- - заключить выделенный текст в тэги увеличения/уменьшения размера шрифта
Alt-C - раскрасить выделенный текст (тэг FONT с выбранным тобой цветом)
Alt-J - вызов быстрого шаблона (как в IDE Delphi)
Alt-left/right - смещать выделенные блок влево/вправо на "число пробелов в оступе" (см. Настройки > Главные)

Ctrl-Alt-S/L - сохранить или загрузить резервную копию
Alt-x - убить формат нафиг (в выделенном тексте или так)
Ctrl-S - сохранить
Ctrl-O - открыть файл[ы]

Ctrl-G - перейти на строку x
Ctrl-F - найти
F3 - найти дальше
Alt-F - найти/ найти далее текст, содержащийся в буфере обмена
Alt-G - переход на строку, чей номер скопирован в буфер обмена

Shift-F1 - работать в кодировке WIN
Shift-F2 - работать в кодировке DOS
Shift-F3 - работать в кодировке KOI8 Rus

Ctrl-T - де-транслит
Ctrl-W - исправить вордовские переглюки кодировки
Ctrl-E - исправить раскладку (англ > русск)

F9 - закладки
F12 - браузер файлов

Ctrl-Alt-Z/X - кодировать/декодировать
F4 - вычислить выражение
F7 - окно Документы

Меню:


Файл:

Новый - создать новый файл, эт понятно.
Новый из шаблона - выбираешь файл-шаблон (они лежат в папке TEA/Engine/Templates), и на его основе создается новый файл.
Сохранить как шаблон - сохраняет текущий файл в папке с шаблонами.
Открыть, сохранить, сохранить как - тоже вроде бы ясно.
Создать резервную копию, загрузить резервную копию - создает копию текущего файл в той же папке, и загружает эту копию, ежели надо.
Сохранить версию - сохранить версию файла, добавив к имени резервной копии текущие дату и время (а также префикс - см. пункт Настройки > Сохранение)
Сохранить всё - сохраняет все файлы, которые уже были сохранены. То есть, эта функция не действует на безымянные несохраненные файлы.
Revert to saved - привести текст в последнее сохраненное состояние.
Испортировать из... - импорт файлов, чья кодировка или формат отличны от Win/DOS/Koi8.
Экспортировать в... - экспорт файлов в другой формат или кодировку
Статистика - вывод кол-ва символов, символов и пробелов, слов, размера файла, даты создания и так далее. Причем результаты подсчета аналогичны Word'овским.
Печатать - печатать. Если подсветка синтаксиса включена, то печать будет цветной.

Файл > Настройки (F8)


Главные:

Определять кодировку автоматически - по умолчанию TEA сам определяет кодировку при открытии файла. На моей машине он делает это быстро, незаметно, а как на вашей - не знаю. Поэтому я предусмотрел возможность отключения этой функции. Автоматически определяются следующие кодировки: Windows CP 1251, DOS 866 и KOI8-R.

Заменять прямые кавычки на парные при вводе - если включить эту опцию, то они, кавычки эти прямые (""), будут на парные, елочкой, заменяться. Ай да чудеса!

Автоотступ по умолчанию активен - если вы программер или поэт, можете для пущего удобства включить эту опцию. Под ней есть поле ввода, в нем задается базовая ширина отступа в символах.

Правая граница редактора активна - у каждого окна редактирования есть граница справа, которую можно включить (активна) и выключить. Позиция этой полосы зависит от опции "Ширина каждой строки в кол-ве символов".

Выделять синтаксис цветом - можете включить или выключить. Выключение полезно, например, если вы используете цветовые схемы, которые не подходят по гамме к подсветке синтаксиса.

Автопрокрутка - автоматический скроллинг текста. Включается либо тут, либо в Утилиты > Автопрокрутка

Графический редактор - здесь надо указать путь к Фотошопу, GIMPу или что там у тебя используется для редактирования картинок.

Смотрелка картинок - аналогично, прога для просмотра изображений. ACDSee или фриварный IrfanView (irfanview.tuwien.ac.at/english.htm)

Recent files items count - количество элементов в меню Файл > Документы. Я долго думал, как лучше кратко перевести, но не смог, поэтому опция останется на английском.


Плагины:

Плагины обработки:

На этой странице находтся менеджер плагинов. Чтобы установить новый плагин, нажми кнопку "Инсталлировать", и выбери в открывшемся окне файл с плагином. Если вы скачали плагин, помещенный в архив, то вначале нужно извлечь плагин из архива. Плагин имеет расширение *.DLL.
Если вы просто скопировали плагин в папку Tea\Engine\Plugins, или же вручную удалили его оттуда, то следует нажать кнопку "Обновить список", иначе работа с плагинами будет глючить.
Чтобы правильно удалить плагин, выберите его название в списке, и нажмите "Удалить текущий".

Плагины ввода/вывода:

Хотя движок Tea поддерживает возможность подключения плагинов для чтения/записи в различные текстовые форматы, в этой версии редактора поддержка плагинов ввода/вывода не реализована. [CURRENT VERSION NOTE: содержимое списка названий плагинов обновится в следующий раз после загрузки редактора!]


Цвета:

На этой странице вы задаете цвета для разных элементов редактора. Так всё понятно, кроме ряда кнопок справа, для создания, сохранения и загрузки цветовых схем-пресетов. Вот как это работает:

SAVE - сохранить текущие установки в текущей (выбранной в списке) схеме.

NEW - создать новую схему. После этого вы можете нажать на RENAME, чтобы придать схеме благозвучное название. Переименовав, нажмите SAVE. Дело в том, что когда вы нажимаете в списке на названии пресета, он сразу загружается из файла. Поэтому, в любом случае, при выборе выборе пресета мышью, загружается его сохраненное состояние.
Когда включена подсветка синтаксиса, то пользовательские настройки перекрывают цвета подсветки.

DEL - удалить пресет.
Еще одно замечание об обоях. Поддерживается только один формат - *.BMP


Браузеры:

Tea нутром поддерживает 4 браузера - IE, Opera, Netscape 6 плюс один, задаваемый пользователем. К каждому нужно задать путь. IE, Opera и Netscape вызываются различными методами, кто через DDE, а кто - нет. В любом случае результат их запуска корректен - запускается браузер, а в нем открывается текущий файл. Custom-браузер запускается без DDE. Я тестировал Arachna, Lynx и Amaya - всё тип-топ. В будущей версии я реализую возможность подключения любого количества браузеров, а не только четырех. Но то, что есть сейчас - стабильно работает.

Шрифты:

Выбор шрифтов для кодировок WIN, DOS, KOI. Каждый шрифт имеет отдельный размер. В списке отображаются только моноширинные шрифты (вроде Courier), потому что Tea использует только этот тип фонтов.

Сохранение:
Версии:

Сохранять версию при закрытии - при закрытии файла будет сохраняться его копия, которая будет называться по формуле: "префикс-дата-время-оригинальное_название"

Конвертировать в кодировку - конвертировать текст в другую кодировку при сохранении его версии. Кодировка оригинала не изменяется.

Добавлять префикс к имени файла - можно добавлять, а можно и нет. В поле ввода набираете нужный вам перфикс.

Сохранять версию в папке оригинала - если выключено, то при "Сохранять версию при закрытии" не версия сохраняется.
Автосэйв при preview. Это чтобы файл автоматически сохранялся перед просмотром его из TEA в браузере. То есть, вы редактируете страницу, хотите и посмотреть ее в браузере (Alt-F1/F2/F3/F4). TEA показывает оригинал текущего файла, а не создает временную копию, как это делают некоторые другие редакторы. Поэтому чтобы посмотреть изменения, вам ведь нужно сохранить текущий файл. Включение данной опции позволяет TEA делать это автоматически перед вызовом браузера.

Файл-менеджер
Настройки файл-менеджера Neptuno13. Слева в секции "Цвета" задаются цвета для отображения ими папок и файлов. Все эта фигня сохраняется в пресетах, которые можно сохранять, нажимая кнопочку SAVE, и загружать, выбирая их в списке.
Правее расположена секция "Типы файлов". Нахрена? Для каждого типа файлов можно задать: цвет отображения, внешний редактор и внешний вьювер. Тип файла определяется по расширению. Расширение не должно содержать в себе точки, и должно быть из трех букв. Это не юмор, но покамест в распознанию подлежат только расширения из трех букв. В будущем я исправлю это, но не сейчас.


Меню Правка
Всякие там Undo, Redo, вставка, копирование и т.д. Там же включается/выключается опция переноса по словам.

Меню Поиск

Здесь собраны функции поиска и замены текста. Алгоритм основан на ночном обходе окрестностей уездного городка N с фонарем в руках.

Найти (Ctrl-F) - находит нужное сочетание символов.
Найти следующее (F3) - находит следующее заданное в "Найти" сочетание символов.
Ежели скопировать текст в буфер обмена и нажать Alt-F, то будет произведен поиск скопированного текста. Повторное Alt-F продолжит поиск...
Найти в Сети - ищет слово с помощью поисковика Google, запустив Internet Explorer.
Найти в файлах - неконец-то я сделал это. Показывает окно поиска, в котором вы можете задать, где искать файл с нужным вам словом. Если вы не уверены в написании этого слова, то можете заменить сомнительную букву символом * или ?.
Goto - перейти на строку с заданным номером.
Alt-G - переход на строку с номером, скопированным в буфер обмена.
Заменить - окно поиска и замены.
Заменить всё/Мультизамена - вообще потрясная вещь. Если в ее окне включена опция "мультизамена", то позволяет использовать файлы с правилами замены. Это обычные текстовые файлы, каждая строка которых состоит из записей вида:

Старое слово=новое слово

Например:

dog=cat
fish=cow
forest=river

Когда вы выбираете функцию мультизамены, вам предлагают выбрать файл с правилами, которые будут применены к обрабатываемому тексту. Файлы с правилами вы создаете сами, для своих нужд - это могут быть, скажем, перекодировочные таблицы, или корректоры синтаксиса. Да, чуть не забыл - замена тут чувствительна к регистру, то есть "СОБАКА" это не то же самое, что "собака"...

Если же опция "мультизамена" выключена, то функция работает по принципу "заменить данное слово во всем тексте на другое слово". Недавно я добавил в окно мультизмены редактор - в нем вы можете сразу набирать новые правила мультизамены, сохранять и загружать их.


Меню Функции

Подборка функций обработки текста. Для того, чтобы "обрабатывающие" функции работали, нужно выделять текст, и затем уже вызывать функцию. Некоторые функции работают так - если текст выделен, то обрабатывается только он, выделенный, а иначе - весь текст. Вот такая премудрость. Далее следует неполный список функций, которые реализованы в продукте.


Вставка > Дата (Ctrl-Alt-D) - вставляет текущую дату и день недели.

Вставка > Время - вставляет текущее время.

Вставка > Алфавит Русский/Английский
Особой пользы большинству юзеров эта штука не принесет - я сделал ее для себя, когда писал транслитератор и утилитку борьбы с глюками Ворда. Короче, две эти функции выводят в столбик часть таблицы символов с алфавитом.

Регистр > Верхний/Нижний - изменяет регистр выбранного текста. Проще использовать Ctrl-вверх/вниз на выделенном тексте.

Регистр > Хакеризация - делает текст ВОт ТАкИМ кОРЯВым.

Число > Арабское в римское / римское в арабское - конвертирует целое арабское (обычное) число в римское, и наоборот.

Число > Число словами - переводит десятичное число в его словесную форму.

Число > HEX в десятичное/десятичное в HEX - перекодирует 16-тиричное значение в десятичное и наоборот. Замечу, что выделенное в тексте число не должно включать в себя префиксы вроде h или $, а также посторонние знаки.

Число > BIN в десятичное/десятичное в BIN - перекодирует двоичное значение в десятичное и наоборот. Замечу, что выделенное в тексте число не должно включать в себя префиксы и посторонние знаки.

Число > Високосный ли год? - проверяет, является ли выделенное число високосным годом, и выдает ответ. Например, вы выделили слово "1977", применили эту функцию, и получили такой результат: "1977 - увы, не високосный..."

Число > Вычислить выражение (F4) - вычислить результат выделенного алгебраического выражения. Например, было:
cos(14)+sin(60)+244-13+PI
Выделили этот текст, нажали на F4, получили:
233,973519250695

Вот список функций, которые поддерживаются при вычислении:

COS - Косинус
SQRT - Квадратный корень
SIN - Синус
TG - Тангенс
ARCCOS - Арккосинус
ARCSIN - Арксинус
ARCTG - Арктангенс
EXP - Экспонента
LN - Натуральный логарифм
LG - Десятичный логарифм
CTG - Котангенс
SQR - Возведение в квадрат
LOG - Логарифм с произвольным основанием
POWER - Возведение в степень
ABS - Модуль числа
SH - Гиперболический синус
CH - Гиперболический косинус
TH - Гиперболический тангенс
ARSH - Ареа-синус
ARCH - Ареа-косинус
ARTH - Ареа-тангенс
SGN - Знак (сигнум) числа
SUM - "Сумма нескольких слагаемых, суммирование по индексу i. В обычной записи соответствует греческой большой букве "сигма". Первый параметр - начальное значение индекса, второй - конечное, третий - суммируемое выражение, может зависеть от i. Например, выражение Sum(1,5,Sqr(i)) вычисляет сумму квадратов целых чисел от одного до пяти. Границы изменения параметра округляются до целого числа".
(с)Григорьев Антон, Черноголовка

Строка > Реверс - инвертирует выделенный текст.

Строка > ФИО - делает следующую штуку - пример:

Было: Семилетов Петр Владимирович.
Стало: Семилетов П.В.

Обратите внимание на форму подачи данных для этой функции: Фамилия, затем Имя и Отчество.

Строка > Анаграмма
Выдает анаграммы строки. Например, для "dog" это будет:
odg
ogd
god
dog
dgo
gdo

Алгоритм этой функции - (с)1993 Mark Ouellet. Немного изменен мною для совместимости с Object Pascal.

Строка > Заключить каждую строку в...
Нет, не в жопу, а между неким текстом. Появится окошко, где можно ввести текст ДО, и текст ПОСЛЕ. Допустим, мне нужно в конец каждой строки некоего фрагмента текста добавить тэг <BR>. Я выделяю текст, и применяют эту функцию, где поле текста ДО оставляют пустым, а в ПОСЛЕ вписываю <BR>
То же и для, скажем, <li>бла-бла-бла</li> - только теперь ДО будет <li>, а текст после - </li>


Строка > Пронумеровать строки, Сортировка строк, обратная сортировка
Что, описание нужно? ;))

Замена > Tabs > Spaces. Переводит все символы табуляции в тексте в пробелы. Об опции, влияющей на это, смотрите в настройках.

Замена > Прямые кавычки > Парные (и наоборот) - замена кавычек. Прямые - это " и ", а первые - « и ».

Утилиты > Убить тэги HTML. Убить все тэги HTML в документе.

Утилиты > Убить тэги HTML версия 2. Взята из библиотеки FastStrings. Которая из двух лучше - смотрите сами, и сообщите, какую оставить, а какую - выкинуть.

Утилиты > Сортировка параграфов.

Это великая, но тонкая вещь. Зачем она? Предположим, что нужно сделать глоссарий. Подумаем, из чего он состоит? Из небольших статей - "параграфов", первые слова которые надо отсортировать по алфавиту.
Посему - юзаем эту функцию. В каком формате должен быть текст, предоставляемый функции для обработки? Это должны быть куски текста, разделенные символами-разделителями (по умолчанию - точка с запятой). Пример такого текста:

редиска - плохой человек.;
шапку мять - гнать волну на пахана.;
Бахчисарайский фонтан - щедрый человек.;
родину любить - осесть на месте;
Навуходоноссор - человек умеет вести бухгалтерию.

Если выделить этот текст, а затем применить к нему рассматриваемую нами функцию, то "жаргонные" словечки и относящиеся к ним параграфы будут сортированы. В зависимости от количества параграфов уменьшается количество ошибок сортировки ;) То есть, не всегда функция работает правильно. Важно помнить, что параграф не должен начинаться с пробела или отступа в виде табуляции!


Формат > Жесткий word-wrap.
Жесткий перенос текста по правой границе на кол-во заданных вами символов.

Формат > Убить форматирование нафиг/Убить табуляцию нафиг. Средство для очистки текста от нежелательного форматирования. Средство радикальное.

Формат > Убить пробелы подряд (Alt-X)
Убивает не только подряд идущие пробелы, но также и табуляцию и перевод строки. Полезно, когда приходится убивать форматирование. Сам юзаю.

Безопасность > Кодировать/Декодировать.

Выделяете текст, бум! - кодируете его с неким паролем, который введете в появившееся окошко. В итоге получаете билеберду на постном масле. А затем, когда придет нужда, снова выделяете этот текст, опять вводите пароль, и о чудо! - билеберда приобретает вид первозданного текста.
В пароле различается регистр симоловов! i.e. "СОБАКА" это не "собака".
Насколько все это надежно?


ШИФРАЦИЯ - МЕТОД, ВОСПИТЫВАЮЩИЙ В ЧЕЛОВЕКЕ ПАРАНОЙЮ
(П. СЕМИЛЕТОВ)


Поскольку шифрование данных в "TEA" основано на движке моей старой программы TopSecret! (поищите ее на киевских BBS'ках), а набивать лишний текст мне лень (а еще я болен сейчас гриппом, дико чихаю и страдаю от повышенной температуры), то привожу кусок из документации к TopSecret, совершенно справедливый и для TEA.

Итак, итак...

------------//------------

В TOP SECRET 2000 используется очень простой, но надежный алгоритм моей разработки (правда, не самый быстрый). Сложность декодирования напрямую зависит от длины пароля. Рассмотрим способ, с помощью которого можно попробовать взломать зашифрованный с помощью TOP SECRET (далее T.S.) файл.

Итак, некто N узнает алгоритм кодирования. Это не составляет проблему, вообще-то говоря. Далее, в руки подлого N попадает Ваш файл, зашифрованный в T.S. N знает, что ранее это был, скажем, обычный текстовый файл на русском языке. Чтобы его правильно декодировать, N необходимо проделывать с помощью написанного им крэкера такую штуку:

1. Декодировать файл с неким паролем.
2. Просмотреть часть файла-результата на предмет обнаружения неких слов из русского языка, и в случае обнаружения таковых считается, что пароль правилен, иначе же вновь обратиться к пункту 1.
Более подробно взглянем на оба пункта.
Первый: где N возьмет пароль?
Пароли бывают разные. Например, очень простые: dog, cat, home, tree. Ну, именно такие пароли редкость.

Сударь N первым делом будет пробовать для дешифрации всякие популярые пароли, вроде sex, fuck, motherfucker. Затем N может попытаться использовать в качестве пароля слово, относящееся, скажем, к Вашему хобби, и т.п. - если он имеет о вас некоторое представление.

Следующий этап - последовательный перебор слов из обычного словаря. Вначале, разумеется, существительные. Вряд ли кто-то имеет такой пароль, как "Избежал", "данный".


/За пару миллионов лет стая обезьян может написать полное собрание сочинений Шекспира - просто тупо барабаня по клавишам/

Когда N исчерпает 10-мегабайтный словарь, он может перейти к следующему этапу, по сути, немного сходному с вышеприведенной стаей обезьян.

Перебор символов - метод Brute Force, грубая сила. В TOP SECRET вероятность совпадения пароля можно выразить формулой 256 в степени X, где Х - количество символов (байтов) в пароле. Например, для тупого подбора пароля, состоящего из трех букв, теоретически требуется перебрать 16777216 комбинаций символов.

Для пароля "дырижер" ("ы" здесь для того, чтобы слово не было в словаре) понадобится 72057594037927936 комбинаций (256 в 7-ой степени, т.к. в слове-пароле 7 букв). При этом программа-крэкер должна сканировать КАЖДЫЙ декодированный вариант на некие цепочки символов, сигнатуры - скажем, если в дешифрованном тексте есть слово "если", то этот текст, скорее всего, расшифрован правильно, поскольку содержит читабельное слово, а не фвопрвимикрлор.

------------//------------

Меню Утилиты

Автопрокрутка - включает и выключает автопрокрутку. Это для ленивых - чтобы текст сам прокручивался. Настройки темпа - в Файл > Настройки

Анализ > УНИТАЗ - Универсальный текстовый анализатор

* Тормозит страшно. Можно подумать, что он зависает. Нет. Он не виснет, просто думает долго. Ждите, и результат рано или поздно будет. О тормознутости анализа: у меня на Athlon Thunderbird 800 файлик весов в 64 кб анализировался 27 секунд (с приоритетом Normal).
* Там есть регулятор приоритета работы анализатора. Работает.
Крайнее правое положение - максимальный приоритет, левое - вообще фоновый. Лучше использовать среднее положение, как оно установлено по умолчанию. Максимальный приоритет жутко тормозит ВСЁ, кроме движка УНИТАЗА.

Календарь - календарь, в котором можно "листать" даты вперед и назад. В крайнем левом столбце - номера недель. Правый клик на календаре вызывает меню с одним единственным пунктом - "К сегдняшней дате". "Сегдняшней" - это словцо тех, кто занимался локализацией Вынды 98, равно как и "приложеньице запущено" при старте джава-апплета. Не знаю, как в других версиях Windows... И еще такая фишка: чтобы узнать разницу во времени между двумя датами, делайте так:
1. Установить календарь на первую дату, и потом нажать кнопку "Первая дата".
2. Установить календарь на вторую дату, и потом нажать кнопку "Вторая дата".
3. Нажать кнопку "=" (в окне).
4. Получится разница между датами, т.е. сколько времени между ними прошло. В тексте результата роль играют месяцы и дни. Недели - уже так, для полноты картины.

Таблица символов - отображает топорную виртуальную "клавиатуру", с помощью которой вы можете набирать мышью текст. Также есть две кнопки: Copy char скопирует в буфер обмена выбранный символ, в Copy code - его ASCII-код.

Browser (F12) - файловый браузер Neptuno 13. Служит для многих целей. Выбор в нем файла Enter'ом или двойным кликом открывает этот файл в редакторе. Имеется также меню с поиском, заменой, мультизаменой, перекодировкой, которые обрабатывают выделенные в списке файлы.
О "Замена/мультизамена". Полезнейшая штука. Например, вам нужно перетащить кучу Winamp'овых плейлистов под Линукс, для XMMS или mpg123. Создаете текстовый файл, примерно такой:

G:\=/mnt/cdrom/
g:\=/mnt/cdrom/
\=/

(он лежит, кстати, в \Engine\Tables)
И используете его в мультизамене. Думаю, пояснять не надо, что G - это буква CD-ROM'а. Примечание - РЕГИСТР РАЗЛИЧАЕТСЯ! Вот почему в примере есть G и большая, и маленькая.
Вот. Neptuno 13 - чисто вспомогательное средство, я не ставил себе цель сделать полноценный файл-менеджер. В нем есть еще контекстное меню для удаления или переименования файлов и папок, а еще хотлист директорий для быстрого перемещения в нужное место.

Закладки (F9)

Древовидный список закладок. Это оргазм. Чтобы добавить закладку, указывающую на текущий файл, выбираем в меню Закладка > Добавить элемент или Добавить подэлемент. Создается закладка с названием, равным имени файла плюс с добавлением в конец инкрементного счетчика. Это по умолчанию. Название закладки можно отредактировать в нижнем левом поле ввода. А в правом поле ввода редактируется название файла, на который ссылается закладка.
Функция Закладка > Обновить текущую обновляет сохраненную в закладке текущую позицию курсора в тексте. Чтобы это сработало, закладка должна быть выделена в списке.
Примечение о редактировании названий закладок: это НЕ Проводник и тому подобное. Редактирование названий ТОЛЬКО в поле ввода...

Конвертация величин - конвертор из одних величин в другие (метры, дюймы, и так далее)

Меню Кодировка

Работать в (имя кодировки) и Конвертировать в (имя кодировки).
Первое из них просто заменяет шрифт в текстовом окне, а второе - прогоняет через перекодировочные таблицы, а затем устанавливает для окна нужный текущий шрифт. Для вындовой кодировки шрифт по умолчанию - Courier New, для DOS - Terminal, а для KOI-8 - какой вы установите. Установка шрифтов для разных кодировок осуществляется в Файл > Настройки > Шрифты.
Если у вас нет шрифтов KOI-8, то специально для этого я прилагаю вместе с продуктом собственноручно нарисованный дебильный KOI8-R шрифт - он лежит в той же папке, что и исполняемый файл Tea, и файл с ним называется "roxtonKOI8R.ttf". Чтобы установить шрифт, нужно пойти в Панель Управления > Шрифты, и перетянуть в нее файл со шрифтом. Далее, при выборе шрифтов он будет представлен под именем CourierKOI-8, а в папке "Шрифты" как "Roxton Typewriter Courier KOI-8". Сразу оговорюсь, что это первый шрифт, который я сделал в своей жизни, и некоторые символы в нем отсутствуют. В будущем, когда у меня будет время, я обязательно все исправлю. Впрочем, читать текст можно и так... Если вам нужны фриварные русские шрифты, сходите на сайт "Веди": http://vedi.d-s.ru/fonts.htm
Либо, по поводу KOI-8 фонтов смотрите здесь:
http://andrzej.virtualave.net/Stuff/KOI8fonts.rar
[note: ссылки старые! я давно их не проверял!]

Де-транслит (Ctrl-T). Допустим, пришло вам по мылу письмо вроде "Privet, kak u tebya dela?". Копируете его в редактор, выделяете фрагмент, жмете Ctrl-T, и получаете в итоге "Привет, как у тебя дела?".
И наоборот, есть функция "транслит"...
Опции транслитерации настраиваются в Настройках на странице "Разное"

Вордово глюкало (Ctrl-W). Многим известно, что Майкрософт Ворд при конвертировании текста в формат plain text (то бишь обычный текст файл, не *.DOC), с сохранением форматирования, любит радовать глюками кодировки. Например, заменять некоторые слова на нечто вроде "`jjslskrnp{". Не беда, если у вас есть оригинал, но зачастую в руки попадают из Сети электронные версии книг, и многие слова из-за глюков разобрать положительно невозможно. Я написал корректор таких слов. Скажем, выделив загадочное "`jjslskrnp{" и нажав Ctrl-W мы получим более внятное слово "аккумулторы". Почему без буквы "я"? При глюке Ворд ее попросту "глотает", исключая из слова. Пока что мой алгоритм не столь интеллектуален, чтобы добавлять "я" автоматически, и вряд ли поумнеет в ближайшее время... В целом же данная функция работает на ура.

Исправить раскладку (Ctrl-E). Допустим, набрали вы "лох" в английской раскладке клавиатуры, и получилось маловразумительное "kj[". А вот выделили это слово, нажали Ctrl-E, и все чин-чинарем, "kj[" превратилось в привычное "лох".

Из Фидо > В нормальный текст. Если вы сохранили мессагу в файл в каком-нибудь FTN-редакторе вроде Голого Деда, то получите латинскую H (эйч) вместо русской Н, а латинскую "p" (ар) вместо русской "р". Данная функция исправляет этот недостаток.

Меню Вид
Выбор цветового стиля и менеджемент окон. Мне нравится менять цвета редактора. В Настройках можно задавать все цвета вручную, но там все реализовано как-то дебильно, осознаю. Поэтому меню "Стиль" для тех, кому неохота сталкиваться с дебилизомом настроек.
Тут же доступно окно "Документы" (F7)

Меню Документы
Сюда помещен список открытых документов, кликая на именах которых, вы являете их пред свои светлы очи. Эта функция полезна, когда открыто очень много файлов и навигация между ними затруднена.

ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ:
ВЫ МОЖЕТЕ КАК УГОДНО ИСПОЛЬЗОВАТЬ И РАСПРОСТРАНЯТЬ TEA (ДАЛЕЕ "ПРОДУКТ") БЕСПЛАТНО С СОБЛЮДЕНИЕМ ЦЕЛОСТНОСТИ ДИСТРИБУТИВА. ПРОДУКТ РАСПРОСТРАНЯЕТСЯ КАК ЕСТЬ И КАК НЕТ. АВТОР ПРОДУКТА НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ПОСЛЕДСТВИЯ ИСПОЛЬЗОВАНИЯ ПРОДУКТА. ПРОДУКТ НИЧЕГО НЕ КИДАЕТ В СИСТЕМНЫЕ ПАПКИ! ИСПОЛЬЗУЙТЕ ТОЛЬКО ПРОЧНЫЕ, НО НЕ ПРОВЕРЕННЫЕ ВРЕМЕНЕМ КОНДОМЫ!

КОПИРАЙТЫ:

TEA написан на Delphi 5 Enterprise Edition. Помимо авторских разработок, использовались следующие библиотеки и компоненты:

>>>Компоненты:

RX Library (www.rxlib.com)

JAN's Components (c) Jan Verhoeven 2001, jansfreeware.com/jfdelphi.htm

THexEditor 1.15 (C) 1998-1999, by Markus Stephany. home.t-online.de/home/MirBir.St/

TWavePlayer by Kambiz R. Khojasteh, www.crosswinds.net/~khojasteh/
khojasteh@www.dci.co.ir

Virtual Treeview (c) 1999, 2000 Dipl. Ing. Mike Lischke, www.lischke-online.de

TRungler by Александр Ильин, alexil@aha.ru


>>>Библиотеки:

JCL (www.delphi-jedi.org/)

Opstring for Borland Pascal от TurboPower Software.

FastStrings by Peter Morris FastStrings@stuckindoors.com

QStrings 6.01.412 от (C) 2000, Andrew N. Driazgov (andrey@asp.tstu.ru)б Sergey G. Shcherbakov (mover@rada.gov.ua)

NumTools от (С) Игорь Ковалевский (www.geocities.com/SiliconValley/Sector/7819/).

HyperString v5.0 by EFD Systems (http://www.mindspring.com/~efd)

SafeCalc by Григорьев Антон

HTML Parser by Przemyslaw Jankowski, pjank@home.pl


Инсталлятор создан с помощью NSIS
(http://www.nullsoft.com/free/nsis/)



Также я использовал иконки неизвестных мне авторов, и идеи реализаций некоторых алгоритмов, взятых из модулей SWG и других фриварных исходников (не-GNU!). Иконку TEA и кнопки интерфейса (которые оранжевые и здоровые) нарисовал я сам :)

Эта документация целиком сделана в TEA. Могут быть ошибки - я не прогонял текст спеллчекером. Педантов на кладбище!
Титанический труд над документацией велся под звучащие в наушниках песни Guano Apes - все альбомы до 2000 года.

Выражаю благодарность людям, которые внесли в концепцию TEA полезные идеи, сообщали о важных багах, и так далее. Вот эти люди:

Elen Chistyakova
Евгений Манев
Kirill (5030/741.8)
Виталий Максимов
Александр Павлюк
Юрий Борский
Игорь Доброхотов



Баг лист
(см. файл !bugs.txt)


Если вы обнаружили баг, и есть время/желание/возможность сообщить мне о нем мылом - сделайте это доброе дело. Токмо указывайте номер билда TEA и название вашей системы (какая вында - 95, NT, 98, ME, 2000, XP?).

ОТСЕБЯТИНА:

Зачем я сделал эту штуку?

Надо было... Проект стартовал 4 октября 2000 года. Тогда я мало разбирался в программировании, как впрочем, и сейчас. Постепенно редактор сформировался в более-менее стабильный продукт, который я решил выложить для всеобщего скачивания. Основые мысли, которых я придерживаютсь в разработке TEA, таковы:
1. Стабильность. С синими экранами, хоть и редко, имею дело я, когда отлаживаю новую версию редактора - когда эта версия релизится в дистрибутиве, все жуткие глюки исправлены.
2. Никакого говна вроде OCX-компонентов, швыряния тучи dll'ок в системные папки, переиначивания файловых ассоциаций, и прочих прелестей. No shit!
3. Функциональность. Все лишнее быстро выкидывается нафиг. Лишнее - то, в чем нет надобности. Так я выкинул вьювер ANSI-графики, MIME-клиент, и еще много разной фигни. Несмотря на это, редактор жрет много ресурсов. Я не знаю, какого черта он их так жрет - имею в виду не память, а всякие там ресурсы ядра, GDI и прочей фигни. Касательно памяти TEA, наоборот, экономен, как скопец на кондомы.
4. Нормальная документация. То бишь, где написано понятно и четко, и не так нудно, как в "прочих некоторых". Самый нудный хэлп, который я читал - это хэлп к The Bat. Я понимаю, конечно - писать документацию занятие само по себе нудное. Выпуск новых версий TEA часто тормозится именно потому, что мне лень дополнять вот эту документацию. Это ж надо есть, уделить время, пояснить понятным языком, как и что использовать. В любом случае, стараюсь описывать самые важные вещи.
5. Поддержка нормального веса натуральными средствами. Я не использую суперсжигатели жира вроде упаковщиков exe-файлов, считая их вещью хуже, чем бомжацкий нос, полный соплей и поданый в луковой подливе на сковородке. Но обещаю, что вес экзишника TEA никогда не превысит двух с половиной мегабайтов. Щас он весит около 1.9, и ведутся работы по оптимизиции, как ни паскудно это звучит.

Планы на будущее:

1. Настраиваемые юзером шаблоны.
2. Быть может, скины.
3. Плагины ввода/вывода (можно будет редактировать файлы других форматов)
4. Расширение web-функций.

Что для проекта нужно?

1. В команду разработчиков приглашаются:
  • Художник/художница, чтобы нарисовать стильные иконки, логотип и т.д.
  • Программеры, чтоб создавать плагины.
  • 2. Компонент для менеджмента ассоциаций файловых расширений (С ВОССТАНОВЛЕНИЕМ ПРЕДЫДУЩИХ УСТАНОВОК - иначе не нужно). Я уже обломался сам эту фигню писать. Не то, чтобы не могу, но не хочу.

    3. Информация о поддержке очень нестандартных кодировок, форматов, и т.д.
    4. Интерфейс к ASpell на Object/Free Pascal.
    5. И вообще - буду рад любым предложениям касательно усовершенствования продукта.

    Как связаться со мной?

    E-mail: vesnakrasna@narod.ru
    FidoNet: Petr Semiletov, 2:463/446.5
    Личный сайт: www.roxton.kiev.ua
    Сайт сетевого журнала "Хыч", где я редактор: www.hych.kiev.ua
    Сайт моей рок-группы: paprika.pesni.ru

    (Версия руководства от 24 марта 2002 года)