Borland C# Builder

(c) Герман Иванов.

Первая часть статьи

Ставим Borland C#Builder.

Установка среды разработки проводилась на свежее установленную операционную систему Windows XP Professional. Такой мой подход, позволяет выявить зависимости устанавливаемого пакета от других приложений, уже установленных на моем компьютере.

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

Дистрибутив сравнительно небольшой, он без труда уместится на одной “болванке” вместе со всеми остальными файлами, доступными для загрузки на сайте Borland, даже в развернутом виде. Сказано сделано.

Файл установщика развернулся в каталоге Temp в иерархию вложенных папок. Я переместил их все на другой диск, сохранив структуру каталогов. Говоря простым языком, просто взял и скопировал папку “C:\Temp\Borland C#Builder 1.0” на диск E.

В корне этой папки обнаружился файл INSTALL.EXE. Недолго думая, я взял и запустил этот файл.

Выскочило красивое окно, в котором мне предлагалось выбрать нужное приложение для установки. Я выбрал “Install Product”. В следующем окне выбираю “Borland C#Builder for Microsoft Net Framework” и … появилось окошко, сообщившее мне, что пакетом не обнаружен некий файл “PREREQS.EXE” и мне необходимо вставить в CDROM следующий диск. Хм.

Я решил, что, по всей видимости, установщик не обнаружил необходимых для Borland C#Builder файлов .NET Framework. Ладно. Выхожу из установщика и устанавливаю самостоятельно следующие пакеты.

1) Устанавливаю Microsoft .NET Framework version 1.1. (23 МГб.)

2) Устанавливаю Microsoft .NET Framework SDK version 1.1 (106 МГб.).

3) Устанавливаю Microsoft Visual J# Net Redistributable Package (7МГб.).

Все три пакета доступны к загрузке на сайте Микрософт. О том, что они потребуются для работы C#Builder, я выяснил еще на сайте Borland.

Запускаю install.exe опять… и опять получаю то же самое сообщение. Что-то здесь не так. Совершаю краткий вояж по вложенным папкам дистрибутива и в папке “E:\Borland C#Builder 1.0\INSTALL” натыкаюсь на искомый файл “PREREQS.EXE”. Причем рядышком с ним лежит файл называющийся SETUP.EXE. Очень интересно. Запускаю его и обнаруживаю второй вариант установщика. Этот установщик не такой шикарный, как предыдущий вариант, но, в отличие от него, свое дело делает исправно.

Несколько раз, нажав кнопку Next, я согласился с лицензией, выбрал Custom установку и добрался до экрана выбора компонентов.

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

Дополнительные пакеты.

Enterprise версия предлагает нам следующий выбор:

Пакет Component One Studio Enterprise for Borland C# Builder.

Набор из большого количества компонентов для Win Forms и ASP.NET. Я подразумеваю под термином “компонент” то, к чему мы все привыкли во времена Delphi. Этот набор компонентов, в основном интерфейсных, размещается впоследствии на палитре в виде иконок. Вы их перетаскиваете на форму своего проекта и получаете готовую, нужную вам функциональность. В комплект входят поля ввода, архиватор ZIP, проверка орфографии и тому подобные штуки. Есть довольно симпатичная таблица а-ля Excel (DataGrid) да и вообще много чего интересного.

Все бы хорошо, да одна незадача. Все это богатство, как и сама среда разработки “триальные”. Если вы используете их в своем проекте, то, сразу после запуска скомпилированной вами программы, выскакивает экран, сообщающий пользователю вашей программы о том, что вы использовали незарегистрированную версию пакета Component One по ознакомительной 30-дневной лицензии. Возможно это еще не все сюрпризы, приготовленные нам разработчиками пакета компонентов. Я этого не проверял.

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

Wise OWL Demeanor Obfuscator.

Утилита предназначена для защиты ваших скомпилированных программ от возможного взлома. Зашифровывает идентификаторы, убирает из кода не нужные для работы вашей программы метаданные и другими способами мешает злоумышленнику дизассемблировать и “сломать” вашу программу. “Ассемблер” (IL) в NET Framework это достаточно высокоуровневый объектный язык. Поэтому для того чтобы в нем разобраться, большого ума не надо, достаточно терпения. Да и документация по нему доступна любому желающему. Поэтому, если вы пишете на NET коммерческие программы, и не желаете чтобы, кто-либо, копался в их внутренностях, эта утилита может вам пригодится.

Borland Janewa.

Насколько я понял документацию, это промежуточный слой (враппер) между средой NET Framework и приложениями J2EE и CORBA. Тут я вам не советчик, так как никогда не использовал в своем коде ни J2EE, ни CORBA.

Interbase Client.

Тут все итак ясно. Клиент для доступа к родному для Borland движку баз данных. Если вы его не использовали раньше, то и не надо, в наличии есть SQL Server и MSDE. Если же вы приверженец Interbase, то вы и без меня знаете, что с этим клиентом делать.

CaliberRM IDE Plug-in.

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

Ну да ладно, я опять отвлекся. Выбираете те пакеты, которые вас заинтересовали, меня лично ничего из вышеперечисленного не заинтересовало, и жмете Next. Каждый выбранный вами дополнительный пакет запускается из собственного установщика. Это натолкнуло меня на мысль поискать дистрибутивы этих пакетов внутри папок дистрибутива самого C#Builder. Мое предположение оказалось верным. Все вышеперечисленные пакеты не интегрированы внутрь дистрибутива, а лежат в отдельных папках. Вы можете, при необходимости установить их отдельно на Personal версию.

После того как отработают установщики всех выбранных вами пакетов, установка дистрибутива заканчивается. Настала пора регистрации. Если вы проходили регистрацию на сайте Borland, я вам рассказывал о ней в предыдущей статье, вы должны были получить на свой Email адрес письмо с прикрепленным к нему текстовым файлом. Копируете, полученный по email текстовый файл REG351.txt, в папку “C:\Documents and Setting\<ваша домашняя папка>”. Говоря простыми словами, в корень вашей домашней папки Windows. После того как вы скопируете файл, вы можете запускать среду разработки, щелкнув по иконке C#Builder.

Первые впечатления.

После того как программа запустится, вы оказываетесь в рабочей среде очень похожей на привычную Visual Studio. Как нам и обещали в документации, в наличии имеются окна Project Manager, Object Inspector и Tool Palette. Даже в центральной части экрана, при первом запуске, оказывается знакомая Welcome Page.

Похоже, что разработчики Borland приложили максимум усилий для того, чтобы сделать переход на новую среду программистов, привыкших к Visual Studio, наиболее легким и безболезненным. Если же вы приверженец Delphi то можете, одним кликом мыши, превратить среду в практически полное ее подобие. Для этого необходимо в меню View-> Desktops указать, что вы предпочитаете стиль “Classic Undocked”.

Из любопытства, я посмотрел на отладочный вариант рабочей среды. Этот стиль можно включить в том же меню View->Desktops. Этот вид адаптирован для отладки вашего кода, среда самостоятельно на него переключается в тот момент, когда вы начинаете отладку своего приложения. На экране появились знакомые окна “Call stack” , “Watch List”, “Local Variables” и “Thread Status”. Ну что ж, на первый взгляд уже все неплохо. Мы явно имеем на руках полноценную среду разработки, а не очередной “редактор с подсветкой синтаксиса”, которых много расплодилось в последнее время.

Меню создания нового проекта.

Меню File->New порадовало меня тремя типами проектов: “ASP.Net Application”, “С# Application”, “С# Class Library” и “C# Component Library”. Ниже располагаются пункты меню “Other” и “Customize”.

Первый пункт запускает хорошо знакомое всем пользователям Visual Studio окно выбора типа нового файла. Полазив по ним, я к своему огромному удивлению обнаружил в разделе “Other Files” такие типы как “VB.NET Application” и прочие варианты проектов связанных с языком Visual Basic NET. Разумеется, я тут же попробовал создать и скомпилировать VB.NET приложение. Оно удачно создалось, скомпилировалось и запустилось. Так, что эта версия C#Builder, помимо C# поддерживает и проекты на VB.Net. Сюрприз!

Второй пункт меню “Customize”, предназначен для подстройки под ваши нужды раздела меню выбора нового проекта. Вы можете добавить к уже имеющимся трем проектам еще и другие типы файлов перечисленных в “Other Files”. Так я сам добавил к типам проекта, доступным сразу после открытия “File->New” еще и вновь обнаруженный тип проекта “VB.NET Application”.

Редактор кода и дизайнер форм.

Давайте попробуем создать приложение C#. Говорим, что хотим создать проект C# Application. Первое что сразу меня удивило, это очень высокая скорость работы C#Builder, по сравнению с Visual Studio. Окна нового проекта прорисовались передо мной практически мгновенно. Дизайнер формы внешне очень сильно напоминает тот, что входит в состав Visual Studio. Исключение составляют лишь кнопки на специальной панели, предназначенные для выравнивания компонентов на форме и между собой. В Visual Studio таких кнопок нет. Внизу расположены две закладки. С их помощью вы можете переключаться между дизайнером и окном редактора кода. Мне лично этот подход показался более удобным, чем тот, что принят в Visual Studio. Напомню в этой среде окна дизайнера форм и окна с кодом не связаны между собой.

Щелчок по брошенному на форму компоненту, приводит к автоматической генерации кода процедуры обработки щелчка по этому компоненту. После того как процедура будет автоматически создана, вы переключаетесь в редактор кода для ее модификации. В этом функциональность C#Builder копирует поведение Visual Studio.

Да и вообще, создавая редактор кода, Borland постаралась создать максимальное подобие среды разработки от фирмы Майкрософт. Редактор имеет возможность сворачивать и разворачивать блоки кода (“плюсики”). Точно также набрав название объекта (или пространства имен) и поставив точку, вы получаете возможность выбрать нужный метод или нужное свойство из выпадающего списка. Основное отличие, сразу бросившееся в глаза, это отсутствие обилия всевозможных мастеров встроенных в Visual Studio. К примеру, нет мастера автоматически создающего конструктор для нового класса. Зато в C#Builder палитра компонентов, при переходе в режим редактирования кода, самостоятельно заменяет свое содержимое, на окно называемое “Code Snippets”. Так, в Borland, обозвали заготовки кусков кода, которые вы можете перетащить с палитры прямо в редактор с помощью мыши. После того как вы это сделает, в ваш код добавится текст этой заготовки. Я долго пытал среду, пытаясь отредактировать эти “Snippets”, но штатного способа так и не обнаружил. С другой стороны все их содержимое хранится в XML файле, который вы легко можете отредактировать по своему вкусу. Находится он в каталоге “C:\Program Files\ Borland\ BDS\ 1.0\Objrepos” и называется CodeSnippets.xml.

Палитра компонентов.

Палитра компонентов смотрится довольно таки своеобразно. Общая идеология расположения элементов взята от Visual Studio, но оформлена палитра совершенно по-другому. Закладки-контейнеры компонентов покрашены в веселенькие цвета, каждая в свой собственный. Вы можете их сворачивать в одну строку, для экономии места, или разворачивать так, чтобы было доступно их содержимое.

С помощью выпадающего списка, расположенного сверху закладок, можно быстро переместится на ту, которая вам необходима. Помимо этого списка предусмотрено поле быстрого поиска нужного вам компонента. По мере того, как вы набираете его название, закладки внизу фильтруются по тем буквам, что вы уже успели набрать. Так, для примера, если вы набрали в этом поле “Li”, то на единственной закладке останутся только “Link Label”, “List Box” и “List View”. Все остальные компоненты будут спрятаны. За счет этого механизма, вы сможете быстро найти нужный элемент, даже в том случае если вы точно не помните, как он полностью называется.

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

Для того, что бы добавить компонент в палитру, обратитесь к пункту контекстного меню Installed .NET Component. После того как вы вызовете этот пункт меню (он также доступен в главном меню Component-> Installed .NET Component) перед вами появится всплывающее окно, поделенное на три закладки. На первой перечислены все “сборки” NET Framework установленные на вашем компьютере. Если нужная вам сборка в этом списке отсутствует, например вы создали ее сами и не стали помещать в глобальный кэш, вы можете добавить ее на панель с помощью кнопки “Select Assembly”, расположенной под списком имеющихся сборок. Вам будет предложено указать файл DLL, в котором хранится нужный вам компонент. После этого, ваш компонент будет добавлен к общему списку и вы, поставив напротив него галочку, сможете поместить его в палитру компонентов. К слову, в этом же окне, можно удалить с палитры ненужные вам компоненты. Достаточно просто снять с него галочку.

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

Среда Visual Studio добавляет на свой Toolbox эти же самые ActiveX компоненты без каких-либо проблем. Надо будет, потом, документацию почитать. Я как истинный программист занимаюсь этим в самую последнюю очередь, если уж совсем ничего не помогло.

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

Окно “Project Manager” ничем особенно не отличается от подобного окна в Visual Studio NET. Так же как и в ней, оно предназначено для манипуляции файлами, входящими в ваш проект. Вы видите в виде дерева, какие файлы задействованы в вашем проекте и можете удалить ненужные или напротив добавить необходимые.

Окно “Data Explorer” также немногим отличается от аналогичного окна Visual Studio. С его помощью можно манипулировать данными, хранящимися как на локальных, так и на удаленных серверах баз данных. Список поддерживаемых серверов я приводил в первой части статьи.

Окно “Model View” повергло меня в легкое недоумение. В этом окне приводится в виде дерева список всех компонентов расположенных на вашей форме. Если вы щелкаете мышкой по разным “веткам” этого дерева, окно редактора устанавливается на выбранный вами элемент. Также с его помощью можно построить диаграмму всех элементов вашего кода. Впрочем “диаграмма” это неправильный термин. Под ним Borland подразумевает просто разложенные по категориям элементы. Зачем все это нужно, я так с места не понял. Наверно это хорошо, но вместе с тем, глубокого смысла в этом режиме я так не уловил.

Следующее рассматриваемое окно называется “Object Explorer”. Предназначено оно для отображения свойств и событий компонентов, которые установлены на вашу форму. Окно умеет сортироваться как по категориям, к примеру, все, что отвечает за внешний вид компонента, объединено в один блок, открываемый и закрываемый “плюсиком”, так и просто по алфавиту. Окно состоит из двух закладок, на первой перечислены все свойства компонента, а на второй связанные с ним события. Подобное окно имеется как в Delphi, так и в Visual Studio, причем выглядит оно и там и там примерно одинаково.

Вот мы с вами, галопом и пробежались по внешнему виду и возможностям этой новой среды разработки. Как я и предполагал, для большинства программистов, будет вполне достаточно и бесплатной “персональной” версии пакета. Среда Borland C#Builder проигрывает по удобству работы Visual Studio, но далеко обходит ее по скорости работы и объему места, требуемому для установки. Безусловно, она найдет своих преданных поклонников в среде программистов пишущих на C#. Начинающему же программисту я бы все-таки посоветовал использовать Visual Studio. В ней лучше реализован справочник (MSDN) и больше мастеров, облегчающих, на первых порах, работу с языком программирования, который вы еще недостаточно хорошо знаете.

 

Ссылки:


При перепечатке сохранение раздела "Ссылки" обязательно!!!