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

Динамические компоненты, часть вторая C++ Builder

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

Одна из более разумных причин для динамического создания управляющих элементов — отображение полоски прогресса (progress bar). Этот управляющий элемент  вам  не  всегда необходим, но приятно было бы иметь его под рукой, когда происходит какой-либо длительный процесс.

Читать »

Генерация исходного кода компонента приложение просмотра классов в CBuilder

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

Когда пользователь нажимает кнопку OK страничного диалога, он подразумевает, что приложение в ответ на это сгенерирует ему код для нового компонента. Очевидно, что сначала программа должна провести некоторые проверки (например, проверить, введены ли имена исходного и заголовочного файла), но в основном она будет оставлять введенные вами значения на вашей совести, не пытаясь их исправлять. Если, например, вы задали недопустимые имена для свойств, программа позволит сгенерировать эти свойства. Это неизбежная расплата за объем работы по написанию приложения — чем больше в программе проверок, тем труднее ее написать, а главное, отладить. Естественно, никто не собирается ограничивать свободу вашего творчества — если вы захотите сделать программу более строгой — пожалуйста.  Если  вы  сможете  довести ее  до ума,

Читать »

Динамическая загрузка меню в CBuilder

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

Для того чтобы загрузить ресурс меню из ресурсов, находящихся  в  исполняемом  файле  (или любой другой тип ресурсов, в данном случае), вам нужно знать идентификатор ресурса. Это тот ID, который мы написали в выражении MENU в файле ресурса. Этот идентификатор передается функции API LoadMenu для получения ссылки на ресурс меню. Вот где начинаются чудеса.

Читать »

Собственно  рисование C++ Builder

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

Теперь, когда вы имеете представление, каким образом все работает, давайте закончим начатый нами пример, добавив код для рисования точек при передвиже нии мыши в окне и для остановки процесса в момент, когда пользователь отпустит наконец левую кнопку мыши. Итак, сначала код для рисования. Добавьте уже известным вам способом обработчик для события OnMouseMove, а в него добавьте следующие строки:

Читать »

Создаем поле ввода C++ Builder

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

Первый из компонентов, которые мы хотим динамически создать — это поле ввода. Когда пользователь выбирает кнопкой мыши переключатель Создать новое поле ввода, то на форме появится динамически созданное поле ввода. Создайте обработчик события OnClick (выбор, нажатие) для этого переключателя и добавьте в него следующий код. Когда вы закончите набирать этот код (или просматривать код на компакт-диске), мы обсудим, что это все означает:

Читать »

Антракт: инструменты CBuilder

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

Интегрированная среда разработки более всего на виду в системе CBuilder, но кроме нее есть еще много составляющих. Большинство из инструментов, составляющих среду разработки, могут быть использованы  отдельно  от  нее  для  выполнения  более  простых  задач,  и  в  этой  главе  мы  их  и

Читать »

Добавление функциональных возможностей в Мастер

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

У нас создана основа, так сказать скелет Мастера, что, конечно, приятно, но отнюдь не выполняет возложенных на Мастер функций. Нам надо добавить в Мастер все те возможности, которые мы реализовали в только что написанном приложении. Как это сделать?

Читать »

Пример программы замены строк STL

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

 

Теперь, когда мы просмотрели классы vector и string, можно рассмотреть пример, использующий их обоих, чтобы понять, как вы можете работать с классам vector и string.

Создайте консольное приложение (console application) в CBuilder.  Для  этого  выберите  команду меню File|New и выберите Console Application из первой страницы предложенных вариантов. CBuilder создаст новый файл проекта и основной файл программы, называемый project.cpp. Эта программа будет выполняться только из окна MS-DOS или в консольном режиме, в Windows 95 или NT, соответственно. Добавьте следующий код в исходный файл project.cpp:

Читать »

Работа со связными списками STL

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

Следующий важный компонент STL, который мы собираемся рассмотреть — класс list (список). Это тот самый всем знакомый односвязный список, который каждый из программистов или его брат, или сестра должны были написать для начального курса программирования. Основная идея списка в том, что у вас есть стартовая точка (обычно называемая головой, head, списка) и затем серия элементов в списке (называются вершинами, nodes, списка). Каждое элемент содержит указатель на следующий элемент, так что по списку можно легко перемещаться в одном направлении.

Читать »

Проверка данных БД в CBuilder

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

Если бы мы жили в идеальном мире, мы бы просто позволили пользователям изменять данные, как им заблагорассудится, и предоставить CBuilder выполнять всю остальную работу. Если вы знаете, где находится идеальный мир, расскажите и мне — я тоже хочу там побывать. В этом же мире, к сожалению, вопрос проверки целостности данных (data integrity) в базе неизбежно поднимается при любом обсуждении приложений, работающих с базами данных.

Читать »

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

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

Изменения, которые нам надо внести в форму нашего приложения просмотра классов для обеспечения          постоянного          хранения           данных,           достаточно           прямолинейны. В правый нижний угол формы мы добавим кнопку с заголовком Импорт. Эта кнопка будет использоваться пользователем для импорта текущего выбранного класса в базу данных. Кроме кнопки, мы добавим на форму три объекта TTable, которые будут представлять три определенные нами только что таблицы — классов, методов и свойств.

Читать »

Форма для определения новых методов – приложение просмотра классов в CBuilder

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

Первая форма, которую нам потребуется добавить в  проект, — это форма для определения и добавления новых методов в компонент. Эта форма позволит пользовате лю определить название метода, тип возвращаемого значения, а также типы и названия аргументов. Вся эта информация будет скомбинирована в стандартное  для C++ описание метода и добавлена в список методов, которые будут добавлены в класс при его генерации. Это позволит нам использовать один и тот же код во всех местах, где мы имеем дело с методами. На рис. 17.8 показана форма, которую мы будем использовать для описания новых методов.

Читать »

Пример: из CBuilder в MFC

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

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

Читать »

Работа с ActiveX CBuilder

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

Сегодня все говорят об ActiveX. Все в Internet строится на управляющих элементах ActiveX, шаблонных объектах ActiveX для межобъектного взаимодействия, документах ActiveX для отображения данных, Active здесь, Active там. В этой главе мы исследуем использование управляющих элементов ActiveX и особенности работы с ними. К концу этой главы вы будете знать, как устанавливать управляющий элемент ActiveX в CBuilder, как  добавить  его  в  вашу форму и как работать с ним после того, как он вставлен в ваш проект.

Читать »

Небольшое отступление: С++ и именованные области видимости

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

Мы уже рассматривали два способа работы с именованными областями (namespaces) в STL, тем не менее крайне важно для вас понять последующее рассуждение. В C++ namespace — что-то вроде сверхкласса, который содержит вложенные классы. Например, так мы создаем сверхкласс с именем fred:

Читать »