Статьи

Проверка существования файла

В этой статье мы узнаем как проверить существование файла...

Скачивание файла с интернета

Для того, чтобы программно скачать файл с интернета в Delphi, проделаем следующие действия:..

Трей - CoolTrayIcon

В этой статье я расскажу как сделать иконку своей программы в трее. Для этого нужно скачать и установить компонент с моего сайта - CoolTrayIcon...

Функции с файлами

Функции с файлами в Delphi. Как удалить файл? Как переместить файл? Как переименовать файл? Как копировать файл? Все это вы найдете в этой статье...

Flash в Delphi

Чтобы иметь возможность работать с Flash-роликом, необходимо импортировать компонент ActiveX для Flash. Естественно, это возможно, если в операционной системе есть библиотека Flash.ocx или SWFlash.ocx.

Отправка сообщения на E-mail через SMTP

Как отправить сообщение на почту через Delphi? Очень просто! И так, начнем с самого обычного процесса...

INI файлы

ini-файлы — это обычные текстовые файлы, которые можно редактировать и просматривать при помощи любого текстового редактора.Возможно, вы их уже видели в папках с программами, играми и другими приложениями.В этой статье я расскажу, как научить программу считывать настройки из этого файла...

Установка RxLib

Дорогие друзья, в этой статье мы поймём, как устанавливать компоненты RxLib версии 2.75 на Delphi 7...

Запрет на закрытие формы

Чтобы запретить пользователю закрывать форму обычным способом (нажатием на крестик), используйте этот код...

Открываем ссылку в браузере

Чтобы открыть страничку в браузере, добавьте ShellAPI в uses и используйте код...

Как совсем скрыть форму?

Для того, чтобы скрыть форму, используйте функцию ShowWindow...

Установка Alpha Skin

Дорогие друзья, в этой статье мы поймём, как устанавливать компоненты Alpha Skin на Delphi 7...

Использование Alpha Skin

Сейчас я покажу как использовать компоненты Alpha Skin на примере программы...

Запуск внешнего приложения и ожидание его завершения

Пример показывает как из Вашей программы запустить внешнее приложение и подождать его завершения...

Поиск файлов

В этой статье мы с вами ознакомимся с основными принципами программной организации поиска файлов...

Изменение громкости звуков в Windows

Изменить громкость звуков в Windows можно при помощи следующих функций...

Как узнать информацию о системе в Delphi

Вы, возможно, видели нестандартные дельфийские компоненты, позволяющие сделать лог системы. Сейчас мы самостоятельно реализуем что-нибудь не хуже.Прежде всего, где хранится эта самая системная инфа? В Реестре, куда мы сможем залезть, добавив модуль Registry в раздел Uses...

Копирование файлов

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

Копирование программы во временный каталог

Чтобы не смущать высокое собрание подробным рассмотрением алгоритма, приведу конкретный пример исходника...

Запугивание пользователя законами об авторских правах

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

Программа неведимка

В последнее время интерес к программам-невидимкам снова возрос...

Подсветка компонента во время перемещения над ним мыши

Вы должны обрабатывать сообщения CM_MOUSEENTER и CM_MOUSELEAVE примерно таким образом...

Создание группы программ

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

Как получить список инсталлированных программ

Приведу пример программы...

Помещение записи в одну из секций автозапуска реестра

Пример показывает как поместить запись в одну из секций автозапуска реестра...

Как обрабатывать сообщения

Обработка сообщений означает, что приложение будет тем или иным образом реагировать на полученные от операционной системы сообщения. В стандартном приложении Windows обработка сообщений сосредотачивается в процедурах окна. Delphi, частично обрабатывая сообщения, упрощает работу программиста, позволяя вместо одной процедуры для обработки всех типов сообщений создавать независимые процедуры для обработки сообщений различных типов...

Липкие окошки

В статье рассматривается приём создания обработчиков сообщений, которые позволяют форме при перетаскивании прилипать к краям экранной области...

Web-страница внутри приложения

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

Как прочитать ID3-Tag'и из MP3-файла?

На самом деле, как это не кажется, прочитать ID3-теги из MP3-файла совсем не сложно и, более того, для этого не требуется никаких специальных компонентов. TMediaPlayer здесь также бессилен. Все ID3-теги хранятся в последних 128-ми байтах MP3-файла. Часть из них записана не в том виде, в каком мы привыкли их читать в Winamp или в другом проигрывателе...

Диалог в стиле wizard'а

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

Защита формы паролем

Раз это вызывает такой интерес, сегодня мы попробуем разобраться с азами такой защиты. Давайте обсудим как мы это будем делать...

Как изменить иконку у директории

Обычно, для изменения вида папок в Проводнике используется файл desktop.ini...

Что такое #13#10?

Несомненно, вы много раз видели в Delphi-коде нечто #13#10. Если вы не знаете, что это такое и каждый раз удивляетесь, то здесь вы узнаете ответ...

Использование и создание DLL в Delphi

В связи с бурным развитием технологий программирования, все больше людей сталкиваются с проблемой наращивания возможностей своих программ. Данная статья посвящена именно этому вопросу, а именно - программирование DLL в Borland Delphi. Кроме того, так как мы затронем вопросы по использованию библиотек DLL, то попутно коснемся импортирования функций из чужих DLL (в том числе и системных, т.е. WinAPI)...

Глобальная горячая клавиша

Чтобы программа реагировала на нажатие определённых клавиш даже в неактивном состоянии, не обязательно ставить хук на клавиатуру...

Запустить файл, указанный в реестре

В реестре имеется в определенной ветке строковый параметр. Необхдимо считать его содержимое (в нем хранится путь к файлу) и запустить его. Напишим функцию которая будет это делать. Нам понадобятся 2 модуля (Registry, ShellAPI), которые необходимо будет добавить в раздел uses. первый для работы с реестром. Из второго нам потребуется функция ShellExecute...

Как нарисовать рамку фокуса

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

Изменение заголовка диалогового окна печати

Все диалоговые окна, такие, как TOpenDialog, TSaveDialog и другие унаследованы от TCommonDialog. Большинство имеют свойство Title, которое позволяет изменять заголовок диалогового окна...

Как закрыть чужое приложение

Для того, чтобы программно закрыть чужое приложение, нужно отправить этому приложению сообщение WM_QUIT...

HotKeys - горячие клавиши

HotKeys - комбинации клавиш, на которые может реагировать приложение, даже если оно не имеет фокуса или запущено в трее...

Работа с форматом M3U

Формат этого файла таков: в начале файла есть служебное слово [#EXTM3U], означающее, что выбранный нами файл действительно m3u...

Знакомство с SQLite

Часто на форумах, да и здесь на сайте спрашивают, какую базу данных выбрать. Хочу сегодня представить вам ещё один движок БД, у которого есть свои преимущества...

Работа с директориями в Delphi

В этой статье я постараюсь познакомить Вас с некоторыми стандартными функциями для работы с директориями...

Конвертирование графических форматов

С помощью Delphi можно полноценно конвертировать графические форматы один в другой...

Создание хранителя экрана (ScreenSaver)

Главное о чем стоит упомянуть это, что ваш хранитель экрана будет работать в фоновом режиме и он не должен мешать работе других запущенных программ...

Delphi и системная информация о ресурсах компьютера

Иногда Delphi-приложениям может не хватать функциональной полноты стандартной библиотеки компонентов и тогда бывает необходимо обратиться к Microsoft Win32 API (Application Programming Interface - интерфейса взаимодействия прикладной программы с операционной системой)...

Пирамидальная сортировка

Алгоритм пирамидальной сортировки (heapsort) — один из самых быстрых алгоритмов сортировки...

Создание своего диалога выбора цвета

В этой статье я решил описать один вариант создания своего диалога выбора цвета...

Управление мышью

Каждый элемент управления обладает набором свойств и методов, обеспечивающих управление мышью...

Рисуем график функции в Delphi

В этой статье мы рассмотрим несколько способов нарисовать график какой-нибудь функции. Рисовать график мы будем на канве компонента Image...

О формах

Как известно, в приложениях, написанных на Делфи, если два типа форм – создаваемые автоматически (AutoCreate form) и создаваемые вручную...

Введение в Synapse

Часто, чтобы раскритиковать программистов на Delphi, используют простой и дешёвый трюк. Мол, мы, истинные программисты пишем весь код ручками, а вы, делфисты, набросали компонентов и всё...

Pascal и Delphi

Трудно рассказать что-то новое о том, что хорошо известно всем. Действительно, вряд ли найдется в нашей стране программист или просто выпускник средней школы, который не знал бы (или не слышал) об этом языке программирования...

Процедуры для работы с динамическими переменными

Основные процедуры для работы с динамическими переменными приведены ниже...

Написание оптимального кода под Delphi

В данной статье рассмотрены принципы, помогающие компилятору Delphi генерировать более оптимальный с точки зрения скорости код. Если Вы не хотите вникать в подробности, в конце статьи есть «свод правил», которые рекомендуется соблюдать при написании программ...

Локализация встроенных констант

Данная статья показывает, как можно перевести на русский язык строки...

Применение фреймов для написания правильных приложений

Не знаю как вы, а я в свое время часто встречался со следующей ситуацией...

Леворекурсивный парсер

Иногда надо взять текст и разобрать его на составляющие, но не просто разобрать, а ещё и сделать анализ, и на основании этого получить другие данные...

Динамические структуры данных

Что такое динамические структуры? Да просто данные, размер которых может меняться во время работы программы...

Программирование математических приложений

В данной статье рассматриваются основные аспекты программирования пользовательских математических приложений...

Массив из элементов - как с ним бороться или как с ним дружить

Здесь информация о: Создание массива; Работа с массивом; Заполнение массива во время работы программы; Использование объектов, созданных во время проектирования формы; Получение номера элемента массива в процедуре обработки события...

Перемещение изображений по форме с помощью мыши

Во время работы над одной программой предо мной встала задача организации перемещения нескольких изображений пользователем с помощью мыши. Я не крутой мастер DELPHI, и найденное мною решение не претендует на полноту, его недостатки я рассмотрю ниже, но я надеюсь, что опыт, приобретённый при решении будет полезен читателю...

Автоматическое сохранение и восстановление свойств формы

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

Создание DLL с Web-ресурсами

Появление в палитре компонентов Borland C++ Builder компонента TCppWebBrowser и компонента TWebBrowser в палитре компонентов Borland Delphi открыло для программистов этих двух сред возможности использования функциональности Internet Explorer'а в прикладных программах. В совокупности со средствами HTML-редакторов, TCppWebBrowser (TWebBrowser) позволяет с легкостью создавать автономные продукты, базируемые на технологии Web-дизайна, отличающиеся не только быстротой и качественностью написания, но и современным интерфейсом. Однако, самым неприятным фактом в использовании данного компонента при написании локального программного продукта, каковым могут быть, например, мультимедийная энциклопедия либо интерактивный учебник, является необходимость наличия отображаемых HTML-страниц, являющихся частью самой программы. Явное их присутствие в открытом виде на дистрибутивах или в уже установленном состоянии на жестких дисках вызывает непреодолимое желание любознательного пользователя заняться их самостоятельным редактированием и некоторое чувство незаконченности процесса создания продукта у самого программиста. Самыми простым и легким способом решения подобной проблемы является помещение служебной информации программы (Web-страниц) в ресурсы DLL...

Что такое "Змейка" и как с ней бороться?

Сразу отвечу на первый вопрос. Змейка это игра, в которой вы управляете полоской, набирая очки. Цель у игры одна: набрать наибольшее количество очков...

Создание генераторов и триггеров в InterBase

В данной статье я опишу реализацию небольшой утилиты для InterBase, которая создает генераторы, автоматически вызываемые из триггеров...

Автоматическая обработка ошибок

Эта статья, в первую очередь, будет интересна начинающим программистам...

Цветной Progress Bar

Речь пойдет об индикаторе процесса выполнения (Progress Bar'е) нестандартного цвета...

Информация о версии файла

Признайтесь, у каждого из нас когда-либо возникало желание вывести в своей программе информацию о версии файла. Неважно, в заголовок ли окна, или в файл журнала. Некоторые просто пишут версию вручную, а некоторые используют встроенную в файлы формата PE возможность заполнять блок информации о версии файла. Я расскажу о втором способе...

Примеры использования Drag and Drop

Перетаскивание информации с помощью мыши стало стандартом для программ, работающих в Windows...

Перемещение Image'a по форме во время работы программы

Многие, наверно, сталкивались с проблемой перемещения Image'a по форме. Решить ее можно тремя способами (может есть и больше, но я знаю только три)...

Delphi и Flash. Совмещение несовместимого!

Разве возможно совместить Флэш-ролики и Дельфи-приложения...

Создание компонентов в Run-Time

Итак, рассмотрим на первый взгляд сложный вопрос о создании компонентов в runtime...

Сохранение и загрузка данных в объекты на примере коллекций

При работе в сети Интернет в некоторых случаях необходимо знать текущее состояние как локального, так и удаленных хостов (имеет ли локальный хост в данный момент возможность выхода в сеть Интеренет, доступен ли некий удаленный хост и т.д.)...

Реализация ping с помощью ICMP API

Если в Вашей программе используются классы для описания объектов некоторой предметной области, то данные, их инициализирующие, можно хранить и в базе данных...

Ограничение количества одновременно запущенных экземпляров приложения

Обсуждение данной темы ведется, начиная с появления первых 32-х разрядных версий Windows. Казалось бы, проблема давно уже должна быть окончательно решена, но количество вопросов в конференциях и форумах не уменьшается, хотя из книги в книгу, из FAQ'а в FAQ кочуют одни и те же варианты решения. Но не все так очевидно и просто...

Создание COM-объектов средствами Delphi

Все сообщество программистов разделяется по приверженности к той или иной платформе и языку программирования. Один предпочитает Delphi для Windows, другому нравится ассемблер для DOS, третий программирует на Си++ для OS/2. Навыки работы для одной платформы совсем не обязательно станут полезными при переходе на другую, а знание отдельного языка программирования может даже затруднить изучение другого. Все эти преграды можно было бы преодолеть, используя межпроцессное взаимодействие между программами, однако здесь возникает новая трудность - разные формы внутреннего представления данных в этих программах...

Понимание много-поточности в VCL для веб-серверных ISAPI-расширений

В среде Delphi можно создавать высокоэффективные веб-серверные ISAPI-расширения на основе технологии WebBroker...

Как вызвать private метод класса, находящегося в другом модуле

Иногда возникает необходимость вызвать private метод другого класса, расположенного в другом модуле...

Использование HTTP в Delphi

В связи с все большим вниманием, которое привлекает к себе Интернет, все больше людей становятся заинтересованы в сетевых технологиях...

Ловим баги в Delphi

Ошибки - неизбежное зло программирования. Видимо пока трудно даже представить средство с помощью которого можно избавится от них...

Потоки данных в Delphi

Под потоком здесь понимается объект TStream, который является базовым объектом для потоков разных типов. В этом объекте реализованы все необходимые свойства и методы, используемые для чтения и записи данных на различные типы носителей (память, диск, медиа-носители).

Как получить список всех окон

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

Экспорт из БД в Word

Для того чтобы узнать, как что-то сделать из Delphi в Word-e надо в Word-е зайти в меню Сервис/Макрос/Начать запись... Потом сделать в Word-e то, что надо сделать из Delphi и закончить запись макроса. И наконец Сервис/Макрос/Макросы...выбираем записанный...Изменить и смотрим, как он устроен. После этого первод синтаксиса VBA в синтаксис Delphi осуществляется просто и непринужденно.

Чтение данных из Excel

Вначале рассмотрим вариант чтения данных использованием которого грешат те, кто только начинает свое знакомство с Excel в Delphi...

Работа с локальной памятью потока (TLS)

В данной статье мы опишем так называемую локальную память потока (TLS, Thread Local Storage)...

Работать с Tray без компонентов

Работать с трей без компонентов не очень удобно и понятно, но если один раз понять, то левые компоненты уже не нужны, т.к. можно реализовать всё что угодно...

Невизуальное наследование форм в Delphi

Создадим базовый класс, наследник TForm, от которого в дальнейшем будем наследовать все наши формы...