![]() |
Некоторые примеры программных разработок автора на языке Object Pascal 2.0 в среде программирования Delphi |
Знакомство с программированием под Windows началось у автора в 1996 году с попыток графической реализации результатов расчетов. В дальнейшем автор целиком переключился на программирование в среде Delphi. Побочным результатом освоения и работы в данной среде явилась библиотека компонентов Argent, содержащая помимо модернизированных автором freeware-компонентов и свои собственные – стрелочный индикатор, компонент для вывода данных, «локатор» и т.п. Здесь следует отметить, что до 1999 года на т.н. «интерфейсные» vcl-компоненты существовал определенный дефицит разработок.
В качестве примера первых экспериментов своих windows-программ автор приводит карточный пасьянс “Наполеон”.
![]() |
Загрузить (638 Кб) |
Задача данной игры разобрать расклад, снимая нижние “открытые” карты одинакового номинала, масть не имеет значения. Пасьянс содержит “несходящиеся расклады”, но интересен тем, что, по легенде именно его раскладывал Бонапарт в ссылке.
Некоторая информация о рассмотренном выше программном обеспечении была в 2000 году размещена по адресу,
http://www.amidafo.narod.ru,
где содержатся подробное описание компонентов, исходные тексты и многое другое...
Одной из задач, реализованных в 2000 году, было моделирование различных динамических объектов, при этом применялись возможности разработанных автором компонентов. Наглядный пример - моделирование простейших динамических звеньев.
![]() |
Загрузить (246
Кб)
|
Данная "программка" демонстрирует переходные процессы простейших динамических звеньев и позволяет обучаемым определить влияние тех или иных параметров различных звеньев на качественные характеристики данных процессов. Можно подключать-отключать влияние звеньев нажатием на объекты мнемосхемы. Скорость процесса регулируется. Моделирование реализовано с использованием метода Эйлера. (В примере задействованы возможности компонентов Argent.)
С 2001 по 2003 года автор вел разработку на Delphi 5.0 локальной СУБД, фиксирующей неисправности пневмогидравлических систем морской техники. При создании данной СУБД был задействован ряд программных технологий (MIDAS-технологии, использование работы с потоками, разработка собственного компонента-коллекции и т.п.), ставящих целью обеспечить работу СУБД в "автономном" режиме и без ее инсталляции (последнее было связано со спецификой работы с информацией базы). СУБД была протестирована и принята к использованию. Наработки в данной области позволили автору участвовать в 2003 году в разработке локальной базы данных для складского транспортно-логистического сервиса "СТЭЛС". Учитывая требования заказчика, была создана программа, работающая с одноуровневой БД. Программа не требует установки каких-либо доп. компонентов (или программ) и инсталляции; в соответствии с запросами, программа допускает доработку в будущем.
Параллельно с СУБД был разработан ряд вспомогательных программных утилит, создана имитация тренажера пультов управления аппаратурой. Проводились проработки по созданию сетевых приложений БД, мультимедиа-приложений (также на базе Object Pascal - D5).
Как пример в данной области приводится программная
утилита tilemngr
, задачу которой можно кратко охарактеризовать, как генерацию
"бесшовных" текстур.
Правильный выбор текстур важен для 3D
b 2D-дизайнерских разработок, при создании игр, программ, мультимедиа приложений
и т.д.
Как правило
в качестве основы текстуры используется некое изображение, которое многократно
повторяясь, заполняет либо область экрана, окно программы,
либо "покрывает" какие-либо объекты.
Одним из главных параметров
оценки качества используемых текстур называют "монотонность"
текстуры, т.е. "незаметность" стыков при склейке текстур. В ряде
случаев "плавность" переходов при склейке позволяет существенно снизить
(при сохранении качества) размер ( а, следовательно, объем) графического ресурса.
Правильный подбор текстуры позволяет добиться наиболее оптимального фона окон
для приложений и сайтов, однородности при наложении текстур в дизайне, единого
представления в играх.
В качестве заготовок для текстур имеется
огромный выбор изображений, кроме этого существует целый ряд программ и разделов
в программах,
посвященных генерации
текстур. Все это позволяет получить или выбрать наиболее приемлемую и желаемую
текстуру, вернее заготовку для нее. Наряду с этим, в наиболее известных программах,
работающих с графикой (Adobe Photoshop, CorelDraw, Ulead Photoimpact и т.п.)
не удалось найти удобных механизмов, позволяющих подбирать
изображения для текстур
таким
образом,
чтобы
соблюсти
требование "незаметности " стыков.
Очевидно, что наиболее просто это достигается вырезкой из изображения какого-то
участка, который бы отвечал этому требованию наибольшим образом (наибольшим
- с точки зрения пользователя).
Такую вырезку поддерживают все программы, работающие
с графикой, но, как правильно произвести
вырезку?
Что касается генераторов текстур, встроенных
в дизайнерские программы, интерфейс большинства из них довольно сложен, и,
в целом ряде
случаев, отсутствует удобный
механизм "вырезки" рамкой из сгенерированных изображений.
Я задался целью создать небольшую утилиту, позволяющую производить и наглядным образом оценивать выбор участка для вырезки из изображнения-заготовки для текстуры.
![]() |
(607 Кб) |
Управление рамкой в программе осуществляется мышью и клавишами
стрелок.
Изменение размера рамки - мышью и клавишами стрелок при нажатой
кнопке Ctrl.
Справка к программе прилагается.
Возвращаясь к теме создания имитации пультов управления аппаратурой, привожу простую программу PrK1, которая реализует основу обучающего тренажера по тематике предприятия ФГУП "ЦКБ МТ "Рубин".
![]() |
(469 Кб) |
К данной версии программы приведено встроенное краткое описание.