Программирование borland c builder 6. BASH Programming - Введение

Unforgiven([email protected], 60818116)

Что куда коннектится

Дарова, перец. Вот сидишь ты сейчас, наверное, за компом, смотришь картинки. А вот на компе у тебя наверняка для этого дела - для разглядывания картинок - ACDSee стоит. И тыкаешь ты в нее, смотришь порнушку втихаря... Ну ладно, речь-то сейчас не о порнушке. Я тебе о другом говорю. Давай напишем свою прогу для просмотра картинок! Прикинь, приводишь ты к себе подругу, садитесь с ней вместе подозрительные имейджи смотреть, и тут ты как бы случайно тыкаешь мышкой в графу "credits" или, там, "разработчик", а в этой графе - ТВОЕ имя. И ты подружке спокойно так выдаешь: "...а, это меня тут Билл Гейтс, когда мою прогу увидел, приглашал к себе работать - я не пошел, лучше буду писать компоненты для 1С...". Поверь, после этакой тирады дама - какая бы она ни была крутая - твоя! И уж что с ней делать дальше, я тебе не подскажу. Сам разберешься, что куда коннектится:).

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

Небо в клеточку - друзья в полосочку

Ты уже наверняка запустил C++ Buider и ничего не понял... какая-то панелька в точечках и куча кнопок. Главное в нашем деле - не бояться, а смело на все жать и испытывать... эээ, погоди ты. Начнем вот с чего: представим себе нашу прогу. Она должна уметь просматривать BMP, EMF, ICO и иже с ними стандартные виндовые файлы графических изображений. Представил? Ну, стандартные такие виндовые менюшки, окошко... Вот и ладушки.

Вернемся к реальности. Билдер запущен. Что ты видишь? Ты видишь три панельки. Верхняя - там различные кнопки и меню. Она, в принципе, самая главная.

Левая панель - Object Inspector. Тут ты будешь задавать свойства всех компонентов и будешь объяснять им, как работать. Об этом, впрочем, чуть-чуть попозже. И еще ты видишь огромную панель, которая вся усыпана точками. Не пугайся. Это сделано специально, чтобы тебе было легче размещать компоненты и не пришлось бегать с линейкой, меряя свой пятнадцатидюймовый (хе-хе, монитор:-)). Именно эта форма - в точечку - будет основой твоей новой супер-хакер-крякер проги под названием Вьювер:-). Сверху ты видишь кучу кнопок - это компоненты (ну, пимпы, меню, панельки, точки) - вот тебе и визуальная среда. Тебе не надо описывать самому каждую деталь программы - ты кликаешь на пиктограмме (во загнул - ну, на кнопке с картинкой, в общем) и потом кликаешь на этой форме, которая в точечку. И что получается? Правильно, в твоей программе появился новый компонент. Теперь надо описать основные свойства компонента (длина, ширина, название, отпечатки пальцев и др.) и, наконец, - самое главное - нужно описать действие объекта на какое-либо событие (например, на клик, на двойной клик, на перемещение мышки етс). Причем, если вся визуальная среда понятна и ламеру - везде надо лишь кликать и выбирать, то описывать события тебе придется на чистом программерском языке С++. Вот, с визуальной средой ты уже и знаком:-).

Давай дело делать

Начнем с менюшки:-). Находишь компонент под названием MainMenu - он находится в закладке Standard (второй слева). Как, ты до сих пор не видишь эту закладку? Не видишь... тогда попробуй включить монитор. Так вот: кликаешь на этой пиктограмме, потом ползешь на свою форму и кидаешь менюху в любое место (она все равно будет на самом верху:-)). Теперь даблкликаешь на пиктограмме, которая на форме уже лежит - вот, ты видишь новую форму, но уже без точек. Называться она должна примерно так: "Form1->MainMenu1". Здесь ты и будешь писать свою первую в жизни пользовательскую менюшку. Слева ты прописываешь в свойстве Caption название меню. Стандартно пишем "Файл", а если ты хочешь быстро обращаться к этому пункту, то подставь в названии еще символ "&" (получится "&Файл"), и тогда при нажатии Alt+Ф (ф - первая буква слова Файл:)) ты увидишь, как на этой маленькой панельке появилось меню "Файл" - это ты его сделал! Кликаешь на нем, и выскакивает подменю - вот именно им-то мы сейчас и займемся. Ты кликаешь на этом подменю и точно так же, в свойстве Caption, пишешь название "&Открыть" - теперь ты уже видишь готовое подменю с одним пунктом, но на этом мы не остановимся. Точно так же ты прописываешь в подменю "Файл" еще два пункта - "&Закрыть" (не забудь, каждая твоя прога должна классно выглядеть... поэтому впиши в следующем пункте просто черточку (-) и ты увидишь, что произойдет) и "&Выйти". Вот мы и описали систему менюшек - создали, так сказать, базу интерфейса. Теперь ты находишь в закладке Dialogs компонент "OpenPictureDialog", по старой технологии кликаешь на нем и кидаешь на форму. Ты уже заметил, что на твоей главной форме появилось то меню, которое ты только что написал? Оно уже вполне работает, осталось только описать его действия. Ты кликаешь на пунктах подменю и описываешь действия, связанные с этими пунктами. Например, в подменю "Открыть", после даблклика, ты увидишь, как выскочит что-то типа блокнота вот с таким текстом:

void __fastcall TForm1::N2Click(TObject *Sender) - вызов функции из класса

{ - начало функции

Тело функции

} - конец функции

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

void __fastcall TForm1::N2Click(TObject *Sender)

if(OpenPictureDialog1->Execute())

Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);

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

Опишем оставшиеся подменю. Смонтируем подменю "Закрыть". Точно так же кликаешь на нем и прописываешь меж фигурных скобок вот эту строчку:

Image1->Picture=NULL;

И самое последнее подменю - "Выйти" - описываем так (меж фигурных скобок):

Form1->Close();

Теперь осталось кинуть на форму последнюю пару компонентов, и нашу супер-прогу можно уже продавать - если, конечно, ты раскрутишь ее, то она наверняка сможет конкурировать с прогами Майкрософт:-). Ну вот: находишь в закладке Additional компонент под названием "ScrollBox" и кидаешь его к себе на панельку. Ищешь в панели свойств "Align", кликаешь по нему и выбираешь там "alClient". Теперь в той же закладке ищешь компонент Image, кидаешь его на панельку (кстати, ты уже заметил, что твой компонент ScrollBox занял всю панель? Так и должно быть - верным путем идете, товарищи!). Описываем компонент "Image" - находим свойство "AutoSize" и устанавливаем его в значение true... Все! Прога готова. Осталось только из исходных кодов сделать исполняемый модуль - откомпилировать программу. Для этого ищешь в верхнем меню Project подменю Build AllProject (или просто всевозможный Build) и нажимаешь BuildAll. Компилятор несколько минут помучается (в зависимости от производительности твоей тачки может мучаться и часами) и... Вот ты и получил ЕХЕшник. И можешь юзать свою прогу по полной программе. А вообще-то, это всего лишь легкий примерчик - возможностям C++ Builder нет предела. Ты скоро поймешь это, если, конечно, не будешь лениться:). Удачи!

ACDSee - отличная программа, но ее тоже написали. Причем тоже живые люди и тоже голыми руками. А тебе слабо? Просто открой эту статью, садись за комп и... вперед! Максимум - 15 минут, и у тебя в руках - твой собственный аналог этой проги (правда, чуть попроще, но зато - СВОЙ).

А ты когда-нибудь слышал про визуальную среду программирования? Если нет, то, наверно, плохо слушал или забыл вынуть тампоны из ушей после сна. Все крутые программеры, которые не хотят тратить много времени на разработку проги, используют именно компиляторы с поддержкой визуальной среды программирования. Для тебя это тоже лучший из вариантов.

Листер плагин на Borland C++ Builder 6 для начинающих

Не боги горшки обжигают…

Наверное, данная статья является не учебным пособием, а попыткой обобщить опыт, полученный автором в процессе разработки плагина на Delphi 7, когда пришлось столкнуться с про-блемами, довольно неприятными программисту, привыкшему мощной поддержке VCL среды.

Задача: создать плагин для просмотра RTF файлов.

Создаем проект DLL библиотеки и сохраняем его под именем ListSimpleBcb.bpr в отдельной папке, изменим расширение имени плагина на WLX в опциях проекта.

Модуль Unit1.cpp сохраняем под именем ListSimple.cpp.

Плагин должен экспортировать из библиотеки три функции:

ListGetDetectString, ListLoad, ListCloseWindow.

ListGetDetectString должна записать в параметр DetectString строку, которая содержит RTF.

ListLoad вызывает плагин для работы и передает параметры:

ListerWin - дескриптор окна Листера; FileToLoad - полное имя RTF файла.

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

HWND ShowRTF(HWND ListerWin, char* FileToLoad);

ListCloseWindow требует от плагина завершения работы, передавая дескриптор окна плагина. Это освобождение ресурсов мы будем делать в функции HideRTF:

Void HideRTF(HWND PluginWin);

Надо добавить в проект форму, изменить ее имя на fmMain и сохранить модуль формы под именем unMain.cpp. Эта форма и есть окно плагина.

В заголовочный файл unMain.h надо добавить определения двух вышеприведенных функции и уда-лить бесполезную глобальную переменную:

Extern PACKAGE TfmMain *fmMain;

Замечание: ПЛАГИН НЕ ДОЛЖЕН ИСПОЛЬЗОВАТЬ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ!

Бросив на форму компонент RichEdit, надо установить ему такие свойства:

Align = alClient, ReadOnly = True, ScrollBars = ssBoth.

Объект RichEdit1 обеспечивает всю работу с RTF файлом.

В плагинах часто используется контекстное меню, поэтому надо бросить на форму компонент PopupMenu и создать два пункта меню Help и About, назначив им клавиши F1 и F2, соответственно. Необходимо прикрепить контекстное меню объекту RichEdit1, установив свойство RichEdit1:

PopupMenu = PopupMenu1.

Окно плагина является дочерним, следовательно, оно не должно иметь рамку и заголовок. Для этого надо переопределить виртуальную функцию CreateParams класса TCustomForm. Здесь, мы кроме настройки стилей окна:

Params.Style = WS_CHILD | WS_MAXIMIZE & !WS_CAPTION & !WS_BORDER;

зарезервируем память для хранения указателя на нашу форму:

Params.WindowClass.cbWndExtra = sizeof(void *);

Указатель нужен функции HideRTF для корректного закрытия плагина. В функции ShowRTF мы сохраняем указатель в WinAPI структуре окна плагина следующим вызовом:

SetWindowLong(fmMain->Handle, GWL_USERDATA, (LONG)p);

Позднее мы вытащим указатель из структуры, используя дескриптор нашего окна, который является параметром HideRTF, вызывая функцию GetWindowLong:

GetWindowLong(PluginWin, GWL_USERDATA);

Чтобы создать дочернее окно воспользуемся статической функцией CreateParentedControl класса TWinControl, т.е. в теле функции функция ShowRTF воспользуемся следующим оператором:

FmMain = (TfmMain *)(TWinControl::CreateParentedControl(__classid(TfmMain), ListerWin));

Для работы плагина нам понадобятся следующие данные: дескрипторы окон Тотал Командира и Листера, и режим работы плагина: в обычном окне или на одной из двух панелей Тотал Командира (так называемый Quick View - режим быстрого просмотра). Дескрипторы нужны, чтобы избежать краха по клавишам выхода Alt+X и для реагирования на быстрые клавиши Листера. Эти данные будем хранить, соответственно, в переменных TotCmdWin, ParentWin и QuickView. Добавим их определения в public раздел класса формы в файле unMain.h. Дескриптор окна Тотал Командира мы можем найти по имени класса этого окна (это не VCL класс!) с помощью WinAPI функции FindWindow.

Немного теорий. Особенностью библиотеки визуальных компонентов Borland VCL является ис-пользование глобального объекта "приложение" - Application. Этот Application имеет скрытое окно, которое должно быть владельцем всех окон приложения, что обеспечивает корректное поведение всех окон программы. И DLL библиотека плагина, и исполняемый EXE файл Тотал Командира имеют собственный глобальный объект Application, следовательно, требуется их синхронизация. Для этого надо присвоить дескриптор скрытого окна объекта Application исполняемого файла к дескриптору объекта Application библиотеки. К сожалению, Тотал Командир, хотя он написан на Delphi и использует все удобства и прелести VCL, не передает нам дескриптор данного скрытого окна. (Может причиной этого является проблема версии компиляторов Delphi?). За неимением оно-го, вместо него будем использовать для синхронизации дескриптор окна Листера, в противном слу-чае, наше модальное окно (например, окно About) поведет себя неестественно, оно появится на панели задач Windows. Эта синхронизация является задачей для функции ShowRTF.

Чтобы защитить, Тотал Командир от сбоев плагина, будем использовать событие OnException объ-екта Application, которое перехватывает необработанное исключение. Кинем на форму компонент ApplicationEvents, переименуем его на App и создаем обработчик события OnException, куда введем вызов функции MessageBox для выдачи сообщения о сбое. Сохранив проект и модуль, можно уда-лить из формы ненужный компонент ApplicationEvents. Установка адреса обработчика события в Application.OnException также является задачей для функции ShowRTF.

Все готово для ShowRTF? Увы, "маленькая неточность" в Plugin API Тотал Командира (включая v.6.02) значительно усложняет нашу работу:

Если пользователь откроет окно плагина, затем переключится на Тотал Командир и закроет Тотал Командир, то мы не получим вызов через ListCloseWindow для завершения своей работы. Вместо этого Тотал Командир или Листер (кто его знает?) уничтожает наше окно вызовом WinAPI функции DestroyWindow, а потом, то же самое попытается сделать наш объект Application, в конечном счете плагин вылетает с нарушением защиты памяти (General Protection Fault)!

Если мы не будем делать вышеописанную синхронизацию, этой проблемы удалось бы избежать. Что ж, будем расплачиваться за это и поставим ловушку для перехвата сообщений, которое получа-ет наше же окно, подобно змее, которая пожирает себя за свой собственный хвост! Не будем вда-ваться в подробности Windows API (кому же он нравиться?), вкратце суть дела такова.

Объявляем структуру TPlugInfo, где будем хранить данные, которые нужны для закрытия плагина. При инициализации выделяем память под эту структуру и заполняем ее. Определяем функцию HookDestroy, который будет перехватывать оконные сообщения, чтобы среагировать на сообщение WM_DESTROY (уничтожение окна). Вызовом SetWindowLong(…, GWL_WNDPROC, …) подменя-ем стандартный обработчик оконных сообщений на функцию HookDestroy. Похожим вызовом SetWindowLong в функции завершения HideRTF обратно восстанавливаем прежний обработчик.

Важно то, что когда функция HookDestroy поймает сообщение WM_DESTROY, она вызывает функцию завершения HideRTF точно так же, как это делает функция ListCloseWindow. В результате мы всегда успеваем нормально закрыть окно и убрать за собой, что, к примеру демонстрирует free(p) из HideRTF, освобождая память, выделенную в ShowRTF.

Остается создать диалоговую форму About, обработчики контекстного меню и обработчик RichEdit1KeyDown, который ловит нажатие специальных клавиш и передает их с помощью PostMessage в соответствующее окно. Если здесь не перехватывать клавиши Alt+X, это приведет к краху плагина. Причем, здесь придется удерживать фокус ввода в RichEdit1, проверяя режим рабо-ты плагина, т.е. значение переменной QuickView.

Об отладке и тестировании плагина.

Листер имеет встроенную возможность просмотра RTF файлов, поэтому перед запуском плагина надо отключить ее, сняв пометку у флага RTF в окне Configure Lister.

Чтобы использовать интегрированный отладчик IDE BCB, закройте Total Commander, а в BCB через меню "Run/Parameters" откройте диалог и в поле Host Application введите путь к Total Commander с помощью кнопки . Теперь можно запускать плагин из-под BCB.

PS. Уважаемый Читатель! Программирование - многовариантно и я никак не претендую на абсо-лютную истину. В качестве дополнительного материала, предлагаю Вам ознакомиться с исходными текстами плагина xBaseView - "Просмотр DBF, DB, MDB, ADO и ODBC баз данных", который предоставляется с исходными текстами, и где применяется аналогичный подход.

PPS. Прошу Читателя-Полиглота помочь мне перевести статью на английский язык, чтобы послать ее Кристиану Гислеру, автору знаменитого файл менеджера Тотал Командир, с призрачной надеж-дой, что он предпримет какие-то шаги навстречу нам - VCL программистам.

В данной статье рассказывается о том, как легко и просто освоить один из новых продуктов Borland C++ Builder 6.0 для разработки программ и быстро начать создавать собственные программы, работающие в операционной системе Windows.

Я решил написать данную статью потому, что сам прошел непростой путь обучении Borland C++ Builder и хотел бы эначи телыю облегчить процесс освоении этого продукта новичками. Сегоднн я могу с уверенностью сказать, что процесс создания Программ на Borland C++ Builder является не только простым и понятным, но самое главное - творческим, полезным и захватывающим занятием. Написав свою первую программу в ЭТОМ пакете, вы наверняка не сможете остановиться и начнете творить. Я не претендую на звание программиста, т. к. в основном занимаюсь схемотехникой. По поскольку н настоящее время электронная техника органично включает в себя микроконтроллеры и процессоры, которые необходимо программировать, а компьютеры становятся привычными инструментами, также требующими программирования, становится очевидным, что программированием необходимо овладевать. Эти знания позволят самостоятельно создавать тестовые программы, утилиты и несложные программно-инструментальные средства для отладки и тестирования схемотехнических устройств, а также позволят создавать различные электронные устройства с программной поддержкой.

Данная статья не претендует на полное и детальное описание программного продукта Borland C++ Builder 6.0, но благодаря своей компактности она позволяет не боясь большого объема материала для изучения начать осваивать этот пакет и быстро научиться писать свои программы. Работать в среде Borland C++ Builder 6.0 может любой пользователь компьютера» имеющий хотя бы минимальные знания о программировании» например из программы школьного курса. Постепенно этот человек может увлечься и стать настоящим программистом. В своем изложении я хочу, не отягощая избыточностью материала, увлечь в этот удивительный и прекрасный мир программирования. Хочу дать первый импульс к творчеству и ключ к простому пониманию непростых специальных понятий и терминов. Программы разрабатываются в данном пакете настолько просто и легко, что после первых упражнений с этим продуктом с ним уже не хочется расставаться никогда. Мы вместе с вами не только изучим основные инструменты пакета Borland C++ Builder, но и напишем свои первые программы с поразительной быстротой и легкостью. И я думаю, что после этого вы сами захотите читать больше и больше об этом удивительном продукте. Самое главное - все, что вы прочтете здесь, необходимо закреплять практикой при работе на компьютере. Только так, с помощью практики можно добиться хороших и прочных знаний в любом полезном деле. Не пытайтесь усвоить весь материал за один присест. Не ленитесь перечитать то, что не поняли или недопоняли или забыли.

Новые понятия обычно усваиваются только после третьего прочтения. Придерживайтесь этих правил, и вы обязательно добьетесь успеха.
Далее в тексте я буду использовать некоторые специальные термины, поясняя по ходу изложения, что они означают. Эти термины являются общеупотребительными для программистов, и к ним необходимо привыкнуть. В дальнейшем это очень поможет в изучении и освоении новых программных продуктов и специальной технической литературы. Одним из первых таких терминов является объектно-ориентированное программирование - ООП. Данный термин означает, что при разработке программ не требуется продумывать весь алгоритм работы программы от начала и до конца, как это делалось в структурном программировании. Именно таким продуктом является Borland C++ Builder 6.0 и ему подобные пакеты для создания программ под Windows. OOII дает возможность писать программу постепенно, шаг за шагом, создавая отдельные небольшие программы (функции-методы) для обработки действий (событий), вызываемых объектами (кнопками и окнами программы, кнопками клавиатуры и т.п.).

УСТАНОВКА
В настоящее время инсталляционный (установочный) пакет Borland C++ Builder 6.0 можно приобрести на компакт-диске (CD) во многих магазинах по доступной цене. Установка данного пакета не вызывает сложностей и подробно расписана на упаковке самого компакт-диска, в тексте инсталлятора или в справочном файле (типа readme.txt), входящем в инсталляционный пакет. Поскольку программа может быть установлена в нескольких редакциях (вариантах), от самого простого до профессионального уровня, выберите для начала самый простой или типовой вариант установки. Вместо предлагаемого для установки каталога с длинным названием C:\Program Files\ Borland C++ Builder 6\ рекомендую создать каталог с коротким названием С:\СВ6\ и установить пакет именно в него. 11ри запросе на установку специального пакета СОКВА для базы данных можно отключить галочку установки. В дальнейшем вы всегда сможете установить необходимые компоненты пакета по мере необходимости в них.

НАЧАЛО
После установки пакета в меню программ компьютера появится новый раздел на английском языке пол названием Borland C++ Builder 6, в который входит множество программ и справочных файлов. Со временем эти программы станут привычными и понятными инструментами для вас. Поэтому не пугайтесь их изобилия и замысловатости названий. Для начала работы в среде Borland C++ Builder 6.0 нам понадобится только один файл C:CB6\Bin\bcb.exe. Из него мы сможем вызывать остальные программы пакета по мере необходимости. Я советую поместить значок (ярлык) этой программы на рабочий стол (экран) компьютера для последующего быстрого и простого поиска и запуска этой программы. Для этого необходимо свернуть все окна запущенных на компьютере программ или закрыть их. Далее необходимо найти через 11уск-^Программы-» Borland C++ Builder программу C++ Builder 6, нажать левую кнопку мышки и, удерживая нажатой кнопку мыши и клавишу Ctrl (для копирования) перенести ярлык программы на свободное место рабочего стола. Теперь можно запустить программу C++ Builder 6, щелкнув на ее значке» помещенном на рабочем столе, два раза левой клавишей мышки.
После запуска программы на экране монитора появится окно, изображенное на рис. 1, которое демонстрирует процесс загрузки программы Borland C++ Builder 6.0.

Рис.1

Это окно может отображаться несколько секунд, пока программа загружается.

ИНТЕРФЕЙС
После загрузки программы это окно сменяется новыми окнами. Все эти окна представляют собой интерфейс программы Borland C++ Builder 6.0, который изображен на рис. 2.


Рис.2

В терминах программистов этот интерфейс называется средой быстрой разработки приложений RAD, сокращение от английских слов Rapid Application Development. Такое название этот интерфейс получил за то, что создание программы в нем сводится в основном к простому конструированию окна будущей программы из готовых кубиков, а большую часть стандартных и рутинных операций за человека выполняет компьютер. Например, компьютер создает автоматически заготовку текста программы для функций обработки событий.
В верхнем окне интерфейса программы расположена строка заголовка C++ Builder 6-Projectl. Она отражает название всего программного пакета и имя нового проекта. Проектом называется вся группа файлов, которые необходимы для создания конечной исполняемой программы. Так, например, в состав проекта могут включаться файлы с текстами программ, файл ресурсов с рисунками курсоров и иконок (значков), звуковые файлы и т. п. Первоначально проект хранится в памяти компьютера, и для того, чтобы сохранить его на диске, необходимо будет выполнить стандартные операции сохранения, создав при этом отдельную пайку. Кроме того, интерфейс сам предложит вам сохранить проект, если вы решите выйти из программы или попытаетесь создать новый проект.
Так же на строке заголовка находятся кнопки свертывания, восстановления и закрытия окна. Под заголовком находится строка главного меню, которая предоставляет доступ ко всем функция и командам программы. Под главным меню находятся быстрые кнопки, объединенные в группы по назначению. Они позволяют получить быстрый доступ к наиболее часто используемым командам. Справа от быстрых кнопок расположена палитра визуальных компонентов VCL. Это те самые объекты или программные компоненты, предназначенные для быстрого создания программы для Windows. В их число входят кнопки, рисунки, надписи, таймеры, календари и т. д. Палитра состоит из нескольких закладок, на которых располагаются визуальные компоненты, распределенные по группам. Именно с этими компонентами мы будем создавать новые программы. При малых разрешениях экрана все эти закладки не умещаются в пределах рабочей области экрана. Для получения доступа к ним необходимо воспользоваться кнопками прокрутки (стрелками), которые расположены в правой верхней части палитры компонентов. Подведите курсор к одной из кнопок и нажмите левую кнопку мыши. При этом закладки сдвинутся и появится та группа, которая первоначально не отображалась (была недоступна). В левой нижней части экрана располагается инспектор объектов Object Inspector. В этом окне производится настройка основных свойств визуальных компонентов. Расположение окна инспектора объектов в программе не фиксировано и при желании его можно переместить в ту часть рабочей области программы, которая для вас наиболее удобна. Для этого необходимо нажать левую кнопку мыши на строке заголовка окна и, удерживая ее, переместить окно. Над окном инспектора объектов расположено окно просмотра объектов Object Tree View. Оно отображает в виде дерева всю структуру проекта, состоящего из форм, кодов (текстов) программ и других ресурсов (файлов). Справа от инспектора объектов располагается окно дизайнера форм (окон будущей программы). Это окно содержит строку заголовка, в котором отображается название формы Forml (созданное по умолчанию) и кнопки управления окном. Над ним располагается окно редактора кода Unitl.cpp, (также созданное по умолчанию) в котором производится набор и редактирование кода программы.
Советую вам некоторое время самостоятельно познакомиться с этим интерфейсом для того, чтобы вы привыкли к нему и появились вопросы, на которые хочется получить ответы. Ведь только интерес порождает процесс изучения. Данный интерфейс будет нашим самым главным инструментом при создании программ.

ПЕРВАЯ ПРОГРАММА
Думаю, многим читателям уже не терпится написать первую программу под Windows. Пожалуйста, нет ничего проще. Фактически она уже написана, и сделал это за вас RAD интерфейс. Выполните команду Run из главного меню Run или щелкните левой кнопкой мышки по зеленой кнопкестрелке на панели быстрых кнопок или просто нажмите клавишу F9 на клавиатуре. После этого произойдет компиляция проекта (преобразование программы в машинный код, понятный компьютеру) с отображением на экране окна, подобного изображенному на рис. 3, и программа запустится.

На экране появится изображение пустого окна вашей первой программы (рис. 4).

В верхней части этой программы будет виден фирменный значок пакета Borland C++ Builder и название окна программы Forml. Итак, мы создали новую программу, не написав при этом ни строчки кода! Какая же польза от такой программы? Что она умеет делать? Пока не очень много, но кое-что все же умеет. Во-первых, мы получили полноценное оконное приложение, которое работает в операционной системе Windows. Во-вторых, это приложение имеет интерфейс Windows и привычные стандартные органы управления, расположенные справа вверху. Вы можете сворачивать данное приложение и разворачивать его на весь экран, изменять размеры окна программы и перемещать его с помощью мышки. А мы с вами создали такую программу в считанные секунды. Конечно же, это заслуга RAD интерфейса. Именно благодаря такому интерфейсу нам удалось создать приложение так быстро и легко. Это одно из его замечательных свойств, поэтому он и получил очень большое распространение и признание во всем мире. Обратите внимание, что при сворачивании приложение будет иметь имя Project 1. Теперь перед нами встают вопросы, как сделать наше приложение полезным, изменить его название и значок и т. д. Очень хорошо, что эти вопросы появились. Они пробуждают в нас интерес и жажду к знаниям - основной источник прогресса. Остановим работу нашей программы, щелкнув левой клавишей мышки по крестику в верхней правой части ее окна и продолжим обучение.
Теперь рассмотрим более подробно каждое из описанных выше окон интерфейса и других органов управления пакета Borland C++ Builder 6.0.

ГЛАВНОЕ МЕНЮ
Главное меню предоставляет доступ к основным командам программы Borland C++ Builder 6.0, объединенным в группы.
Первая группа меню под названием File (Файл) изображена на рис. 5.

Команды этого меню осуществляют работу с файлами и предоставляют доступ к операциям создания (New) новых форм (окон) и приложений, открытия (Open), сохранения (Save) и закрытия (Close) файлов и проектов, печати текстов программ (Print) и добавления заголовков модулей (Include), т. е. файлов с расширением h. Обратите внимание на то, что перед некоторыми командами этого и последующих меню находятся значки-иконки. Эти же значки изображены на кнопках быстрого запуска, что позволяет без труда понять их назначение. Кроме того, справа от некоторых команд меню написано соответствие команд горячим клавишам, т. е. клавишам, с помощью которых вызывается данная команда. Еще правее этих надписей кое-где имеются треугольные стрелки, которые говорят о том, что данная команда имеет расширенные возможности, которые становятся доступными после наведения на эту стрелку курсора мышки.

Вторая по порядку группа команд меню называется Edit (Редакторова-ние), она изображена на рис. 6.

Рис.6
В этом меню собраны команды редактирования, такие как отмена (Undelete) и повторение (Redo) операций, вырезание (Cut), копирование (Сору) вставка (Paste) и удаление (Delete), команды выделения всего текста (Select All), выравнивания компонентов (Align) и настройки редактора кода (текста программы).

Следующая группа команд Search (Поиск) изображена на рис. 7.

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

Группа команд View (Вид) изображена на рис. 8.

Из этого пункта меню вызываются основные диалоговые окна управления проектом и компонентами, такие как менеджер проектов Project Manager, список компонентов Component List и список окон Windows List Также из этого пункта меню открываются все окна отладки программ Debug Windows, работу с которыми мы рассмотрим позже.

Группа команд Project (Проект) приведена на рис. 9.

Рис.9
В этом меню собраны команды управления проектом. С их помощью можно добавлять и удалять модули (файлы с текстами программ), добавить библиотеку компонентов VCL, откомпилировать проект и так далее.

Группа команд Run (Выполнить) изображена на рис. 10.

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

Группа команд Component (Компонент) представлена на рис. 11.

Рис.11
Из этого меню вызываются команды добавления в систему новых компонентов и конфигурации их палитры.

Рис.12
Группа Database (База данных) представлена на рис. 12, она содержит команды для работы с базами данных. Изучение компонентов этой группы не входит в содержание данной статьи ввиду большого объема.
Группа Tools (Инструменты) изображена на рис. 13.

Рис.13
В этом меню собраны команды как по настройке параметров программы, так и команды вызова различных дополнительных утилит.

Рис.14
Группа Windows приведена на рис. 14.
С помощью команд данного меню производится управление окнами интерфейса.
Замыкает главное меню группа команд Help, представленная на рис. 15.

Рис.15
В нее включены команды, с помощью которых можно получить справку как о языке C++, так и о работе с пакетом Borland C++ Builder 6 и всеми его компонентами. Выбрав в данном меню команду About, вы увидите сведения о данном пакете и некоторые сведения о вашем компьютере. Это окно изображено на рис. 16.

Рис.16

БЫСТРЫЕ КНОПКИ
Быстрые кнопки расположены под главным меню (рис. 2). С их помощью осуществляется быстрый доступ к основным и часто используемым командам главного меню. Все эти кнопки имеют вплывающие меню, появляющиеся при наведении на них курсора мыши, и горячие клавиши, показываемые в скобках. Все быстрые кнопки также, как и главное меню, разделены на группы.
Кнопки Standard (Стандартные) позволяют создавать новые объекты программы. Для этого необходимо нажать кнопку New. При этом появится диалоговое окно New Items, в котором можно выбрать необходимый для создания программы объект. Также кнопки этой группы позволяют сохранять (Save) и открывать (Open) как отдельные файлы, так и целые проекты. Замыкают группу две кнопки управления проектами, с помощью которых можно добавлять файлы к проекту (Add File To Project) и удалять их из него (Remove File From Project).
Кнопки View (Вид). В эту группу собраны кнопки, управляющие просмотром форм и модулей, а также кнопка создания новой формы. Для создания новой формы необходимо нажать кнопку New Form. При этом появится новое окно дизайнера форм в заголовке, в котором будет отображаться название новой формы Form2. Для переключения между формой и редактором кода служит кнопка Toggle Form Unit (F12). Если в вашей программе используется несколько форм, то с помощью кнопки View Form (Shift+F12) вы можете выбрать форму для просмотра.
Кнопки Debug (Отладка). В этой группе собраны кнопки для отладки программы. Кнопка Run (F9) запускает проект на выполнение. Кнопка Pause позволяет приостановить выполнение проекта. С помощью кнопок Trace Into (F7) и Step over (F8) задается запуск программ в пошаговом режиме для детальной отладки программы. Положение кнопок быстрого доступа в среде разработки не фиксировано и их можно разместить на главной панели по своему усмотрению. Для этого необходимо подвести курсор к левому краю группы кнопок и, нажав и удерживая левую кнопку мыши, переместить группу на новое место. Если группа вынесена за пределы главной панели, ей отводится отдельное окно. Кроме того, нажав правую кнопку мыши на панели быстрых кнопок, можно открыть окно для настройки отображения любой группы кнопок на главной панели системы.

Продолжение следует...

Статья 1 2 3 4 5 6 7 8 9 10 11

Скачать Borland C++ Builder 6 торрентом




В продолжение темы:
Windows

Часть вторая : "Важнейшие характеристики каждого семейства процессоров Intel Core i3/i5/i7. Какие из этих чипов представляют особый интерес" Введение Сначала мы приведём...

Новые статьи
/
Популярные