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

Простой пример потока в CBuilder

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

В нашем первом примере мы начнем с внутренних особенностей работы с потоками. Мы создадим простую форму, которая использует поток для обновления текста на экране. Форма позволит вам приостанавливать (pause), вновь запускать (resume) и останавливать (stop) выполнение потока. В то же время поток будет отображать числа на экране. Мы исследуем процесс создания потока и добавления объекта «поток» в вашу программу.

Читать »

Понятие о списках, прорисовываемых владельцем C++ Builder

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

Списки, прорисовываемые приложением, в котором они созданы, называются owner-draw (прорисовываемые владельцем) (это также относится к спискам внутри компонентов). Называются они так потому, что код для их прорисовки предоставляет их владелец (форма). Существует два вида owner-draw списков. Первый из них называется фиксированным  owner-draw  списком.  В таком списке все элементы фиксированной (одинаковой) высоты. Почти все списки, которые вы найдете в вашем приложении, будут именно фиксированными.

Читать »

Разное в CBuilder (FAQ)

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

Какие еще источники информации по CBuilder существуют?

Лучшие источники информации — электронные конференции, расположенные по адресу forums.borland.com. В них содержится постоянно обновляемая информация по всем аспектам CBuilder (ActiveX, VCL, базы данных и т. д. и т. п.). Кроме того, группа Borland в конференциях CompuServe (BCPPWIN) также является очень неплохим источником свежей информации. И, наконец, собственно домашняя страница CBuilder на www.borland.com.

Читать »

Проверка корректности данных в поле ввода C++ Builder

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

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

Читать »

Работа с Delphi в CBuilder

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

Как вам повторяют снова и снова, CBuilder — это просто Delphi, использующий для разработки приложений язык программирования C++ вместо Object Pascal. Если это действительно так (а это действительно так), то нельзя ли использовать объекты Delphi в CBuilder? И как было бы замечательно, если можно было бы взять уже созданные формы и  программы  Delphi  и использовать их в CBuilder. И не является ли главной в использовании кода возможность использовать не только код из ранее разработанных приложений, но и код, написанный в другой среде разработки?

Читать »

Создание Мастеров в CBuilder

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

CBuilder располагает обширным интерфейсом разработки приложений (Application Programming Interface, API), который предоставляет вам возможность расширять собственно систему, создавая новые программные Мастера.

Что такое Мастер (Wizard)? Как правило, это быстрый и легкий способ создать что-нибудь в IDE. Мастера берут на себя автоматизацию трудных или требующих больших затрат времени работ, упрощают создание шаблонов структур или приложений, выполняют другие задачи,  облегчая жизнь программисту. Главная задача Мастера — сделать работу программиста более простой и быстрой. Что может быть лучше, чем облегчение конструирования компонента в среде CBuilder?

Читать »

Взаимодействие Visual C++ и формы CBuilder

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

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

Читать »

Исследуем странички C++ Builder

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

Следующая область в нашей экскурсии по VCL — страничные управляющие элементы (tab controls). Страничные управляющие элементы, или записные книжки, как их часто называют, являются способом отобразить большое количество связанной информации в маленьком пространстве. Такие управляющие элементы впервые появились в Windows 3.1, но использовались не очень часто, пока корпорация Microsoft не начала использовать их в своих приложениях (в основном Word). Страничный управляющий элемент — это метафорическая записная книжка с закладками, которая на одном и том же пространстве содержит множество диалоговых страниц. Когда страница (tab) выбирается, то диалог, относящийся к этой странице, становится видимым, а предыдущий — невидимым. К счастью, с появлением новых компонентов больше не нужно знать, как работает вся эта подсистема; нужно  знать, что  можно делать с помощью этой технологии. Короче, страничные управляющие элементы — прекрасный пример работы компонентной технологии в мире Windows.

Читать »

Великое изменение — переход к многодокументным формам C++ Builder

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

Я хочу рассказать вам грустную, но абсолютно правдивую историю из своего программистского прошлого. Как-то несколько лет назад работал я в небольшой компании, разрабатывающей программные продукты. Мы получили задание конвертировать уже  написанную программу под MS-DOS в приложение под Windows 3.1, используя для этого Visual C++ и MFC. После переговоров с менеджером по продажам и клиентами нам было велено разрабатывать программу, используя однодокументный (Single Document Interface, SDI) каркас. И я, и другие программисты нашей группы несколько раз спрашивали у них, уверены ли они в том, чего хотят, но они твердо стояли на своем. Складывалось ощущение, что человек, который проектировал программу, никогда не работал в среде Windows и в принципе не знаком с концепцией многодокументного интерфейса. В результате мы провели шесть месяцев, разрабатывая действительно неплохой программный продукт на основе однодокументной модели.

Читать »

Блокирование  закладки C++ Builder

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

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

Когда выбирается страница в страничном диалоге, она сначала выдает форме, на которой расположен элемент PageControl событие OnTabChanging для поверки того, можно ли уйти с этой страницы. Однако это нам нисколько не помогает, поскольку нас интересует вовсе не активная страница. А интересует нас та страница, на которой пользователь щелкнул мышью, то есть та, на которую он хочет перейти. К сожалению, событие OnTabChanging не сможет поделиться с нами никакой информацией об этой странице (у него ее просто нет). Однако после того, как произошла смена текущей страницы, элемент PageControl посылает форме другое событие. Это событие называется OnTabChange (по изменении страницы). Добавьте новый обработчик для события OnTabChange и озаглавьте его HandlePageChange (обработка смены страницы). Следующий код добавьте в обработчик HandlePageChange:

Читать »

Обработка событий базы данных в CBuilder

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

 

В комплекте CBuilder поставляется замечательный инструмент, называемый Мастером форм баз данных (Database Form Wizard). Вы можете вызвать его, выбрав пункт меню Database, а в нем команду FormWizard. Вы увидите Мастера форм баз данных, который позволит вам выбрать существующий файл базы данных, выбрать из базы поля, с которыми хотите работать, и определить тип формы просмотра баз данных — горизонтальный, вертикальный или сеточный. После этого Мастер прекращает работу, создав законченную новую форму с  файлом  формы (DFM), исходным файлом (CPP) и заголовочным файлом (HPP). Все  эти  файлы  добавляются прямо в ваш проект.

Читать »

Обобщенная программа просмотра баз данных в CBuilder

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

Одной из самых замечательных особенностей системы поддержки баз данных в CBuilder является возможность использовать один и тот же код для доступа к различным наборам данных. Чувствительные к данным компоненты (data-aware controls), поставляемые с CBuilder, выполняют впечатляющую работу по обработке, отображению и обработке изменений большого спектра данных, хранящихся в любых типах, поддерживаемых CBuilder базах данных (а поддерживается большинство из существующих типов).

Читать »

Определение состояния файла в CBuilder

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

Как я уже отмечал, функции API FindFirstFile и FindNextFile возвращают указатель  на заполненную структуру типа WIN32_FIND_DATA. Эта структура — целый кладезь информации о файле. Не только основное, но также и альтернативное имя файла находится здесь. Кроме того, здесь есть и размер файла (по непонятным причинам записанный в двух  двойных  машинных словах, переставленных относительно друг друга: сначала старшее слово, затем младшее), и атрибуты файла, которые мы, собственно, и искали.

Читать »

Программа tdump в CBuilder

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

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

Читать »

Роемся в библиотеке, tlib в CBuilder

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

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

Читать »