Ядро виртуального 32 битного процессора |
12 ноября 2016 года |
|
Исходный код к статье о реализации виртуальной машины на базе стрелки пирса.
Статья к сожалению так и не вышла и не знаю выйдет ли вообще, но наработки отправлять в стол не хочется. Поэтому исходный код публикую для широкого доступа.
Размер архива: 3 389 байт
Скачать: vm_core_demo.zip
|
Высокоточное округление |
21 февраля 2012 года |
|
В моих рабочих задачах требуется выполнять округление чисел с очень высокой точностью. К сожалению стандартная функция SimpleRoundTo такой точностью не обладает и все из-за того что число 0.5 в матсопроцессоре может быть представлено как 0.49999972 и т.п.
В данном примере показаны две функции, умеящие округлять числа с учетом погрешности матсопроцессора. Первая SimpleRoundTo_Asm при округлении использует три различных алгоритма коррекции чисел, страхующие друг друга. Вторая, SimpleRoundTo_Str - является эталоном, т.к. производит округление при помощи строк и на нее не действуют погрешности.
Скорость, конечно, значительно отличается от оригинальной фунции. SimpleRoundTo_Asm в три раза медленней, SimpleRoundTo_Str почти в 27 раз медленней.
Но скорость нивелируется точностью.
Размер архива: 4 068 байт
Скачать: round.zip
|
Абстрактные графы |
21 мая 2009 года |
|
Данный набор классов реализует абстрактные вершины и ребра графа (в комментариях к классам данные понятия заменены на "узлы" и "маршруты", что в принципе одно и то-же), сам по себе умеет делать только базовый функционал (хранение данных/запись/загрузка/построение маршрутов), для использования в реальных задачах требуется писать наследников. Так-же приложена демо работы с классом, визуализирующая хранимый граф в удобном виде.
Важное примечание: Класс написан с учетом расширенных возможностей языка, появившихся в Дельфи версии 2005, поэтому под более старымы версиями собираться он не будет.
Размер архива: 312 509 байт (архив включает исполняемый файл)
Скачать: cobweb.zip
|
Flat Assembler (DDK included) |
27 марта 2009 года |
|
Данный архив представляет из себя полностью сконфигурированный Flat Assembler версии 1.67 с интегрированными DDK инклудами, предоставленными Ct757.
Архив дополнен небольшим набором различных справок по языку. Также добавлены в соответствующий раздел дополнительные примеры приложений и драйверов за моим авторством и Ct757.
Внимание: DDK инклуды не совместимы с оригинальными, в архиве содержится исправленная версия оригиналов. Учитывайте это, если вы тоже вносили в них собственные изменения.
Размер архива: 4 092 999 байт
Скачать: fasm.zip
|
Отрисовка NC области у меню. |
4 июля 2008 года |
|
Понадобилось мне недавно сделать полную отрисовку TPopupMenu. Сделать - то сделал, но с прискорбием обнаружил, что доступа к неклиентской области меню я не имею. В интернете информации по этому вопросу мало, в основном большинство (включая несколько уважаемых лично мной метров) дают советы о использовании обычного окна, которое будет эмулировать поведение меню. Но как-то это... не то. Привожу небольшой результат моих экспериментов в этой области. Код достаточно сложный и к тому-же нет времени его сильно причесывать, поэтому на очень сложных элементах меню может давать сбой в плане отрисовки (надеюсь что это не так), а для простых он как раз подойдет. Представляет сие чудо из себя обычный наследник от TPopupMenu (и может его абсолютно спокойно заменять), у которого присутствует дополнительное событие OnNCPaint - все остальное по старому. Кому потребуется сделать что-то посложнее, надеюсь он пригодится как отправная точка...
Размер архива: 229 127 байт (архив включает исполняемый файл)
Скачать: fwmenuex.zip
|
Быстрый рассчет CRC32. |
13 марта 2008 года |
|
Данную утилиту я решил выложить после одной интересной ветки на форуме. Там обсуждалась проблема сверхбыстрого рассчета контрольной суммы на файлах большого (более 100 Мб) объема. Не буду рассуждать кто прав, а кто нет в том обсуждении - просто выкладываю пример, как можно это сделать наиболее быстрым способом. Утилита писалась как рабочий инструмент, исходный код целиком на ассемблере (не нужно пугаться - все тщательно прокомментированно :), скорость работы на несколько порядков быстрее чем аналогичный плагин от PEiD (он серьезно вещает машину при обработке файлов в 200 и более Мб) и примерно одинаково со скоростью работы платной библиотеки от https://www.slavasoft.com/. В архиве сама утилита, полный исходный код и файлы ресурсов. Компилируется все это безобразие при помощи Flat Assembler. Маленький хинт - чтобы не использовать диалог выбора файла, можно просто перетащить сам файл на диалог программы :)
Обновление 27 марта 2009 года.
Версия 1.02
Добавлены три режима отображения результата.
Размер архива: 13 148 байт (архив включает исполняемый файл)
Скачать: crc32.zip
|
Открытие редактора реестра на нужной ветви. |
9 января 2008 года |
|
Небольшой, но документированный в MSDN, трюк, о котором впрочем знает мало программистов,
поможет вам избежать написания очередного велосипеда.
Этот код поможет вашей программе открывать редактор реестра на заранее указанной вами ветке реестра :)
Размер архива: 1 354 байт
Скачать: registryautopath.zip
|
Выбор стиля диалогов. |
9 января 2008 года |
|
Еще один маленький пример поможет вам открывать диалоги с заранее выбранным стилем отображения.
Мелочь, а приятно :)
Размер архива: 1 700 байт
Скачать: opendlgstyle.zip
|
Отрисовка кубической кривой Безье. |
5 апреля 2007 года |
|
Демо, показывающее принцип отрисовки кубической кривой Безье
без использования функций PolyBezier, PolyBezierTo.
Собственно говоря - велосипед, но для студентов самое оно :)
Размер архива: 4 361 байт
Скачать: bezier.zip
|
Поиск значения в реестре. |
11 апреля 2006 года |
|
Очень простой пример поиска информации в реестре.
Используется стандартный класс TRegistry.
Размер архива: 3 664 байт
Скачать: regfind.zip
|
Словарь уникальных слов. |
13 июня 2005 года |
|
Алгоритм составления словаря всех уникальных слов встречающихся в текстовом файле.
По результатам тестирования: обработка файла объемом 3 Мб (уникальных слов ~63 тысячи)
занимает около 3 секунд. (Можно, конечно, и еще ускорить, но уж лениво сильно ;)
Размер архива: 4 073 байт
Скачать: dict.zip
|
Конвертер дайджестов форума Мастера Дельфи. |
10 января 2005 года |
|
Конвертер дайджестов форумов Мастера Дельфи из XML формата в HTML формат.
Размер архива: 322 317 байт (архив включает исполняемый файл)
Скачать: convertexe.zip
|
Конвертер дайджестов форума Мастера Дельфи. |
10 января 2005 года |
|
Конвертер дайджестов форумов Мастера Дельфи из XML формата в HTML формат (Исходный код).
Размер архива: 86 061 байт
Скачать: convertsrc.zip
|
Выбор цвета. |
27 сентября 2004 года |
|
Небольшая программка
помогающая выбирать цвет и запоминать
его значение в буфере обмена в виде RGB(r, g,
b) или #RRGGBB (исходники приложены)
Размер архива: 261 435 байт (архив включает исполняемый файл)
Скачать: colordemo.zip
|
|
..: НАВИГАЦИЯ :..
|
|
|
|
|
|
|
|
|
..: ДОПОЛНИТЕЛЬНО :..
|
|
|
|
|