The Russian Delphi programmer Sergey Antonov (or Антонов Сергей - aka. 0xffff) is a real hacker in the positive sense. He approached me with some intriguing assembly code that implements the equivalent of the C# yield statement! Yield makes it easier to implement enumerators (you know the simple classes or records with methods like GetCurrent and MoveNext that enables the...
Я создал простой модуль и разработал несколько простых методов, помогающих избежать использования неактуальных (в оригинале было "stale" - черствый, несвежий) указателей. Я настоятельно рекомендую добавить во все модули, содержащие указатели или объектные переменные секцию инициализации ('initialization') и установить все указатели (объектные переменные это те же реальные...
BASM - Встроенный в ObjectPascal от Борланд ассемблер Введение Серия статей, названная “BASM for beginners” (BASM уроки для начинающих) в данный момент состоит из 7 статей, статьи 8 и 9 находятся в стадии подготовки. Общее для этих статей и для тех, что в процессе подготовки то, что они объясняют некоторые вопросы использования BASM на примерах функций. Большинство из этих...
ПРИРОДА ОБЪЕКТА Об объектах можно думать как о полезных существах, которые «живут» в вашей программе и коллективно решают некоторую прикладную задачу. Вы, как Демиург, лепите этих существ, распределяете между ними обязанности и устанавливаете правила их взаимодействия. В общем случае каждый объект «помнит» необходимую информацию, «умеет» выполнять некоторый набор действий и...
Www.gunsmoker.ru, 2010. — 14 с.
(Год издания не указан.)
«Я извиняюсь, если вы ожидали увидеть здесь краткий и простой ответ, но это будет длительное обсуждение с подробной "инструкцией". Этот материал будет нацелен на самоучек - т.е. обучение программированию с нуля самостоятельно (с минимальной внешней помощью). Если же вы не хотите читать большой и занудный текст, я...
TDBF является бесплатным компонентом прямого доступа, для совместимых сред фирмы Borland Delphi language. Это включает Delphi, C++Builder и Kylix. Он позволяет создавать очень компактные программы работы с базой данных, которая не требует применения программ инсталляции. Код работы с базой включается в исполнимый код. Это обеспечивает следующие возможности:
• Работа без BDE.
•...
E-mail клиент – программа, которой мы пользуемся регулярно. Количество «мыльниц», предлагаемых разработчиками растет не по дням, а по часам. Выбор велик, но зачастую все эти многофункциональные монстры снабжены теми фишками, которые могут вообще никогда не потребоваться среднестатистическому пользователю, но за них приходиться платить. Чтобы сэкономить (а может и заработать)...
Что же такое "Сообщение Windows"? Этот вопрос первым может возникнуть у начинающего программиста, тот же, кто когда-либо сталкивался с этим, хитро ухмыльнется и спрячет свои мысли в загадочную улыбку. Взаимодействие, как форма общения. В своей повседневной жизни, мы постоянно общаемся. Общение может подразумевать разговор, совместную работу и еще много всего прочего, однако в...
М.: Бином, 2001. – 768 c. Справочные данные по языку Object Pascal. Типы данных в языке Object Pascal. Обзор процедур и функций Object Pascal, Delphi и API Windows. Описания функций. Язык структурированных запросов SQL. Некоторые базовые классы, типы, переменные, константы. Компоненты Delphi. СВОЙСТВА КОМПОНЕНТОВ И КЛАССОВ DELPHI. МЕТОДЫ КОМПОНЕНТОВ И КЛАССОВ DELPHI. События...
Использование remote debugging Довольно часто в КГ в рубрике "Программирование" можно встретить советы для начинающих программистов в среде delphi. Однако порой газету читают и законченные программеры. Именно для них, а также для тех, кто уже имеет определенный опыт программирования, и предназначена эта статья.
Данная статья – продолжение цикла о разработке собственных компонентов в среде Delphi. Как мы и обещали, в это раз речь пойдет об элементах управления (далее просто контролах), способных получать фокус ввода, а также имеющих свое собственное окно.
Собственное окно (более грамотно сказать – дескриптор окна) есть только у оконных контролов. Чем же отличается проектирование оконных...
Недавно столкнулся с необходимостью прочитать XML-файл с использованием только функций API. Прочитав две статьи по WinInet (Введение в WinInet и Internet API. Как и где его использовать), имеющиеся на сайте RSDN, я сделал это, но программа постоянно получала нужный файл с ошибкой или не полностью. Данная статья призвана исправить небольшие упущения, допущенные в уже...
В этот раз мы бы хотели рассказать о процессе разработки компонентов для работы с наборами данным. Данная статья совсем не случайно является завершающей в нашем цикле, ведь для построения DB-Aware компонента, как вы сами убедитесь чуть позже, необходимы навыки создания как визуальных контролов, так и невизуальных компонентов, диалогов и т.д. Рэй Конопка назвал процесс создания...
Класс TComponent является базовым классом для всех компонентов среды Delphi. Именно он обеспечивает, с одной стороны, возможность размещения их в палитре компонентов, а с другой – возможность сохранения свойств в поток (благодаря наличию среди предков TPersistent). Именно он вводит понятия имени компонента (свойство Name) и свойства Tag, которое резервируется для нужд пользователя...
В этой статье мы рассмотрим основные стадии построения компонента, сосредоточившись на вопросах конструирования, тестирования и установки компонента в Delphi.
Ниже будут подробно разобраны подготовка каркаса компонента, а также создание свойств, методов и событий компонента.
Мы последовательно рассмотрим все шаги данного процесса на примере Control-а. Любой control является...
БХВ-Петербург, 2008. 576с. +CD-ROM Рассмотрены мало освещенные вопросы программирования в Delphi. Описаны методы интеграции VCL и API. Показаны внутренние механизмы VCL и приведены примеры вмешательства в эти механизмы. Рассмотрено использование сокетов в Delphi: различные режимы их работы, особенности для протоколов TCP и UDP и др. Большое внимание уделено разбору ситуаций...
Довольно часто на различных форумах задаются вопросы примерно такого характера: “Как мне красиво (как в DBGrid) отобразить содержимое списка структур?”, “Как можно вывести данные в DBGrid/DBControlGrid?”.
Конечно, существуют различные варианты ответа на каждый из этих вопросов. В первом случае можно попытаться создать потомка TDBGrid. Во втором – создать потомка TDataSource....
Общеизвестно, что работа с данными типа Variant выполняется медленно. Так, справочная система Borland Delphi 6.0 утверждает, что (вольный перевод) «Данные типа Variant обеспечивают большую гибкость, но занимают больше памяти, чем обычные переменные, и операции над ними выполняются медленнее, нежели над статически типизированными данными». В том же смысле высказывается и А.Я....
В статье описывается библиотека функций и классов AcedUtils, которая содержит реализацию распространенных структур данных и алгоритмов на языке Delphi для платформы Win32. Код библиотеки написан и протестирован на Borland Delphi 7.
Предисловие
При разработке функций и классов, составляющих библиотеку, основное внимание уделялось оптимизации кода по быстродействию. Но секрет...
Зачем нужно управление изменениями • Особенности StarTeam 6.0 • Установка продукта • Пользовательский интерфейс • Функциональность • Новшества версии 6.0 • StarTeam 6.0 с точки зрения Borland • Технические требования • Дополнительная информация 31 марта этого года корпорация Borland объявила о выпуске шестой версии системы управления требованиями Borland CaliberRM (этому...
Средство управления требованиями Borland CaliberRM и средство управления конфигурациями программного обеспечения Borland StarTeam были приобретены корпорацией Borland совместно с компанией Starbase в начале 2003 года. Именно в это время компании-разработчики начали проявлять повышенный интерес к средствам управления жизненным циклом приложений, отличным от средств разработки...
Накидал я тут по материалам этой ветки модулек, который может быть полезен. Экспортируются несколько типов и 2 функции. Одна дает адрес таблицы полей, другая перечисляет эти поля, вызывая callback (перечисление заканчивается, если callback вернет False). В итоге для любого класса можем получить все сведения о его published-полях, которые ссылаются на потомки TPersistent (имя,...
Как известно, многие рекомендации по совершенствованию программ, созданных с применением VCL, сводятся к простому указанию – открыть исполняемый модуль очередным Restorator’ом и поправить то или иное место в ресурсе формы или датамодуля. Наличие исходных текстов и какая-никакая документированность потоковой системы VCL привели к тому, что сегодня извлечение в читабельное...
Рассматривать задачу будем на конкретном примере некого приложения.
Опишем предметную область и постановку задачи:
необходимо чтобы наше приложение, зарегистрировав себя как протокол в системе Windows, позволяло при нажатии на ссылкуу вида testproject:\\xxxxx запустило наше приложение (если оно не запущено) и передало ему параметры ссылки. Если же приложение уже запущено, то нам...
Компоненты с названиями TWebBrowser из библиотеки VCL или WebBrowser из NET Framework 2.0 вызывают неподдельный интерес, так как предоставляют возможность не только отображения документов HTML, но и автоматизации браузера. Но если компонент System.Windows.Forms.WebBrowser предлагает богатый инструментарий для управления своим поведением, то минимум, реализованный в TWebBrowser,...
Книга посвящена созданию приложений в среде Delphi для работы с текстом, таблицами, объектами, диаграммами, макросами, настройками параметров страниц и др. в документах MS Word и Excel. Большое внимание уделено объектным моделям документов MS Office. Рассмотрено программирование элементов управления редакторов MS Word и Excel, а также создание динамических библиотек, которые...
CD-ROM содержит исходные тексты программ, выполняемые файлы и необходимые для работы программ файлы данных. Каждая программа находится в отдельном каталоге. Большинство программ не требуют для своей работы никаких дополнительных программных компонентов (библиотек) и могут быть запущены непосредственно с CD-ROM. Некоторые программы, например программы работы с базами данных,...
Здравствуйте. Перед вами моя первая статья. В ней рассматриваются сразу два немаловажных вопроса: "Как программно распаковывать *.rar архивы" и "Что сделать, чтобы не таскать *.dll-библиотеки за своим приложением". Обе темы заслуживают отдельного разговора. Начать предлагаю с первой.
Такое событие, как выпуск новой, седьмой, версии Delphi, не прошло незамеченным для большинства разработчиков. Примечательно, что в поставку этого программного продукта включен дистрибутив Delphi .NET Developer Preview. Вот об этом новом продукте (вернее – его «примерочной» версии) и пойдет речь в данной статье.
При создании многих приложений в Delphi возникает задача разработки системы сохранения в файл документа или проекта, с которым работает программа. Довольно часто при этом разработчики выбирают непростой путь создания собственных форматов, что, хотя иногда и бывает оправдано, но чаще приводит к возникновению больших и порою критических для проекта трудностей.
Есть две вещи,...
Программирование в системах Windows линейки NT можно условно разделить на две принципиально различных части — создание кода пользовательского режима и кода режима ядра.
Такое разделение вызвано особенностями внутреннего строения Windows. Поскольку основным семейством процессоров для всего семейства Windows являются процессоры Intel семейства x86. Известно, что эти процессоры...
Библиотека EhLib включает в себя компоненты и классы для Borland Delphi версии 5, 6, 7, 8, 9, 10, 11(2007) и Borland C++ Builder версии 4 и 5, 6 и предназначена для расширения функциональности клиентской части приложений, работающей с БД: вывод, печать и занесения данных конечным пользователем. Данное руководство разработчика - едва ли не единственная русскоязычная документация...
Рано или поздно каждому профессиональному разработчику программного обеспечения становится тесной среда обитания. По мнению автора, читатель понял, что речь идет о среде разработки, в которой обитает разработчик. У кого это "дом", у кого "строительная площадка", а у кого и то, и другое. В этой статье мы рассмотрим возможность расширения нашего дома. Мы покажем, как именно можно...
В статье рассматриваются механизм работы и использование механизма динамической идентификации типов (RTTI - runtime type identification) в приложениях, использующих объектную библиотеку ф. Borland VCL - Visual Component Library. Содержание: Почему не стоит читать эту статью? Что можно узнать из RTTI? Работа со свойствами Получение информации о классе объекта формат RTTI для...
Одной из наиболее интересных особенностей Delphi является предоставление, наряду с высокоуровневыми функциями Vcl, простого доступа к функциям Windows Api. Программист в любой момент волен, в зависимости от стоящей перед ним задачи, выбрать для её решения простые в использовании компоненты, либо реализовать алгоритм, требующий компактности и быстродействия при помощи прямых...
Работа с IDE Delphi.
О файле проекта.
Сокращение времени загрузки.
Вид экрана до появления главного окна.
Защита программы паролем.
Пробные версии программ.
Вставка поясняющих комментариев к именам форм.
О переносе проекта в другую папку.
Разнообразим вывод сообщений.
Включение в библиотеку форм.
Печать в Delphi.
Печать текста.
Печать изображений.
Отображение файла в...
Большинство современных жестких дисков поддерживают технологию S.M.A.R.T. – Self-Monitoring, Analysis and Reporting Technology (Технология самодиагностики, анализа и отчёта), благодаря которой возможно предсказать появление сбоев в работе жесткого диска, и позволить пользователю своевременно сделать резервную копию диска или же полностью его заменить.
Существует множество...
2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2010. — CD-ROM — ISBN 9785977504256 CD диск Рассмотрена разработка приложений в Delphi 7 — наиболее популярной версии системы визуального программирования. Описаны основы языка программирования Delphi, а также компоненты, свойства, методы и события, используемые при разработке программ для работы с графикой, мультимедиа, файлами,...
Вордовская статья
от автора:
Разве возможно совместить Флэш-ролики и Дельфи-приложения. Раньше я думал что НЕТ. Но теперь я знаю не только, что это возможно, но и знаю как это делается! И сейчас я вам расскажу об этом. Во-первых хочется отметить преимущества использования флэш-роликов в ваших программах. Если вы сумеете гармонично вписать небольшой флэш-ролик в вашу программу,...
Создание отчетов. Пример №1. Пример №2. Настройка соединения с базой данных. Подключение отчета к программе. Излишне говорить, что бухгалтерии без отчетов не бывает. Какой универсальный язык программирования не использовался бы при создании бухгалтерских программ, почти всегда возникает потребность в отдельном дополнительном средстве — генераторе отчетов. Генератор отчетов...
В статье рассмотрены возможности прямой загрузки/сохранения XML документов в объекты Delphi/C++Builder и генерации соответствующих DTD. Предлагается оптимизированный компонент для реализации этих возможностей. Язык XML предоставляет нам чрезвычайно удобный и почти универсальный подход к хранению и передаче информации. Существует множество парсеров для разбора XML документов по...
СПб.: БХВ- Петербург, 2007. — 396 с. — (Для программистов). — ISBN: 978-5-9775-0047-0. Рассмотрен широкий круг практических вопросов по программированию в Delphi: трюки и хитрости использования стандартных компонентов, готовые решения для повседневных задач, работа с СУБД (Oracle, Interbase/Firebird, MySQL, MS SQL Server), взаимодействие с мультимедиа, разработка приложений для...
Подключаемся к СУРБД, используя компоненты Delphi.
Уже много лет для управления предприятиями (заводами, фабриками, магазинами) человечество использует компьютеры, на которых, в качестве основного приложения, функционирует СУРБД (система управления реляционными базами данных). Они представляют огромное подспорье в управлении предприятиями, позволяя хранить, модифицировать...
Комментарии