Информация о пользователе

Логин: TStas
ФИО: Стас
E-mail: stas258@
ICQ UIN: 121158313
Сайт: http://stas258.narod.ru
Статус: пользователь

Закачанные исходники

htmltext.zip  (155923 байт)
Посмотреть содержимое

TStas : 2007-01-20 02:27:25

Delphi - Компоненты

Наследник TGraphicControl понимающий HTML Центральное св-во htmlText. Понимает теги <a> <i><u><b>
и обозначения спецсимволов. Гиперссылка ведет себя в нем, как ссылка в браузере, т. е. ее можно открыть, создать ярлык и т. д. Есть редактор св-ва, облегчающий пользование.
А использую его, чтобы в своих прогах писать людям благодарности с указанием сайтов.

Скачать

Комментарии (0) 1560 скачиваний

verylongmath.zip  (22245 байт)
Посмотреть содержимое

TStas : 2006-01-28 11:13:09

Delphi - Модули

Модуль VeryLongMath.
В этом модуле определен тип: VeryLongInt - целые знаковые числа и математика для них. Это числа по модулю 100. Состоят из модуля, в котором задом наперед записаны разряды и знака (True - знак есть, т. е. число меньше нуля). Если числа не инициализированы, то ошибки не возникает, они автоматически инициализируются при обращении к функциям и им присваивается 0.

Оптимизация скорости выполнения: при переводе в строку длинна строки расчитывается сразу и устанавливается один раз. При переводе строки в число части строки только копируются. При умножении длинна результата также устанавливается один раз. Возведение в степень производится с минимальным числом умножений, см. код функции. Так, например при возведении в степень 100 будет произведено не 100, а только 8 операций умножения. Есть функция извлечения корня, которая возвращает точный ли он, а если неточный, то ближайшее целое.

TProgressEvent - процедурный тип, с помощью которого можно отображать процесс извлечения корня или вычисления НОК и НОД, а также остановить процесс. Умеет считать НОК и НОД для двух длинных чисел. При ошибках (деление на 0, корень из отрицательного числа) возбуждаются исключения.

Второй модуль - NumericParser. Использует VeryLongMath.
В этом модуле определен класс парсера. Парсер принимает строку и, возможно, процедуру TErrorEvent, с помощью которой он может указать место ошибки, если таковая возникла. Чтобы он парсил, нужно вызвать метод Parse. Понимает переменные, если создать TStrings и в свойства Objects записать длинные числа в виде TNumericObj, и записать полученный TStrings в свойство VarList. Понимает выражения двух типов - длинные числа или логичекие. Есть свойство ResultType, в котором записано, получилось ли парсить, а если - да, то каков тип выражения. Есть свойство Corrected, в котором записано, корректна ли выражение. Парсер понимает комментарии, которые находятся внутри фигурных скобок. Регистронезависим. Понимает функции Abs, Sqr, Sqrt, GCD (НОК), lcm (НОД), логические константы true и false. На основе парсера есть функция Eval, которая принимает строку и возвращает результат ее выполнения в виде строки.

Имеется тестовый проект в виде калькулятора.

Скачать

Комментарии (3) 1085 скачиваний

progressindicator.zip  (29055 байт)
Посмотреть содержимое

TStas : 2006-01-16 19:11:10

Delphi - Компоненты

Индикатор прогресса. Нужен, чтобы отображать процесс выполения длительных циклов. В отличии от простого ProgresBar'а показывает, сколько времени прошло с момента запуска и сколько примерно осталось.

Сделан из TGauge, TstasusBar, TPanel и TTimer. Основные методы: Start(StartValue, StopValue: Int64) и Stop. Первый запускает процесс отображения цикла, второй останавливает его. Чтобы периодически отображать изменения величины внутри цикла, надо изменять свойство CurrentValue: Int64. При этом вызывается Application.ProgressMessages, чтобы программа не казалась зависшей при длительном счете. Один раз в секунду изменения отображаются. Генерирует события OnStart при запуске отображения и OnStop при остановке. Свойство StopedVisible: Boolean определяет, должен ли индикатор быть видимым, если процесс остановлен. По умолчанию False – не должен.

Скачать

Комментарии (0) 2415 скачиваний

spelling.zip  (2059 байт)
Посмотреть содержимое

TStas : 2005-09-18 19:53:45

Delphi - Модули

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

Скачать

Комментарии (0) 1423 скачиваний