|
|
|||||||||||||||||||||||||||||
|
В первой статье про хуки речь шла об основах механизмов хуков и о клавиатурных хуках. Во второй статье про хуки в Windows я расскажу про слежение событий создания, активации, уничтожения окон. Также много внимания будет уделено методам межпроцессорного взаимодействия с использованием разделяемой памяти (мэпинга) и синхронизации потоков с использованием мьютексов. Также будет написана программа на Delphi для осуществления мониторинга окон. Подробнее »
06.08.2009 Хуки в Windows. Часть первая. Основы Этой статьёй я начинаю цикл статей про механизм ловушек оконных сообщений, а на жаргоне программистов механизм хуков, в операционных системах Windows. Тема про хуки является популярной на многих форумах программистов. Материал этих статей рассчитан на начинающего пользователя, примеры будут на Delphi. В этой статье будут изложены основные принципы механизма хуков, и будет написан пример клавиатурного шпиона. Подробнее »
06.08.2009 Решение задач: как программе удалить саму себя или как изменить название исполняемого файла В интернете просматривая форумы по программированию я наталкивался на вопросы связанные c вопросом "Как программу заставить удалить или переименовать себя во время исполнения". В этой статье описывается самый элементарный способ. Подробнее »
03.08.2009 Компонент "Горячая область" Давным давно, в языке HTML появилась возможность задавать карты "горячих областей". Это, как правило, рисунки, на которых отмечались некоторые зоны (те самые "горячие области"), нажатие на которые приводило к нужному эффекту. Область применения подобных вещей весьма широка. Хотелось бы иметь на Delphi что-то подобное? Наверное, было бы такое сделать неплохо. Разумеется, ложить на форму WebBrowser было бы чересчур для такой простой задачи. Я предлагаю альтернативное решение - использовать предлагаемый компонент. Подробнее »
03.08.2009 ComboBox с автозавершением (AutoComplete) по подстроке Описанные в интернете спообы автозаполнения позволяют формировать список вариантов автозавершения, подбирая те строки, которые начинаются с введенного в поле редактирования текста, но не позволяют выбирать те строки, которые содержат введенный текст в любом месте строки - во всяком случае в интернете я не нашел информации по этому вопросу. Поэтому пришлось делать свое выпадающее окно автозавершения. Подробнее »
03.08.2009 Цикл for.Выполняется итерация для пустого списка При работе со списками вроде TList, и вообще везде, где есть свойство Count, обычным является перебор элементов в цикле for: Подробнее »
30.07.2009 Клавиатурный шпион при помощи Delphi Вот исходничек простенького клавиатурника можете делать с ним что хотите, главное не зазнавайтесь! К основным его преемуществам могу отнести то что он очень мал для проги такого класса (19кб), что кстати ломает убеждение о грамоздкости Делфи прог, и занимает мало места в оперативке (обычно 1-1,5мб)! Программа абсолютно безопастная и предназдначенна только для изучения! Подробнее »
30.07.2009 Создание клиент-сервера в Delphi В этой статье хочу поделиться опытом в создании клиент-сервера, который может быть использован, как для реализации сетевого чата, так и для применения в играх. Основой служат два компонента из стандартного пакета Delphi, это ServerSocket и ClientSocket. Подробнее »
27.07.2009 Self, Sender и events - ЧаВо Идея написать эту статью возникла у меня после появления на Круглом столе очередного вопроса вида "У меня есть компонент, у него есть событие On... Что ему нужно присвоить чтоб оно работало?" После недолгого наблюдения за тем, как доблесные рыцари упорно убеждали яросно сопротивляющегося автора изучить основы языка, решил я немного им помочь ;o) Сразу предупреждаю, что рассчитана статья на новичков. Итак, приступим. Подробнее »
27.07.2009 Работа с таблицами Word с объединенными ячейками В статьях, посвященных работе с таблицами Word, как правило, авторы избегают тем, касающихся объединенных ячеек. Оно и понятно: любое обращение к ячейке таблицы, находящейся в объединенной области, приводит к возникновению ошибки. Это внутренняя проблема редактора Word, связанная с архитектурой таблицы, и с этим ничего не поделаешь. Подробнее »
08.07.2009 Обработка исключений в Delphi Здравствуйте уважаемые "дельфисты" и им сочувствующие. Сегодня я вам расскажу про обработку исключений в программах на Delphi. Техника, описанная мной позволяет почти полностью контролировать выполнение сомнительного кода, который может и не сработать в самый критичный момент. Данная статья в первую очередь ориентирована на "чайников". Подробнее »
08.07.2009 MASM32 и DELPHI - битва за размер… Часто говорят о потребностях в оптимизации проекта с целью уменьшения размера программы… Delphi является аутсайдером по этому показателю среди основных языков для разработки системных приложений… Действительно у ламеров есть очень сильный (как им кажется) аргумент - Делфи создаёт пустой проект весом почти 400 кб)).. Напротив асемблер считается передовиком направления создания компактных приложений и по мнению ламеров разница в размерах огромна по сравнению с делфи… Да это так.. но всё же давайте попробуем написать программу хеллоу ворлд… выводящую просто окошко с заголовком Hallo и строкой Hallo World!!! напишим мы эти проги на Delphi и Asm… и посмотрим какая будет разница в размере… Подробнее »
08.07.2009 Запись дисков в Delphi В этой статье я расскажу про запись CD\DVD дисков в среде Delphi. Общие принципы, изложенные в этой статье подойдут не только для языка Delphi, но и для языка С++. Для прочтения этой статьи с максимальной пользой, читателю рекомендуется получить базовые понятия об OLE\COM, впрочем даже незнание этих понятий вряд ли помешает понимаю этой статьи, так как классы и компоненты Delphi (так же как и классы С++), которые мы будет использовать полностью скрывают от нас все тонкости и неудобства использования COM интерфейсов для записи дисков. Подробнее »
07.07.2009 Все об акции "Купи один продукт Embarcadero и получи другой - бесплатно!" (FAQ) Вопросы и ответы по акции "Купи один продукт Embarcadero и получи другой - бесплатно!" Подробнее »
06.07.2009 Использование Vista UAC в Delphi: Часть 2 В этой статье я затрону наиболее интересные подходы к обеспечению подлинного UAC соответствия - в том виде, в каком вероятно, следует реализовывать большинство Vista-совместимых приложений. Повышение прав по запросу с использованием COM Elevation Moniker. Подробнее »
06.07.2009 Использование Vista UAC в Delphi: Часть 1 Наконец-то произошло то, чего я так боялся. Сейчас мне придется адаптировать приложение для работы в Windows Vista. Первая и главная проблема здесь, это UAC. Поэтому я решил почитать матчасть. Возможно, кому-нибудь пригодится моя попытка перевода. Подробнее »
06.07.2009 Будущее Delphi Третьего дня мне попалась на глаза интересная статья - отчет о выступлении Дэвида И (David I) в Бельгии. Вот попытка ее перевода. Несколько недель назад я был приглашен на встречу в Брюсселе с Дэвидом Интерсаймоном, более известным в Delphi сообществе как Дэвид И. Дэвид собирался рассказать нам кое что о Дорожной карте Delphi. Подробнее »
02.07.2009 Создание рамки для перемещения Image При создании одной из своих программ, мне потребовалось организовать возможность перемещения элементов Image внутри формы и возможность изменять их размеры. Сама по себе задача не сложная, сложность заключалась в том, как все это делать при помощи мышки, в лучших традициях фотошопа и еже с ним. Как и любой другой начинающий программист, я полез в Интернет. Там я нашел, по меньшей мере, четыре способа решения моей проблемы, но все они обладали различными недостатками, в результате чего пришлось писать свой собственный код. Получился достаточно длинный код, но зато сама рамка не хуже, чем у профессионалов. Подробнее »
02.07.2009 IDE.Delphi.Отладка.Неправильная нумерация строк При компиляции с включённой опцией Debug information и последующей отладкой в IDE происходил "сдвиг" строк (см. рис.1) что значительно усложняло установку BP и отладку вообще. Чаще всего это происходило с "чужими" модулями, в том числе и модулями из VCL. Не помогало включение/отключение опции Use debug DCU's и(или) добавление "неправильного" модуля в проект. Подробнее »
30.06.2009 Организация автоматической сборки мусора для простых динамических переменных в Delphi Автоматическая сборка мусора для динамических переменных является неотъемлемой технологической особенностью современных языков программирования - как "раскрученных" типа java или платформы .NET, так и менее известных, например семейства Oberon. Уж не говоря о функциональных языках, где она применяется ещё с 70-х годов. Автоматическая сборка мусора для динамических переменных не является стандартом Паскаля и, в частности, в Delphi отсутствует. Предлагаемый метод основан на том, что в Delphi существует тип данных, для которого реализована автоматическая сборка мусора - это AnsiString. Подробнее »
Страница: ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
|