Главная » C++ Builder

Работа с ресурсами в CBuilder

Добавлено Дата: 17 June, 2013 категория: C++, C++ Builder

Знаете вы об этом или нет, но ресурсы лежат в основе всего, что вы делаете в CBuilder. Все данные формы, такие как свойства и обработчики событий, хранятся в виде ресурсов, присоединенных к приложениям, которые вы пишете в CBuilder. Строки, меню, управляющие элементы и другая информация доступны классам VCL через ресурсы, присоединяемые к вашей программе во время сборки приложения (компоновки).

Читать »

Scribble: разработка C++ Builder

Добавлено Дата: 17 June, 2013 категория: C++, C++ Builder

Назначение Scribble крайне просто. Когда пользователь нажимает кнопку мыши, программа начинает рисование. По мере того как мышь передвигается по экрану, программа соединяет точки, через которые прошла мышь, образуя линии. Этот процесс позволяет пользователю «рисовать» простые (а может, и не простые) фигуры на экране. На рис. 2.4 показан результат работы программы Scribble — улыбающаяся рожица.

Читать »

Отслеживаем  изменения БД в CBuilder

Добавлено Дата: 16 June, 2013 категория: C++, C++ Builder

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

Читать »

Формы до создания C++ Builder

Добавлено Дата: 16 June, 2013 категория: C++, C++ Builder

Каким именно образом вы создаете новое окно? Это один из самых важных аспектов всей системы многодокументных приложений. Если вам доводилось работать с другими системами, вы, должно быть, привыкли доверять создание дочерних окон самой системе и знаете, что создание дочерних форм самостоятельно — обычно весьма болезненное предприятие. Каркасы (frameworks) созданы для конкретного вида работы, и поэтому очень затруднительно бывает обходить их ограничения для того, чтобы сделать что-то по-своему. Поскольку система CBuilder основана на компонентах, она даже не пытается делать вещи по-своему, предоставляя вам возможность делать все так, как вам хочется.

Читать »

Создаем приложение просмотра классов в CBuilder

Добавлено Дата: 15 June, 2013 категория: C++, C++ Builder

Назначение приложения просмотра классов состоит в синтаксическом анализе и отображении на экране информации о классах компонентов C++, хранящейся в заголовочных файлах этих компонентов. Это приложение не является ни полноценным броузером классов (хотя, хорошенько вложившись, можно его довести до подобного уровня), ни идеальным анализатором (задавшись целью, его можно наполнить абсолютной чепухой), но в большинстве случаев оно вполне выполняет свою  миссию. Я абсолютно уверен, что если у вас есть время и  силы, вы сможете превратить это приложение в полноценный броузер классов и анализатор, у меня просто  не хватило сил на это.

Читать »

Расширения языка C++ в CBuilder

Добавлено Дата: 15 June, 2013 категория: C++, C++ Builder

Программисты, работающие на традиционном C++ резко критикуют CBuilder из-за  того,  что фирма Borland воплотила его компилятор, применив несовместимые расширения языка. Однако если рассмотреть все аспекты, то окажется, что это весьма неубедительный аргумент. В конце концов, если вы хотите писать код на стандартном C++, вам ничто не мешает – CBuilder легко его обработает. Не хотите работать с расширениями, не надо – воля ваша. CBuilder без проблем работает с языком C++ стандарта ANSI, и на нем вы можете создавать полноценные приложения под Windows, не используя VCL. При желании вы можете сделать все, что я только что перечислил. Только зачем?

Читать »

Добавление кнопки C++ Builder

Добавлено Дата: 14 June, 2013 категория: C++, C++ Builder

Последний штрих в этом примере — добавление на форму новой кнопки.  Создание кнопки не отличается от создания метки или поля ввода. Но нам хотелось бы знать о том, что пользователь нажимает кнопку. Для этого нам нужно уметь создавать обработчик события нажатия на кнопку и ассоциировать этот обработчик с событием OnClick.

Читать »

Библиотека стандартных шаблонов (STL) в CBuilder (FAQ)

Добавлено Дата: 12 June, 2013 категория: C++, C++ Builder

Почему при использовании класса vector выдается целый ворох ошибок?

Наверное, вы делаете что-нибудь типа:

#include <vector.h> int func(void)

{

vector<int> array;

}

и на строке vector<int> как раз и получаете свой ворох ошибок. Для исправления ситуации используйте именованную область видимости для STL, которая называется std. Вот код, который разрешит ваши проблемы:

Читать »

Тестирование  компонента AngleText (повернутый текст) в CBuilder

Добавлено Дата: 12 June, 2013 категория: C++, C++ Builder

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

Читать »

Добавление собственных управляющих элементов ActiveX CBuilder

Добавлено Дата: 12 June, 2013 категория: C++, C++ Builder

 

Одна из самых приятных возможностей среды разработки CBuilder  —  это  возможность добавления в систему новых компонентов и управляющих элементов. После добавления компонентов в палитру они ведут себя так, как будто поставлялись с CBuilder.  Такая расширяемость гарантирует, что ваша система не будет устаревать: вы просто добавляете новые компоненты, появляющиеся в мире. Другие системы также предоставляют похожую расширяемость, но вовсе не так легко (кроме Delphi), как CBuilder.

Читать »

Несколько слов об ActiveX CBuilder

Добавлено Дата: 10 June, 2013 категория: C++, C++ Builder

Теперь настало время сказать пару слов об управляющих элементах Active и их структуре. Как и компоненты VCL, управляющие элементы ActiveX содержат свойства, методы и события. Однако в отличие от них управляющие элементы ActiveX содержат словарь, который позволяет внешним приложениям (которые называются несущими объектами , container objects) узнавать, какие свойства, события и методы поддерживает данный управляющий элемент. По правде говоря, это не совсем верно. Объекты VCL также можно опрашивать об информации, содержащейся в них. Однако такая возможность существует только в системах, построенных на VCL, например Delphi и CBuilder.

Читать »

Изменение состояния во время исполнения C++ Builder

Добавлено Дата: 9 June, 2013 категория: C++, C++ Builder

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

Читать »

Инсталляция Мастера в CBuilder

Добавлено Дата: 9 June, 2013 категория: C++, C++ Builder

Перечитав последний раздел этой главы, я вдруг осознал, что до сих пор не рассказал вам, как же инсталлировать Мастера. Это напомнило мне старый анекдот про двух саперов, обезвреживающих мину нового типа. Один возится с кусачками в хитросплетении проводов, ведущих к взрывателю, а другой зачитывает ему инструкцию. Между ними происходит следующий диалог:

Читать »

Реализация drag-and-drop в списках C++ Builder

Добавлено Дата: 8 June, 2013 категория: C++, C++ Builder

CBuilder построен на таких вещах, которые нужны программисту постоянно. Система CBuilder не поддерживает напрямую drag-and-drop между двумя списками, но тем не менее в ней есть встроенная принципиальная возможность поддержки drag-and-drop.

Замечание

Читать »

Совершенствуем игру Match Game

Добавлено Дата: 7 June, 2013 категория: C++, C++ Builder

Несмотря на то что первый образец программы Match Game, несомненно, работает, он требует определенной эстетической доработки. Во-первых,  пользователю  приходится  довольствоваться тем изображением, которое мы положили в управляющий элемент Image, когда проектировали форму. Было бы куда лучше, если бы родители, например, могли загрузить любую, на свой вкус, картинку, перед тем как давать своему ребенку поиграть в нашу игру. Также было бы неплохо, если бы  кнопки могли появляться при каждом новом запуске программы в новом порядке. Во второй версии Match Game мы попробуем расправиться с этими проблемами.

Читать »