Домашняя страничка Алексея Бойко


English version
Программы
Delphi
Pезюме
Письмо
КомпьютерПресс
  


Декодер русских кодировок TCODE

Интерпретатор PASCALC

Программа ENTPASS


TCODE

     Декодер русских текстов TCODE предназначен для автоматического восстановления русских текстов, испорченных в процессе передачи по электроной почте, в том числе многократно перекодированных. Для восстановления текста используются первые 25 слов, целиком состоящие из букв верхней половины кодовой таблицы ASCII или содержащие английские буквы совпадающие по начертанию с русскими. Восстановление производится путем перебора комбинаций перекодировок и распознаванием полученных слов с помошью быстрого эвристического алгоритма, основанного на особенностях построения слов русского языка.
При восстановлении поддерживаются кодировки DOS, Windows, KOI-8, ISO 8859-5, а также преобразования текста из форматов Base64, Quoted-Printable, RTF, HTML, UTF-8
Интерфейс был сделан из соображений максимального удобства чтения ньюсов и писем. По умолчанию TCODE загружается в режиме иконки в трее. Удобно например поместить ярлык TCODE в автозагрузку. Тогда для восстановления текста достаточно забрать нечитабельный текст в клипбоард и кликнуть иконку в трее. Имеется возможность задать русский или английский интерфейс. Есть возможность выбора шрифтов текста и интерфейса, поддерживается использование русского интерфейса на любых локализованных версиях Windows. Поддерживается корректная работа с русским текстом на не-русских локализациях Windows NT/2000. Используя TCODE вы можете избавится от проблем связанных с порчей русского текста при вставке через буфер обмена во многих программах. Пример использования TCODE при работе с Allaire Homesite под немецкой версией Windows 2000 можно посмотреть здесь.

Программа TCODE бесплатна (FreeWare).

Если у вас есть замечания или вы обнаружите ошибки, пожалуйста напишите мне об этом.


Версии TCODE.

18.08.1999   Версия 2.1.1.  Добавлена поддержка UTF-8.

12.10.1999   Версия 2.12. 

Исправления связанные с отображением текста: устранена возникающая в некоторых случаях неправильная центровка, ускорен вывод больших текстов.

02.02.2000   Версия 2.13. 

Сделан инсталлятор. Немного изменен интерфейс. Улучшен конвертор html в текст (хотя полная разборка не делается). Улучшен алгоритм распознавания.

18.04.2000 Дистрибутив пересобран с новой версией инсталлятора Ghost Installer.

27.01.2001   Версия 2.14. 

Добавлена поддержка RTF, 7-ми битной кодировки вида %hex, улучшено преобразование html и распознавание русского языка. Улучшена работа с Unicode-текстом в буфере обмена. Вставка русского текста из буфера обмена на нелокализованных (немецких, английских и т.п.) версиях Windows NT и 2000 происходит корректно, без замены русских букв на знаки вопроса и другие символы.

08.05.2003   Версия 2.17. 

Разные доработки

14.11.2006   Версия 2.18. 

Возможность запуска с параметрами командной строки.



Загрузить TCODE 2.18 (263K)



PASCALC

      Pascalc представляет собой простой интерпретатор Pascal - подобного языка для Delphi. Он может быть полезен для выполнения в программе разных скриптов.

Основные отличия интерпретатора Pascalc от стандартного Паскаля следующие:

  • Поддерживается два типа данных - числа (extended) и строки. Специального булевого типа нет, логические операции работают с числами, при этом считается что 0 = FALSE, любое число отличное от нуля значит TRUE. Все логические операторы в качестве TRUE возвращают 1.

  • Переменные обьявлять не надо, они при небходимости создаются динамически при присваивании им значений. Тип определяется по присваиваемому значению, типовый контроль при присваивании не выполняется. То есть если существующей числовой переменной присвоить строку, ее тип изменится. Символам строки можно присваивать числовые значения в диапазоне 0..255. Максимальная длина имени переменной 25 символов.

  • Поддерживаются многомерные массивы, которые хранятся как набор переменных. Кроме того, к символам строк можно обращаться как к массиву символов.

  • В выражениях поддерживаются следующие операции:
    арифметические: +, -, *, /, ^ (возведение в степень), SHL, SHR
    операции с битами: BITOR, BITAND, BITXOR, BITNOT
    логические: >, <, >=, <=, =, <>, AND, OR, NOT, константы TRUE и FALSE.
    Tакже можно использовать скобки. Порядок выполнения операций стандартный.

  • В интерпретаторе поддерживаются операторы:
    BEGIN ... END
    IF ... THEN ... ELSE
    CASE
    FOR ... TO/DOWNTO ... DO
    WHILE ... DO
    REPEAT ... UNTIL
    CONTINUE
    BREAK
    GOTO
    EXIT
    USES
    INCLUDE

  • Все имена зарезервированных слов обьявлены в interface как массив строк. При желании вы можете изменить их на любые другие, например сделать русскими. Допускаются одинаковые операторы присваивания и равенства.

  • Поддерживаются user-defined функции с произвольными параметрами. Параметры заранее не описываются, поэтому их количество и типы ничем не ограничены (подобно процедуре write паскаля). Интерпретатор вычисляет все параметры конкретного вызова и передает их функции как список значений. При необходимости вы можете реализовать типовый контроль внутри своей реализации функции. Тип возвращаемого функцией значения тоже может быть разным при разных параметрах вызова. В демо-программе есть пример реализации таких функций. Функции можно вызывать как процедуры. У функций поддерживаются VAR-параметры. К демо программе прилагается библиотека реализующая большое количество функций Delphi.

  • Поддерживаются процедуры и функции на языке интерпретатора. В списке параметров процедур и функций необходимо перечислить имена формальных параметров. Типы параметров и способ передачи указывать не надо, также в объявлении функций не надо указывать тип возвращаемого значения. Для возврата значения функции используется переменная "result". Если в качестве параметра функции или процедуры передается глобальная переменная интерпретатора, этот параметр для данного вызова считается VAR-параметром и его изменение внутри функции изменит значение глобальной переменной. В то же время все глобальные переменные интерпретатора внутри функции или процедуры ведут себя, как локальные переменные, которым присвоены начальные значения совпадающие со значениями одноименных глобальных переменных. Их значения доступны в процедурах и функциях, их можно изменить, но после выхода из процедуры или функции значение глобальной переменной не изменится. Все новые переменные, созданные внутри процедур и функций являются локальными, и после выхода из процедуры/функции уничтожаются. Таким образом, в процедурах и функциях можно использовать любые имена для локальных переменных, не опасаясь что они совпадут с именами глобальных переменных.

    Для реализации библиотек процедур можно использовать операторы USES и INCLUDE.

    синтаксис : USES 'имя файла';
    INCLUDE 'имя файла';

    Операторы USES и INCLUDE обрабатываются препроцессором, до начала выполнения скрипта. Оператор INCLUDE вставляет в скрипт текст из файла. Оператор USES только загружает реализации процедур и функций, чтобы их можно было использовать при выполнении скрипта.

Дистрибутив представляет собой DCU для Delphi3, Delphi4 и Delphi5 и demo-программу. Исходники лежат здесь . В ZIP-архиве c паролем находится исходный текст версии 2.01. Пароль архива: FHT8WJYT2RDK5MZ3

07.11.2000   Версия 1.02.  Первая версия.

25.03.2001   Версия 1.03. 

Добавлена поддержка VAR-параметров функций.

22.04.2001   Версия 1.04. 

Добавлена поддержка многомерных массивов. За счет предварительного парсинга текста сильно (до 10 раз) увеличена скорость работы.

04.07.2001   Версия 2.00. 

Добавлена поддержка процедур и функций на языке интерпретатора, библиотек функций. Исправлены найденные баги.

06.04.2002   Версия 2.01. 

DCU для Delphi6, реализован оператор CASE.

27.12.2002   Версия 3.0 b

Новая версия, все переменные типа variant.



Загрузить PASCALC 2.01. для Delphi (100 K)

Загрузить исходник PASCALC 2.01 (архив с паролем: FHT8WJYT2RDK5MZ3)

Загрузить PASCALC 3.0 b (с исходником)




ENTPASS

     Программа ENTPASS может быть полезна разработчикам программ работающих с базами данных. Часто при отладке программ надоедает многократно вводить тестовый логин и пароль. Программа ENTPASS ищет окна заданных классов, считывает из них имя сервера и логин, и вводит соответствующий пароль. Поддерживает окна ввода паролей Delphi, RxLogin диалог (и соответственно любых программ его использующих), SQL Navigator, TOAD. Кроме того есть возможность добавить окна ввода для других программ. Поддерживается ввод паролей по маске, с подстановкой в маску строки логина. Ввод паролей может быть запрещен даблкликом по иконке программы. Все настройки хранятся в реестре в разделе HKCU, что позволяет использовать программу на компьютере с несколькими пользователями - у каждого будут свои настройки. Хранимые логины и пароли шифруются по алгоритму DES с 64-битным ключем. Исходники программы (D3) прилагаются.


Загрузить ENTPASS. (184 K)

Загрузить исходники ENTPASS. (34 K)