Компания Borland и ее программные продукты.
Borland Software Corporation (ранее Borland International, Inc., а также Inprise Corporation) — компания по производству программного обеспечения, в 2009 году поглощена британской компанией Micro Focus.
История.
Компания была образована в Ирландии тремя датчанами Нильсом Енсеном (Niels Jensen), Оле Хенриксеном (Ole Henriksen) и Моргенсом Гладом (Mogens Glad) в августе 1981 года. Основная деятельность в первые годы — разработка программного обеспечениядляоперационной системыCP/M. 2 мая1983 годакомпания преобразована в акционерное общество, название изменилось наBorland International с целью выхода на американский рынок. Персонал компании на территории США на тот момент состоял из вице-президента Спенсера Одзавы (Spencer Ozawa) и президента Филиппа Кана(англ.Philip Kahn), который постоянно руководил компанией с 1983 до того момента, пока он не покинул её в 1995 году.
Штаб-квартира была расположена в городе Остин(Техас). Компания стала известна благодаря инструментуTurbo Pascal, который эволюционировал доинтегрированной среды разработкиDelphi.
В начале 1990-х годов компания попыталась выйти на рынок офисных пакетов, используя для этого свои электронные таблицы Quattro Proи текстовый процессорWordPerfect, приобретённый компанией в 1993 году. Но в 1994 году эти программы были проданыNovell, которая, в свою очередь, два года спустя перепродала ихCorel.
В 1994 годубыла выпущена первая версияDelphi. Пакет оказался очень удачным и, по сути, стал флагманским продуктом компании, в котором проходили апробацию все оригинальные технические решения.
Помимо создания средств разработки Borland в разное время работала на рынке СУБД — Paradox,dBaseиInterBase(последние два продукта ранее принадлежалиAshton-Tate).
В 1998 годув компании было принято решение взять курс на корпоративный сектор, это стало причиной смены названия наInprise (англ.Integration the Enterprise). Однако в ноябре 2000 года компания вернула себе имя Borland Software.
В феврале 2000 года было объявлено о слиянии Inprise и Corel, однако уже в мае это соглашение было разорвано.
В конце 2002 года появились слухи о возможной покупке компании корпорацией Microsoft, однако сделка не состоялась, при этом, по неподтверждённым данным, в какой-то момент около 5 % уставного капитала Borland всё-таки принадлежало Microsoft
В конце 1990-х годов компания ориентировалась на поддержку Java, выпустив интегрированную среду разработкиJBuilderи включившись в активную работа с сообществом Java-разработчиков.
В феврале 2006 года Borland Software Corporation объявила о своих планах полностью переключиться на разработку и поддержку средств управления жизненным циклом приложений(англ.Application lifecycle management), в рамках этого плана Borland приобрела компанию-поставщика ALM-решений Segue Software Inc и анонсировала планы о поиске покупателя на часть бизнеса компании, связанного с созданием средств разработки приложений, включая линейки Borland Developer Studio (Delphi, C++ Builder, C#Builder) и JBuilder. Покупателя не нашлось, поэтому направление интегрированных средств разработки было выделено в коммерчески самостоятельное подразделение CodeGear. А в Интернете даже появился проект по сбору средств на приобретение Delphi с целью сделать его свободным программным обеспечением.
7 мая 2008 года компания Embarcadero Technologiesприобрела у Borland Software её подразделениеCodeGearза$23 млн стоимости предприятия и $7 млндебиторской задолженности.
6 мая 2009 стало достигнуто соглашение о продаже Borland Software за $75 млн британской компании Micro Focus, специализирующейся на поддержке крупных корпоративных систем на языкеCOBOL, в том же году сделка завершена.
Источник: studfile.net
История Borland
Компания Borland International была основана в 1983 г . Филиппом Каном, являвшимся на тот момент ее единственным сотрудником. Два ее главных продукта середины 80-х — Turbo Pascal и Turbo Basic, а их основные конкуренты — аналогичные инструменты Microsoft. Затем появились Turbo Assembler и Turbo Debugger. В 1989 г . в результате неявного мирового соглашения Borland отказалась от поддержки Basic, а Microsoft — от Pascal. Примерно в эти же годы Borland выпускает TurboVision — один из первых прообразов нынешних визуальных сред разработки, но тогда еще в DOS-исполнении.
В начале 90-х Borland пытается создать свой офисный пакет на основе довольно популярных в то время электронных таблиц QuattroPro собственной разработки и приобретенного в 1993 г . текстового процессора WordPerfect. Однако уже в 1994-м эти приложения были проданы Novell, которая еще два года спустя перепродала их Corel. В тот период в течение нескольких лет Borland занималась продвижением своих баз данных — сначала dBase, затем Visual dBase, а также семейства Paradox. В 1994 г . была выпущена первая версия самого популярного продукта компании всех последних лет — Delphi.
В апреле 1998 г . Borland приняла решение о смене названия на Inprise (Integration the Enterprise — интеграция предприятий), что должно было подчеркнуть новый стратегический курс на корпоративных клиентов. Это внесло смятение в ряды пользователей ее инструментов (неясно было, в каком направлении пойдет развитие этих средств), которое усиливалось нестабильностью финансовых результатов Borland на протяжении предыдущих пяти лет.
В феврале 2000 г . было объявлено о слиянии Inprise и Corel, однако уже в мае это соглашение было разорвано. В ноябре 2000-го корпорация вернула себе название Borland Software. Летом того же года ее президентом и CEO был избран Дейл Фуллер, с именем которого связана выработка нового курса компании.
В апреле 2003 г . была официально представлена стратегия Borland на создание полномасштабной ALM-платформы. Реализация этой идеи должна была осуществляться в соответствии с корпоративным лозунгом «Двигаться в будущее, не отказываясь от прошлого», подразумевавшим, что для построения такой системы будут использоваться имеющиеся в арсенале компании продукты.
К этому моменту Borland обладала представительным набором средств разработки: Delphi, C++Builder, Kylix (разработка программ на Linux в стиле Delphi), JBuilder (RAD-средство для технологии Java 2 Enterprise Edition) — и еще рядом решений, в том числе сервером приложений AppServer (сочетание технологий J2EE и VisiBroker CORBA) и СУБД InterBase. Кроме того, компания быстро пополняла свой арсенал инструментами, покрывающими весь процесс создания ПО — от выработки требований до сопровождения, причем делала это в основном путем приобретения соответствующих специализированных фирм (за один 2002-й год — шесть сделок!). Так, Borland получила в свое распоряжение продукты CaliberRM (согласование требований), Together (проектирование программ с помощью UML), OptimizeIt Profiler (профилирование программ), StarTeam (управление конфигурацией и изменениями).
Тогда, в 2003-м, на рынке предлагалось довольно много продуктов по поддержке различных этапов ALM, но на представление более-менее полной платформы могла претендовать только одна компания — Rational. Пойти по тому же пути — создания своей ALM-системы — решила и Borland, хотя как раз в этот момент обозначился еще один потенциальный участник этого сегмента рынка — Microsoft, приступившая к построению собственной ALM-платформы на базе Visual Studio (создание первого варианта этой платформы Microsoft закончила как раз сейчас в виде Visual Studio 2005 Team System).
Но тогда же Rational вошла в состав IBM, и стало очевидно, что развитие ее средств будет идти в основном в направлении Java/Eclipse. В этой ситуации Borland cделала особый акцент на то, что она осталась единственным независимым поставщиком комплексной ALM-системы, активно сотрудничающим с обоими противоборствующими лагерями — Java/Eclipse и .NET/Visual Studio. Что же касается поддержки Windows, то тут Borland выпустила собственный инструмент C#Builder (сам компилятор был лицензирован у Microsoft), одновременно продолжив поддержку разработки для классического Win32 (от чего Microsoft уже фактически отказалась).
В феврале 2006 года Borland Software Corporation, дала знать о своих грядущих планах полностью бросить все свои ресурсы на разработки и поддержку средств управления жизненным циклом приложения – ALM. Для осуществления задуманного Borland купила поставщика ALM – решений Segue Software Inc. После этого Borland объявила о том, что ищет покупателя на часть бизнеса компании, а именно ту часть которая связана с созданием средств разработки приложений, включая линейки Borland Developer Studio (Delphi, C++Builder, C#Builder) и JBuilder. На тот момент покупатель не нашелся, и было сделано решение выделить направление интегрированных средств разработки — Integrated Development Environment, IDE в отдельное подразделение под названием CodeGear.
В мае 2008 года стало известно о том, что CodeGear будет продано фирме Embarcadero Technologies за 23 млн. долл. Что и было сделано в последствии.
В 2009 году, году мирового кризиса 6 мая компания Borland прекратила свое существование. Продав все свои права компании Micro Focus.
Источник: bdrc.ru
Начинаем работать в Borland C++ Builder
Borland C++ Builder — выпущенное недавно компанией Borland средство быстрой азработки приложений, позволяющее создавать приложения на языке C++, используя при этом среду разработки и библиотеку компонентов Delphi. В настоящей статье рассматривается среда разработки C++ Builder и основные приемы, применяемые при проектировании пользовательского интерфейса.
Среда разработки C++ Builder
C++ Builder представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель (слева) и палитру компонентов (справа). Помимо этого, по умолчанию при запуске C++ Builder появляются окно инспектора объектов (слева) и форма нового приложения (справа). Под окном формы приложения находится окно редактора кода.
Рис.1. Среда разработки C++ Builder
Формы являются основой приложений C++ Builder. Создание пользовательского интерфейса приложения заключается в добавлении в окно формы элементов объектов C++ Builder, называемых компонентами. Компоненты C++ Builder располагаются на палитре компонентов, выполненной в виде многостраничного блокнота. Важная особенность C++ Builder состоит в том, что он позволяет создавать собственные компоненты и настраивать палитру компонентов, а также создавать различные версии палитры компонентов для разных проектов.
Компоненты C++ Builder
Компоненты разделяются на видимые (визуальные) и невидимые (невизуальные). Визуальные компоненты появляются во время выполнения точно так же, как и во время проектирования. Примерами являются кнопки и редактируемые поля. Невизуальные компоненты появляются во время проектирования как пиктограммы на форме. Они никогда не видны во время выполнения, но обладают определенной функциональностью (например, обеспечивают доступ к данным, вызывают стандартные диалоги Windows 95 и др.)
Рис. 2. Пример использования видимых и невидимых компонентов
Для добавления компонента в форму можно выбрать мышью нужный компонент в палитре и щелкнуть левой клавишей мыши в нужном месте проектируемой формы. Компонент появится на форме, и далее его можно перемещать, менять размеры и другие характеристики.
Каждый компонент C++ Builder имеет три разновидности характеристик: свойства, события и методы.
Если выбрать компонент из палитры и добавить его к форме, инспектор объектов автоматически покажет свойства и события, которые могут быть использованы с тим компонентом. В верхней части инспектора объектов имеется выпадающий список, позволяющий выбирать нужный объект из имеющихся на форме.
Рис.3. Инспектор объектов
Свойства компонентов
Свойства являются атрибутами компонента, определяющими его внешний вид и поведение. Многие свойства компонента в колонке свойств имеют значение, устанав иваемое по умолчанию (например, высота кнопок). Свойства компонента отображаются а странице свойств (Properties). Инспектор объектов отображает опубликованные (published) свойства компонентов.
Помимо published-свойств, компоненты могут и чаще всего имеют общие (public), опубликованные свойства, которые доступны только во время выполнения приложения. Инспектор объектов используется для установки свойств во время проектирования. Список свойств располагается на странице свойств инспектора объектов. Можно определить свойства во время проектирования или написать код для видоизменения свойств компонента во время выполнения приложения.
При определении свойств компонента во время проектирования нужно выбрать компонент на форме, открыть страницу свойств в инспекторе объектов, выбрать определяемое свойство и изменить его с помощью редактора свойств (это может быть п остое поле для ввода текста или числа, выпадающий список, раскрывающийся список, диалоговая панель и т.д.).
События
Страница событий (Events) инспектора объектов показывает список событий, распознаваемых компонентом (программирование для операционных систем с графическим пользовательским интерфейсом, в частности, для Windows 95 или Windows NT пре полагает описание реакции приложения на те или иные события, а сама операционная система занимается постоянным опросом компьютера с целью выявления наступления какого-либо события). Каждый компонент имеет свой собственный набор обработчиков событий. В C++ Builder следует писать функции, называемые обработчиками событий, и связывать события с этими функциями. Создавая обработчик того или и ого события, вы поручаете программе выполнить написанную функцию, если это событие произойдет.
Для того, чтобы добавить обработчик событий, нужно выбрать на форме с помощью мыши компонент, которому необходим обработчик событий, затем открыть страницу событий инспектора объектов и дважды щелкнуть левой клавишей мыши на колонке з ачений рядом с событием, чтобы заставить C++ Builder сгенерировать прототип обработчика событий и показать его в редакторе кода. При этом автоматически генерируется текст пустой функции, и редактор открывается в том месте, где следует вводить код. Курсор позиционируется внутри операторных скобок < . >. Далее нужно ввести код, который должен выполняться при наступлении события. Обработчик событий может иметь параметры, которые указываются после имени функции в круглых скобках.
Рис.4. Прототип обработчика событий.
Методы
Метод является функцией, которая связана с компонентом, и которая объявляется как часть объекта. Создавая обработчики событий, можно вызывать методы, используя следующую нотацию: ->, например:
Отметим, что при создании формы связанные с ней модуль и заголовочный файл с расширением *.h генерируются обязательно, тогда как при создании нового модуля он не обязан быть связан с формой (например, если в нем содержатся процедуры расчетов). Имена формы и модуля можно изменить, причем желательно сделать это сразу после создания, пока на них не появилось много ссылок в других формах и модулях.
Менеджер проектов
Файлы, образующие приложение — формы и модули — собраны в проект. Менеджер проектов показывает списки файлов и модулей приложения и позволяет осуществ ять навигацию между ними. Можно вызвать менеджер проектов , выбрав пункт меню View/Project Manager. По умолчанию вновь созданный проект получает имя Project1.cpp.
Рис.5. Менеджер проектов
По умолчанию проект первоначально содержит файлы для одной формы и исходного кода одного модуля. Однако большинство проектов содержат несколько форм и модулей. Чтобы добавить модуль или форму к проекту, нужно щелкнуть правой кнопкой мыши и выбрать пункт New Form из контекстного меню.
Можно также добавлять существующие формы и модули к проекту, используя кнопку Add контекстного меню менеджера проектов и выбирая модуль или форму, которую нужно добавить. Формы и модули можно удалить в любой момент в течение разработки проекта. Однако, из-за того, что форма связаны всегда с модулем, нельзя удалить одно без удаления другого, за исключением случая, когда модуль не имеет связи с формой. Удалить модуль из проекта можно, используя кнопку Remove менеджера проектов.
Если выбрать кнопку Options в менеджере проектов, откроется диалоговая панель опций проекта, в которой можно выбрать главную форму приложения, определить, какие формы будут создаваться динамически, каковы параметры компиляции модулей (в том числе созданных в Delphi 2.0, так как C++ Builder может включать их в проекты) и компоновки.
Рис. 6. Установка опций проекта
Важным элементом среды разработки C++ Builder является контекстное меню, появ яющееся при нажатии на правую клавишу мыши и предлагающее быстрый доступ к наиболее часто используемым командам.
Разумеется, C++ Builder обладает встроенной системой контекстно-зависимой помощи, доступной для любого элемента интерфейса и являющейся обширным источником справочной информации о C++ Builder.
Создание приложений в С++ Builder
Первым шагом в разработке приложения C++ Builder является создание проекта. Файлы проекта содержат сгенерированный автоматически исходный текст, который становится частью приложения, когда оно скомпилировано и подготовлено к выполнению. Чтобы создать новый проект, нужно выбрать пункт меню File/New Application.
C++ Builder создает файл проекта с именем по умолчанию Project1.cpp, а также make-файл с именем по умолчанию Project1.mak. При внесении изменений в проект, таких, как добавление новой формы, C++ Builder обновляет файл проекта.
Рис.7 Файл проекта
Проект или приложение обычно имеют несколько форм. Добавление формы к проекту создает следующие дополнительные файлы:
- Файл формы с расширением.DFM, содержащий информацию о ресурсах окон для конструирования формы
- Файл модуля с расширением.CPP, содержащий код на C++.
- Заголовочный файл с расширением .H, содержащий описание класса формы.
Для того чтобы добавить одну или более форм к проекту , выберите пункт меню File/New Form. Появится пустая форма, которая будет добавлена к проекту. Можно воспользоваться пунктом меню File/New, выбрать страницу Forms и выбрать подходящий шаблон из репозитория объектов.
Рис.8 Шаблоны форм
Для того, чтобы просто откомпилировать текущий проект, из меню Compile нужно выбрать пункт меню Compile. Для того, чтобы откомпилировать проект и создать исполняемый файл для текущего проекта, из меню Run нужно выбрать пункт меню Run. Компоновка проекта является инкрементной (перекомпилируются только изменившиеся модули).
Если при выполнении приложения возникает ошибка времени выполнения, C++ Builder делает паузу в выполнении программы и показывает редактор кода с курсором, установленным на операторе, являющемся источником ошибки. Прежде чем делать необходимую коррекцию, следует перезапустить приложение, выбирая пункт меню Run из контекстного меню или из меню Run, закрыть приложение и лишь затем вносить изменения в проект. В этом случае уменьшится вероятность потери ресурсов Windows.
Пример: создание простейшего приложения
Теперь попробуем создать простейшее приложение, позволяющее вводить текст в редактируемое поле и добавлять этот текст к списку при нажатии мышью на кнопку. Выберем пункт меню File/New Application для создания проекта и сохраним его главную форму под именем samp1.cpp, а сам проект под именем samp.mak. Поместим на форму компоненты Button, Edit и ListBox со страницы Standard палитры компонент.
Рис. 9. Размещение компонентов на форме
После этого выберем на форме компонент Edit и удалим текущее значение свойства Text. Затем установим свойство Caption для Button1 равным «Добавить».
Чтобы добавить обработчик события OnClick для кнопки Добавить, нужно выбрать эту кнопку на форме, открыть страницу событий в инспекторе объектов и дважды щелкнуть мышью на колонке справа от события OnClick. В соответствующей строке ввода появится имя функции. C++ Builder сгенерирует прототип обработчика событий и покажет его в редакторе кода. После этого следует ввести следующий код в операторные скобки < . >тела функции:
Для компиляции приложения в меню Run выберем пункт Run. Теперь можно что-нибудь ввести в редактируемое поле, нажать мышью на кнопку Добавить и убедиться, что вводимые строки добавляются к списку.
Рис.10. Так выглядит готовое приложение.
Теперь модифицируем приложение, добавив кнопки Удалить и Выход. Для этого добавим еще две кнопки, изменим их свойство Caption и создадим обработчики событий, связанных с нажатием на эти кнопки:
Рис. 11. Модифицированное приложение
Для кнопки Удалить:
Для кнопки Выход:
Сохраним и скомпилируем приложение, а затем протестируем его.
Итак, мы познакомились со средой разработки Borland C++ Builder и создали простое приложение. В следующих статьях этого цикла будут описаны приемы манипуляции компонентами на форме и более подробно рассмотрены особенности поведения различных компонентов в приложении.
Источник: codenet.ru
Borland C++ Builder: обзор редактора, методы работы
Borland C++ Builder — это мощнейшая среда программирования, поддерживающая методики визуального объектно-ориентированного программирования для операционных систем Microsoft Windows и позволяющая существенно сократить время на разработку программных приложений.
Общие сведения о программе Borland C++ Builder
Программа Borland C++ Builder является выпущенным корпорацией Borland средством оперативной разработки программных приложений, которое позволяет формировать приложения на языке C++, применяя при этом среду разработки и библиотеку элементов Delphi. C++ Builder может быть представлено как SDI-приложение, основное окно которого имеет в своем составе настраиваемую инструментальную панель (слева) и палитру элементов (справа). Кроме этого, по умолчанию при запуске C++ Builder должно появиться окно инспектора объектов (слева) и форма нового приложения (справа). Под окном формы приложения располагается окно редактора кода.
Решим твою учебную задачу всего за 30 минут
Попробовать прямо сейчас
Обзор редактора Borland C++ Builder, методы его работы
Формы выступают в качестве основы приложений C++ Builder. Формирование интерфейса пользователя приложения состоит в прибавлении в окно формы элементов объектов C++ Builder, именуемых компонентами. Компоненты C++ Builder размещены на палитре компонентов, которая выполнена в форме многостраничного блокнота. Важной особенностью C++ Builder является тот факт, что он предоставляет возможность создания собственных компонентов и настройки палитры компонентов, а также возможность создания различных версий палитры компонентов для различных проектов.
Все компоненты делятся на следующие классы:
- Класс видимых или визуальных компонентов.
- Класс невидимых или не визуальных компонентов.
Визуальные компоненты могут появиться как во время исполнения, так и во время проектирования. В качестве примеров визуальных компонентов могут служить кнопки и редактируемые поля. Не визуальные компоненты могут появиться во время проектирования в качестве пиктограммы на форме. Их никогда не видно во время исполнения, но они имеют определенную функциональность.
К примеру, они могут обеспечить доступ к данным, вызвать стандартные диалоги Windows другие. Пример применения видимых и невидимых компонентов показан на рисунке ниже.
«Borland C++ Builder: обзор редактора, методы работы»
Готовые курсовые работы и рефераты
Консультации эксперта по предмету
Помощь в написании учебной работы
Рисунок 1. Окно программы. Автор24 — интернет-биржа студенческих работ
Для того чтобы добавить компонент в форму, следует выбрать указателем мышки требуемый компонент в палитре и сделать щелчок левой клавишей мыши в нужном месте проектируемой формы. Компонент отобразится на форме, и затем его можно передвигать, изменять его размеры и другие параметры. Все компоненты C++ Builder обладают следующими разновидностями характеристик:
- Характеристики свойств.
- Характеристики событий.
- Характеристики методов.
При выборе компонента из палитры и добавлении его к форме, инспектор объектов в автоматическом режиме отобразит свойства и события, которые можно использовать с этим компонентом. В верхней зоне инспектора объектов расположен ниспадающий список, который позволяет выбрать необходимый объект из присутствующих на форме, как показано на рисунке ниже.
Рисунок 2. Окно программы. Автор24 — интернет-биржа студенческих работ
Свойства считаются атрибутами компонента, которые определяют его внешний облик и параметры поведения. Некоторые свойства компонента в колонке свойств обладают значением, устанавливаемым по умолчанию (к примеру, это высота кнопок). Свойства компонента должны отображаться на странице свойств (Properties). Инспектор объектов способен отображать опубликованные (published) свойства компонентов. Помимо опубликованных свойств, компоненты могут и чаще всего обладают общими (public) свойствами, которые являются доступными только во время исполнения приложения.
Инспектор объектов следует использовать для установки свойств во время проектирования. Список свойств расположен на странице свойств инспектора объектов. Пользователь может определять свойства во время проектирования или указать код для видоизменения свойств компонента при исполнении приложения. При задании свойств компонента во время проектирования следует осуществить выбор компонента на форме, открыть страницу свойств в инспекторе объектов, выбрать необходимое свойство и поменять его при помощи редактора свойств (это может быть простое поле для ввода текста или числа, выпадающий список, раскрывающийся список, диалоговая панель и так далее).
Страница событий (Events) инспектора объектов призвана отображать список событий, которые распознаются компонентом. Все компоненты обладают своим собственным набором обработчиков событий. В C++ Builder необходимо писать функции, именуемые обработчиками событий, и привязывать события к этим функциям. Формируя обработчик того или иного события, пользователь поручает программе исполнить написанную функцию, когда это событие происходит.
Для добавления обработчика событий, необходимо выбрать на форме при помощи мышки компонент, которому требуется обработчик событий, далее открыть страницу событий инспектора объектов и выполнить двойной щелчок левой клавишей мышки на колонке значений рядом с событием, чтобы предложить программе C++ Builder выполнить генерацию прототипа обработчика событий и показать его в редакторе кода. При этом автоматически будет сгенерирован текст пустой функции, и редактор откроется в том месте, где необходимо ввести код.
Курсор будет располагаться внутри операторных скобок < . >. Затем следует ввести код, который будет выполнен при наступлении события. Обработчик событий будет обладать параметрами, указанными после имени функции в круглых скобках, как показано на рисунке ниже.
Рисунок 3. Окно программы. Автор24 — интернет-биржа студенческих работ
Метод считается функцией, связанной с компонентом, которая может быть объявлена как часть объекта. Формируя обработчики событий, можно задавать вызов метода, применяя следующую нотацию:
Следует отметить, что при реализации формы, связанные с ней модуль и заголовочный файл с расширением $*.h,$ генерируются в обязательном порядке, однако при формировании нового модуля он необязательно должен быть связан с формой (к примеру, когда в нем расположены расчетные процедуры). Имена формы и модуля могут изменяться, но лучше это делать непосредственно после создания, пока на них не образовалось много ссылок в других формах и модулях.
Источник: spravochnick.ru
Программирование под Borland C++ Builder
«. поскольку вы хотите, что называется, живого кодинга, то мы возобновляем в журнале статьи по программированию в различных средах. Сегодня мы познакомим вас с интерфейсом весьма популярной среды программирования — Borland C++ Builder, создадим м
Игромания https://www.igromania.ru/ https://www.igromania.ru/
Мастерская
В письмах, которые приходят на игрострой-ящик редакции, а также на форуме «Игромании» вы просите нас опубликовать уроки по программированию. В той или иной форме программинг есть практически в каждом номере журнала — например, в виде уроков по скриптописанию, но поскольку вы хотите, что называется, живого кодинга, то мы возобновляем в журнале статьи по программированию в различных средах.
Сегодня мы познакомим вас с интерфейсом весьма популярной среды программирования — Borland C++ Builder, создадим медиапроигрыватель и попутно изучим синтаксис программы.
Первое свидание
Работу начнем с запуска приложения. Сразу после того, как C++ Builder загрузится, перед вами появятся два больших окна. В первом из них производится так называемое визуальное программирование — вынесение необходимых компонентов на форму программы. Во втором осуществляется кодинг. На верхнюю панель вынесен ряд базовых функций (Сохранение, Загрузка, Запуск программы) и несколько вкладок: перемещаясь по ним, можно выбрать необходимый компонент для приложения.
C++ Builder — уникальная среда программирования. В нем можно создавать приложения практически любой сложности.
В левой части главного окна располагаются две панели: Object TreeView (здесь отображаются иерархия объектов и их принадлежность к тому или иному классу) и Object Inspector — так называемый инспектор объектов, он позволяет настраивать свойства того или иного элемента. В этом же окне назначаются всевозможные события для компонента: обработчики нам предстоит написать самостоятельно, они в программную среду не встроены.
С интерфейсом Borland C++ Builder мы познакомились, переходим непосредственно к разработке медиапроигрывателя. Создайте новый файл и сохраните через меню File/ Save Project As. . В процессе работы несложно сохранять проект комбинацией клавиш Shift+ Ctrl+ S, через меню File/ Save All либо кликнув на кнопку с изображением множества дискет на панели инструментов. Сохраняйтесь почаще, при работе с Borland C++ Builder это очень важно.
Выберите вкладку System на инструментальной панели, затем один раз кликните по кнопке с изображением музыкальной ноты и видеоленты — это компонент MediaPlayer. Установите указатель мыши в любое место пустой формы и кликните левой кнопкой мыши — на экране появится новый элемент. Если вы хотите, чтобы объект был добавлен в центр рабочей области, то кликнуть по инструментальной панели нужно дважды.
Для перемещения объекта (слово «объект» мы будем использовать как синоним компонента) по рабочей области вам необходимо его выделить. Для этого достаточно щелкнуть по нему левой кнопкой мыши и, не отпуская кнопку, перетащить на новое место. Также переместите на форму программы компонент Panel из вкладки Standard на инструментальной панели (предпоследний пункт списка). Выделите компонент Panel1 и в инспекторе объектов в поле Align (вкладка Properties) кликните на параметр AlBottom: созданная панель займет всю нижнюю область будущего медиаплеера. Если хотите, то прямо сейчас можете изменить ее ширину и высоту.
Система иерархии
Наш медиаплеер. Выглядит не очень красиво, зато умеет проигрывать множество форматов.
Переходим к панели иерархии объектов — Object TreeView. Сделаем компонент MediaPlayer 1 дочерним по отношению к элементу Panel1. Для этого щелкните по компоненту MediaPlayer 1 в меню Object TreeView и переместите его на элемент Panel1 в том же окне. Выбранный объект станет дочерним по отношению к компоненту Panel1 и будет помещен на его форму. Останется лишь задать новое расположение MediaPlayer 1.
Сделаем следующий шаг — определим область, на которую будет транслироваться видео. Есть несколько вариантов решения задачи. Наиболее простой способ: выводить изображение на форму одного из визуальных компонентов VCL — например, на созданную нами панель или в отдельное окно. Поскольку мы лишь начинаем изучение основ программинга в C++ Builder, остановимся на варианте с окном.
Не нужно создавать никаких новых компонентов, поэтому лучше удалить все лишнее пространство формы. Для этого «ухватите» мышкой нижнюю область приложения и тащите ее вверх до тех пор, пока она не исчезнет.
Разместим в рабочей области компонента Panel1 кнопку О ткрыть. Кликните левой кнопкой мыши по объекту Panel1, выберите вкладку Standard на панели инструментов и дважды кликните по компоненту Button1, содержащему изображение кнопки Ok.
Задайте необходимое расположение компонента и, не снимая выделения с объекта, посмотрите на панель Object Inspector: на закладке Properties можно изменять свойства компонента. Если хотите изменить текст на поверхности кнопки, необходимо изменить описание элемента, содержащееся в поле Caption. Для смены шрифта поправьте параметр Font. Прочие настройки изменяются аналогичным образом.
Начинка программы
Мы определились с внешним видом медиаплеера: можете даже запустить утилиту и полюбоваться на дело рук своих (Run/ Run). Вы сразу обнаружите, что все кнопки программы недоступны, даже при нажатии на кнопку О ткрыть ничего не происходит. Чтобы все заработало, необходимо написать для каждой кнопочки свой собственный разработчик. Изучим, как это делается, на конкретном примере (как раз для кнопки О ткрыть).
Редактор фильтров позволяет установить типы файлов, которые могут быть открыты приложением.
Добавьте на форму приложения компонент OpenDialog из вкладки Dialogs на инструментальной панели. Нужно назначить ему действие, для этого кликните по объекту дважды левой кнопкой мышки — на переднем плане появится окно редактирования исходного кода программы. Вы увидите, что указатель мыши помещен между двумя фигурными скобками. Туда и нужно добавить код:
if (OpenDialog1->Execute())
MediaPlayer1->FileName=OpenDialog1->FileName;
MediaPlayer1->Open();
Нажмите F9 на клавиатуре и запустите приложение. Несмотря на то что все вроде бы работает, необходимо сделать еще кое-что. Выберите компонент Form1 на панели Object Inspector и измените некоторые свойства формы — в поле Caption задайте текст заголовка (произвольный). В поле BorderStyle выберите атрибут bsSingle, который не даст пользователю изменять размер окна. Перейдите на вкладку Events инспектора объектов, выберите строку OnClose и кликните дважды по пустому полю. В окне редактора кода между фигурных скобок впишите:
MediaPlayer1->Close();
Данный параметр необходим для завершения работы плеера перед закрытием формы.
Последние штрихи
Мы практически закончили работу над созданием полноценного медиапроигрывателя. Осталось задать типы файлов, которые может запускать программа. Для этого кликните левой кнопкой мыши по компоненту OpenDialog 1, на панели Object Inspector переключитесь на вкладку Properties и в поле Filter кликните по кнопке с многоточием. Перед вами окно редактора фильтров.
В поле Filter Name вы должны указать описание фильтра — например, MP3, а в поле напротив тип открываемого файла — например, *. mp3. Добавьте несколько таких фильтров: mpeg, mp3, avi, wmv, wav. Напоследок создайте фильтр с описанием В се форматы и в поле Filter впечатайте символ звездочки — *.
Чтобы управлять оптическим приводом прямо из окна программы, добавьте на форму приложения еще две кнопки — Open CD/ DVD- ROM и Close CD/ DVD- ROM и определите им действие открытия и закрытия лотка. Исходный код выглядит так:
mciSendString ( «Set cdaudio door open wait», NULL, 0, NULL);
mciSendString ( «Set cdaudio door closed wait»,NULL,0,NULL);
Первая команда открывает лоток привода, вторая — закрывает его. Если вы хотите, чтобы при компиляции какая-то строка не учитывалась, просто ставьте перед ней два прямых слеша — //. Обработчики событий в итоге должны выглядеть следующим образом:
void __ fastcall TForm 1:: Button2 Click( TObject * Sender)
mciSendString ( «Set cdaudio door open wait», NULL, 0, NULL);
void __fastcall TForm1::Button3Click(TObject *Sender)
mciSendString ( «Set cdaudio door closed wait»,NULL,0,NULL);
Если у вас на компьютере установлено несколько оптических дисководов, то функции открытия/закрытия будут обращаться к ведущему приводу.
Тестирование приложения — обязательный этап разработки любой утилиты.
Мы изучили азы работы в одной из самых популярных сред программирования Borland C++ Builder, а заодно создали неплохой медиаплеер, который с легкостью «пережевывает» большинство популярных аудио- и видеоформатов. В сегодняшнем уроке мы акцентировали внимание на принципах визуального программирования, в следующем же месяце займемся кодингом.
С нашего DVD из раздела «Игрострой» вы можете взять исходники медиаплеера, способного проигрывать большинство современных аудио- и видеоформатов.
Источник: www.igromania.ru