|
|
|||||||||||||||||||||||||||||
|
Переход от Visual Basic к Delphi: oбзор для программистов и разработчиковИсточник: Borland Митчел Ц. Керман
Введение Операционная система Linux в последнее время завоевала большую популярность. Она получила широкое признание в качестве альтернативы ОС Microsoft Windows. В результате, программисты и разработчики во всем мире занялись изучением того, как следует разрабатывать системы для конечных пользователей и заказчиков, чтобы в них максимально использовались преимущества, предоставляемые Linux. Именно для этих целей замечательно подходит Borland Delphi. В течение длительного времени Delphi считается одним из лучших инструментов разработки приложений для Windows. Вооруженные инструментарием Kylix Project ("Delphi для Linux") от Borland, разработчики, использующие Delphi, находятся на прямом пути к созданию кросс-платформенной системы Windows/Linux. Visual Basic (VB), флагман среди продуктов корпорации Microsoft, является наиболее популярной платформой разработки приложений для ОС Windows. VB представляет собой инструментарий быстрой разработки приложений (RAD), уходящий корнями в язык BASIC. В настоящее время, более семи миллионов разработчиков во всем мире используют VB. Delphi также является RAD-инструментарием, поэтому разработчики, уже использующие Visual Basic, найдут у них много общего. Оба инструмента способствуют увеличению продуктивности работы программиста, что сокращает время разработки приложений. Основное различие, однако, заключается в том, что Delphi будет иметь версии как для Windows, так и для Linux. Что такое Linux?
С технической точки зрения, название Linux относится только к ядру ОС. Однако в большинстве случаев (включая настоящую статью) термин Linux, обычно применяется ко всей ОС и ее пакету приложений как альтернативе Microsoft Windows или MacOS. Linux представляет собой свободно распространяемую операционную систему, подобную Unix, первоначально созданную Линусом Торвальдсом (Linus Torvalds) при участии программистов, энтузиастов и людей, увлеченных компьютерами, во всем мире. Впервые Linux была разработана в 1991 году для 80386 микропроцессора от Intel, но сейчас она уже может работать на самых различных платформах, включая Alpha, SPARC, PowerPC, и все семейство x86 микропроцессоров от Intel. Linux является современной ОС и поддерживает следующие свойства:
Постоянно растущее число Web-сайтов и поставщиков услуг Internet (ISP) используют Linux в качестве серверной операционной системы. Кроме того, во всем мире Linux используется программистами, работающими на языках C и C++, в качестве одной из платформ разработки. Более того, на Linux могут работать все приложения типичного Unix-сервера, например:
Linux распространяется по общедоступной лицензии (GPL) GNU; это означает, что каждый может бесплатно получить доступ к исходному коду Linux. Любой специалист может модифицировать этот код при условии, что все эти модификации также будут бесплатно распространяться вместе с исходным кодом. Открытый доступ к исходному коду Linux (т.е. open source ) обеспечивает следующие преимущества:
Linux, действительно, можно назвать феноменом Internet. Internet помог ОС Linux получить путевку в жизнь и продолжает способствовать ее развитию, обеспечивая необходимую общую среду для ее разработки. Программисты во всем мире могут писать и обмениваться кодами, совершенствуя, таким образом, Linux и внося в нее различные дополнения. В настоящее время для Linux имеются самые различные инструментальные средства разработки. Однако эти средства в значительной степени отличаются друг от друга по свойствам, скорости, кросс-платформенной поддержке и стоимости. Ниже описаны наиболее популярные инструменты программирования для Linux и производители инструментария:
Borland/Inprise. В настоящее время Borland/Inprise предлагает один инструмент разработки для Linux, а именно, Jbuilder; вскоре на рынке появятся еще два инструмента, C++Builder и Delphi. JBuilder представляет собой среду разработки на языке Java от Borland. Сейчас на рынке имеются версии данного продукта под Windows, Linux и Solaris. JBuilder является легко расширяемым инструментом разработки приложений, работающих с базами данных, поддерживающим Java 2. C++Builder представляет собой платформу для разработки на C++, а Delphi - популярный RAD-инструментарий. C++Builder использует в качестве языка программирования C++, а Delphi - Object Pascal. Оба инструмента имеют общую IDE. Эта IDE очень интуитивна, и у нее много общего с IDE на Visual Basic. И тот, и другой инструмент имеют версии для Windows, вскоре также выйдут версии для Linux. Kylix представляет собой попытку корпорации Borland создать Linux-версии C++Builder и Delphi. Преимущества Delphi
Теперь, когда вы познакомились с ОС Linux, ее свойствами и различными инструментальными средствами разработки для Linux, давайте поговорим о VB (Visual Basic) и Delphi. По сравнению с возможностями VB, Delphi имеет значительные преимущества, такие как:
Это и другие преимущества будут детально описаны ниже. Цель данной статьи
Данная статья предназначена для программистов и разработчиков, знакомых с VB и желающих больше узнать о Delphi. В статье дается сравнение (хотя далеко не полное) свойств продуктов и языков из этих двух пакетов. Автор статьи предполагает, что читатель имеет базовые знания о RAD, включая концепции разработки GUI, компонентные свойства и методы и событийно-управляемое программирование. Я думаю, что данную статью будет полезно прочесть как студентам и начинающим программистам, так и опытным специалистам. Далее в статье будут сравниваться и противопоставляться VB и Delphi. Сравнение производится на четырех уровнях: IDE, язык программирования, встроенный отладчик и перенос приложений. И снова хочу напомнить, что данная статья не является полным справочным руководством; с ее помощью специалисты, уже знакомые с VB, опираясь на имеющиеся у них знания, могут пройти процесс изучения Delphi. Интегрированная среда разработки
Разработчики VB обнаружат много знакомого в Delphi IDE. Многие меню, панели инструментов и окна в Delphi и VB имеют одинаковый дизайн и назначение. Delphi поддерживает все инструменты, необходимые для современной RAD-среды, и совершенно ясно, что разработка и организация всех этих инструментов проводилась группой разработчиков Delphi очень обдумано и предусмотрительно. VB и Delphi имеют окна с одинаковыми именами и функциональностью. Например, оба продукта имеют окна, позволяющие модифицировать свойства элементов управления. Visual Basic является средой разработки с многодокументным интерфейсом (MDI); все его окна размещаются в основном окне приложения. Delphi, в свою очередь, является средой с однодокументным интерфейсом (SDI) с самостоятельными свободно-перемещаемыми окнами. В последующих параграфах будут представлены IDE-элементы Delphi, а также проведено их сравнение и противопоставление соответствующим окнам VB. По умолчанию Delphi IDE состоит из следующих окон:
1. Окно Form
4. Другие окна На Рисунке 1 представлена структура Delphi IDE по умолчанию. Рис. 1. Устанавливаемая по умолчанию интегрированная среда разработки Delphi Горизонтальное меню
Как и VB, Delphi имеет горизонтальное меню. Горизонтальное меню в Delphi представляет собой типичное "выпадающее" меню. Многие опции меню доступны через комбинации "горячих клавиш", приведенные справа от "выпадающего" меню. Через горизонтальное меню разработчик может получить доступ ко всем функциональным возможностям, необходимым для создания приложения. На Рисунке 2 представлено горизонтальное меню и пример "ниспадающего" меню. Панели инструментов
Панели инструментов содержат значки, обеспечивающие быстрый доступ к стандартным задачам. VB содержит четыре самостоятельные панели инструментов, Standard, Debug, Edit, и Form Editor, в которых задачи разделены и организованы по их назначению. По умолчанию, VB отображает только панель инструментов Standard. Delphi содержит шесть отдельных панелей инструментов; все они отображаются по умолчанию.
Рис. 2. Горизонтальное меню в Delphi с активизированным "выпадающим" меню Как в VB, так и в Delphi вы можете отображать различные панели инструментов с помощью меню View. Или же, щелкните правой кнопкой мыши по панели инструментов Standard в VB, и на экране отобразится "всплывающее" меню со списком доступных панелей инструментов. Таким же образом вы можете открыть аналогичное "всплывающее" меню в Delphi. Кроме того, панели инструментов в VB и Delphi можно настраивать. Панель инструментов Standard
Панель инструментов Standard (Рисунок 3) содержит значки для стандартных задач, таких как открытие, сохранение и создание Delphi-проектов и соответствующих файлов. Рис. 3. Панель инструментов Standard Панель инструментов View
Панель инструментовView, представленная на Рис. 4, содержит значки для создания новых форм, просмотра форм и блоков кода, а также переключения между формой и ее блоком кода. Используя эту панель, вы можете быстро переключаться между окнами в Delphi IDE. Рис. 4. Панель инструментов View Панель инструментов Debug
Как и в VB, панель инструментов Debug (Рисунок 5) используется для интерактивного тестирования и отладки программ. Она обеспечивает быстрый доступ к нескольким командам Delphi-отладчика, доступным из меню Run. Подобно VB-отладчику, Delphi-отладчик является утилитой периода отладки ("design-time"). Он может использоваться в среде разработки Delphi, пока вы работаете над исходным кодом. Рис. 5. Панель инструментов Debug Панель инструментов Custom
На Рисунке 6 представлена панель инструментов Custom. По умолчанию она содержит одну кнопку, обеспечивающую доступ к оперативной подсказке Delphi. Рис. 6. Панель инструментов Custom Панель инструментов Desktops
При открытии VB, все окна и панели инструментов располагаются там, где они находились перед последним закрытием VB. Программист не может создать несколько различных раскладок рабочего стола. Что же касается Delphi, то здесь программист может настроить различные установки рабочего стола, используя панель инструментов Desktops, показанную на Рисунке 7. Данная панель инструментов содержит отборочный список доступных оформлений рабочего стола и позволяет программисту загружать и сохранять различные виды оформления. В оформление рабочего стола входят: отображение, задание размеров, установка и размещение окон в IDE. Выбранное оформление будет действительно для всех проектов, а также будет использоваться при следующем запуске Delphi. В VB отсутствует аналог такой панели инструментов. Рис. 7. Панель инструментов Desktops Component Palette
В VB, Toolbox содержит все элементы управления ActiveX, доступные для текущего проекта. Эквивалентом Toolbox в Delphi является Component Palette, показанная на рисунке 8.
Рис. 8. Component Palette Первое различие между VB Toolbox и Delphi Component Palette заключается в том, что Component Palette снабжено закладками. Для изменения такого оформления с использованием закладок, щелкните правой кнопкой мыши по Component Palette и выберите Properties из "всплывающего" меню. В результате, откроется окно Palette Properties, в котором вы можете настраивать Component Palette. По умолчанию, VB Toolbox не снабжено закладками. Хотя программист может настроить Toolbox и добавить в него закладки, что ускорит и упростит распознавание элементов управления, как это сделано в Delphi Component Palette. Другим различием между двумя окнами является то, что VB Toolbox содержит только те элементы управления, которые доступны или используются текущим проектом. Component Palette, в свою очередь, всегда содержит все элементы управления. Более того, при компиляции VB-приложения, все элементы управления ActiveX не включаются в исполняемый файл в то время, как Delphi компилирует требуемые элементы управления в исполняемый файл. Delphi также поддерживает использование элементов управления ActiveX. Если в приложении используется элемент управления ActiveX, то он "заключается" в блок кода, что позволяет устанавливать ее в Component Palette и использовать в Delphi IDE. Меньшие окна
Устанавливаемая по умолчанию среда разработки Delphi включает в себя следующие меньшие окна: окно Form, окно Object Inspector, окно Code Editor и другие окна.
Окно Form
Окно Form в Delphi (Рисунок 9) выглядит и работает так же, как и окно Form в VB. Основное отличие заключается в единицах измерения. В VB используются твипсы (twips), а в Delphi пиксели.
Рис. 9. Окно Form Как и в VB, для выравнивания расположения и размеров элементов управления используется сетка формы. Для изменения любых опций дизайнера Form, выберите Tools/Environment Options… из строки меню и щелкните левой кнопкой мыши по закладке Preferences. Под закладкой отобразится фрейм дизайнера Form, в котором вы можете изменить нижеперечисленные опции:
Как и VB, Delphi поддерживает несколько методов размещения элемента управления на форме. Первый метод: дважды щелкните мышью по требуемому элементу управления в Component Palette. В результате, в центре формы будет помещен этот элемент управления с размером, принятым по умолчанию. Второй метод: щелкните левой кнопкой мыши по требуемому элементу управления в Component Palette, а затем щелкните левой кнопкой мыши по форме. В результате, этот элемент управления принятого по умолчанию размера будет помещен на форму таким образом, что его левый верхний угол совпадет с точкой, по которой вы щелкнули мышью. И, наконец, вы можете один раз щелкнуть мышью по элементу управления в Component Palette, а затем еще раз щелкнуть по нему и перетащить на форму. Данный метод позволяет программисту непосредственно задавать размер и местоположение элемента управления. Можно помещать на форму несколько элементов управления одного и того же типа, если выбрать элемент управления из Component Palette при нажатой клавише Shift. После выбора элемента управления вы сможете помещать на форму другие элементы управления того же типа, используя любой из двух последних методов, описанных выше. Окно Object Inspector
На Рис. 10 изображено окно Object Inspector. Object Inspector в Delphi имеет много общего с окном Properties в VB. Оба окна отображают список доступных на время разработки свойств для текущего выбранного окна. По умолчанию, Object Inspector отображает этот список в алфавитном порядке. Если вы привыкли к просмотру свойств по категориям, то Delphi позволяет настроить отображение списка в соответствии с вашим желанием. Просто щелкните правой кнопкой мыши по окну Object Inspector и выберите Arrange/by Category из "всплывающего" меню. Delphi поддерживает четыре базовых типа свойств объектов: Simple (простые), Enumerated (перечисляемые), Sets (наборы) и содержащие редакторы свойств. Простые свойства позволяют вводить значение свойства непосредственно с клавиатуры. Перечисляемые позволяют выбирать свойства из списка допустимых значений. Например, свойство BorderStyle формы является свойством Enumerated-типа. Свойства типа Set являются единственными свойствами, допускающими присвоение нескольких значений. Примером свойства типа Set может служить свойство Style в свойстве Font объекта. Свойство Style может принимать следующие значения: Italics, Bold, Underline, Strikeout или любую их комбинацию. Как и в VB, в Object Inspector, свойства, использующие Property Editors, отмечены справа эллипсами (три точки). Для активизации Property Editor, щелкните левой кнопкой мыши по эллипсам.
Рис. 10. Окно Object Inspector Окно Object Inspector не только отображает все свойства, доступные для объекта на период разработки, но и имеет закладку со списком всех событий, на которые объект может реагировать. Чтобы просмотреть список всех событий, поддерживаемых для данного объекта, в VB следует перейти в Code Editor, выбрать объект из "ниспадающего" списка Object, а затем выбрать событие из "ниспадающего" списка Procedure. В Delphi у вас может быть несколько элементов управления (или даже различных событий), вызывающих один и тот же обработчик событий. После написания обработчика событий, используйте закладку Events в окне Object Inspector, чтобы выбрать один обработчик событий для нескольких элементов управления (или различных событий). В "ниспадающем" списке окна Object Inspector будут отображены все обработчики событий, имеющие один список параметров. Как вы видите, Delphi отличается особой гибкостью и эффективностью при работе с объектами и обработчиками событий. В VB для этого потребовалось бы, чтобы один обработчик событий вызывал другой. Окно Code Editor
Code Editor в VB открывает каждый модуль в новом окне. В Delphi Code Editor представляет собой одно окно, как показано на рис.11. Данное окно имеет закладки для каждого открытого блока или модуля. Предупреждение: Очень часто у вас будет возникать желание закрыть окно Code Editor после завершения редактирования кода. В Delphi, если вы закрываете блок, то закроется также и форма, использовавшая его. Чтобы закрыть сначала блок, а затем и форму, щелкните правой кнопкой мыши по закладке блока в Code Editor и выберите Close Page из "всплывающего" меню.
Рис. 11. Окно Code Editor Code Editor в Delphi использует цветовое кодирование, подобное VB-редактору. Вы можете настраивать цвета, выбрав Tools/Editor Options… и нажав на закладку Colors. Затем выберите элемент, цвет которого вы собираетесь изменить. Выберите требуемый цвет, используя левую кнопку мыши для изменения цвета переднего плана и правую кнопку мыши для изменения цвета фона. Кроме того, вы можете изменить настройку так, чтобы при отображении элемента использовался полужирный шрифт или курсив. В Code Editor поддерживаются те же "горячие" клавиши, что и для стандартной навигации Windows:
Аналогично IntelliSense-технологии в VB, Delphi содержит набор из пяти инструментов для разработчиков, известных как Code Insight: 1. Code Completion отображает список поддерживаемых типов данных, если вы объявляете переменную, или список свойств и методов, в случае использования объекта. По мере того, как вы вводите тип данных, свойство или метод, Delphi выполняет инкрементный поиск в "ниспадающем" списке. По умолчанию, данный список сортируется по области действия. Для его отображения в алфавитном порядке, щелкните правой кнопкой мыши по "ниспадающему" списку и выберите Sort by Name из "всплывающего" меню. После того, как вы нашли элемент, который хотите использовать, нажмите клавишу Enter, чтобы выбрать его и поместить в свой код. 2. Code Parameters отображает диалоговое окно с именами и типами параметров для функции, метода или процедуры. Таким образом, Вы можете посмотреть требуемые аргументы для данной функции, метода или процедуры, когда вы вводите их в свой код. 3. Code Templates является наиболее полезным свойством при переходе от VB к Delphi. Code Templates поддерживает шаблоны синтаксиса для базовых кодовых структур. Нажатие Ctrl-J активизирует данное свойство и вызывает "всплывающее" меню поддерживаемых шаблонов. Кроме того, вы можете ввести начало оператора, а затем нажать Ctrl-J. Если Delphi поддерживает данный оператор, то в код будет вставлен соответствующий шаблон. Если же Delphi не поддерживает данный оператор, то отобразится список шаблонов, наиболее близко соответствующих данному оператору. Для изменения имеющихся или добавления новых шаблонов кода, выберите Tools/Editor Options…, а затем закладку Code Insight. 4. Tooltip Expression Evaluation отображает значение переменной или выражения в виде всплывающей подсказки во время интерактивной отладки. 5. Tooltip Symbol Insight отображает информацию объявления любого идентификатора в Code Editor. Во "всплывающем" окне отображается вид идентификатора (процедура, функция, тип, константа, переменная, блок и т.д.), а также файл блоков и номер строки его объявления. В Delphi, каждый открытый блок имеет отдельную закладку в Code Editor. Если блок, который вы хотите отредактировать, не открыт, выберите View/Units или View/Forms из меню. Опция View/Units отображает список всех поддерживаемых блоков в проекте. Аналогичным образом, View/Forms отображает список всех поддерживаемых форм в проекте. Открытие формы приводит к открытию соответствующего блока. Другим навигационным свойством в Code Editor, поддерживаемым Delphi, являются закладки. Delphi разрешает устанавливать до десяти закладок в Code Editor, с нумерацией от нуля (0) до девяти (9). Для установки закладки, установите курсор на требуемую строку кода и нажмите Shift-Ctrl- number , где number является одной из цифровых клавиш, от 0 до 9. Для перехода к уже пронумерованной закладке, нажмите Ctrl- number . Другие окна
В дополнение к трем окнам, отображаемым по умолчанию, Delphi поддерживает еще несколько других полезных окон. На Рис. 11, окно Code Explorer, которое по умолчанию располагается в окне Code Editor, слева от активных закладок страниц редактора. Другими словами, это окно располагается в левой части окна Code Editor. Code Explorer позволяет программисту легко перемещаться по файлам блоков. Оно содержит три диаграммы, отображающие все типы, классы, свойства, методы, глобальные переменные и глобальные процедуры, определенные в блоке кода, который в данный момент редактируется в окне Code Editor. Окно также содержит список блоков, которые используются редактируемым в данный момент блоком. Если окно Code Explorer еще не открыто, откройте его, выбрав View/Code Explorer. Программист может просматривать файлы, входящие в состав проекта Delphi в окне Project Manager. В Project Manager, Delphi-проекты можно организовывать в группы проектов, где каждая группа проектов будет состоять из взаимосвязанных проектов или проектов, функционирующих вместе как части многозвенного приложения. Кроме того, данное окно позволяет программисту легко перемещаться между различными проектами и входящими в их состав файлами в пределах группы проектов. Для открытия окна Project Manager, выберите View/Project Manager или нажмите Ctrl-Alt-F11. Для успешного завершения создания программы, особенно большой программы, программисту необходимо выполнить множество задач. Delphi поддерживает окно To-Do List, имеющий встроенный блокнот, в котором программист может последовательно организовывать все эти задачи. Данный список очень полезен при планировании, программировании, тестировании и отладке больших проектов, которые обычно пишет целая команда программистов. Для открытия данного окна, выберите View/To-Do List из горизонтального меню. Вы можете добавить, отредактировать или удалить любой элемент списка, щелкнув правой кнопкой мыши по окну To-Do List. Окно Alignment Palette поддерживает средства быстрого выравнивания компонентов в форме. Для открытия данного окна, выберите View/Alignment Palette из горизонтального меню. В окне Project Browser перечислены блоки, классы, типы, свойства, методы, переменные и процедуры, объявленные или используемые в текущем проекте. Project Browser организует всю эту информацию в виде трех диаграмм. Для открытия окна Project Browser, выберите View/Browser или нажмите Shift-Ctrl-B. Для открытия Component List (или окна Components), выберите View/Component List из горизонтального меню. Данное окно отображает в алфавитном порядке все компоненты, поддерживаемые вашей версией Delphi. Вы можете добавлять компоненты в свою Delphi-программу, выбрав требуемый компонент из данного окна с помощью мыши или путем ввода с клавиатуры. При использовании мыши, Component Palette предоставляет более быстрые средства выбора и размещения компонентов в приложения, т.к. в данном окне компоненты упорядочены по своим функциям. Поэтому вместо окна Components рекомендуется использовать Component Palette. Window List позволяет быстро переключаться между окнами среды разработки Delphi. Если у вас открыто много окон, Window List предоставляет простейший способ обнаружения и активизации требуемого окна. Для открытия Window List, выберите View/Window List или нажмите Alt-0. Затем выберите из списка требуемое окно и щелкните по кнопке OK. Delphi также содержит несколько окон, связанных со встроенным отладчиком. Описание этих окон будет приведено в разделе, относящемся к отладке. Язык программирования В данном разделе описаны типы файлов, поддерживаемые Delphi, и синтаксис языка Object Pascal. Как и в VB, Delphi-приложение (называемое проектом) состоит из нескольких различных типов файлов. В качестве трех основных типов файлов можно выделить файлы проектов, файлы блоков и файлы форм. Файл проекта (.DPR) является "основной программой"; он обращается к файлам блоков и файлам форм, составляющим проект Delphi. Таким образом, файл проекта связывает вместе все файлы, относящиеся к определенному проекту. Обычно файлы блоков и файлы форм присутствуют в проекте в соотношение один к одному, т.е. каждый файл блока имеет соответствующих файл формы и наоборот. Файл формы (.DFM) содержит объекты, входящие в форму, и установки свойств объектов, а файл блока (.PAS) содержит исходный код, связанный с формой. По сравнению с Delphi, в VB объекты, установки свойств и код содержатся только в файле формы (.FRM). Помните, что вы должны сохранять как проект, так и формы для своего Delphi-приложения. При сохранении формы, файл блока и файл формы сохраняются под одним и тем же именем с соответствующими расширениями имени файла. Для сохранения формы, выберите File/Save or File/Save As… из горизонтального меню, щелкните мышью по значку Save на панели инструментов Standard или нажмите Ctrl-S. Для сохранения файла проекта, выберите File/Save Project As… из горизонтального меню. Для быстрого сохранения всех файлов, связанных с данным проектом, выберите File/Save All из меню или щелкните мышью по значку Save All на панели инструментов Standard. Еще раз хочу напомнить, что каждое приложение состоит из "основной программы", находящейся в файле проекта. Данный файл связывает вместе все блоки, относящиеся к данному приложению. Ниже приведен общий синтаксис файла проекта: program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. Как видно из приведенного выше синтаксиса, файл проекта состоит из трех элементов: заголовка программы оператор uses (необязательный элемент) блок объявлений и операторов между зарезервированными словами begin и end Заголовок программы задает имя программы. В операторе uses приведены файлы блоков, используемые программой. Блок (между зарезервированными словами begin и end) содержит объявления и операторы, исполняемые во время выполнения программы. Delphi IDE предполагает, что все эти три элемента находятся в одном файле проекта. И, наконец, еще одно предупреждение: Советуем Вам не менять вручную код, генерированный IDE. Это относится не только к файлам проектов, но и к файлам блоков. Другими словами, позвольте IDE самой выполнять за вас работу. Например, если вы хотите добавить в проект новую форму, выберите File/New Form или щелкните мышью по кнопке New Form на панели инструментов View. Аналогично, чтобы добавить обработчик событий в файл блока, выберите объект и событие в Object Inspector для соответствующей формы, а затем введите имя для обработчика событий. Delphi автоматически генерирует заголовок и блок для обработчика событий. Delphi-блок состоит из типов данных (включая классы), объявлений констант и переменных, а также стандартных программ (функций и процедур). Каждый блок расположен в отдельном файле блока. Файл блока состоит из заголовка, разделов интерфейса, реализации, инициализации и завершения. Разделы инициализации и завершения являются необязательными. Как и файл проекта, в конце файла блока должно стоять зарезервированное слово end с последующей точкой. Ниже приведен общий синтаксис файла блока: unit Unit1; interface uses {содержит список использованных блоков} const {содержит общедоступные константы} type {содержит общедоступные типы} var {содержит общедоступные переменные} {содержит оставшуюся часть раздела интерфейса} implementation uses {содержит список использованных блоков} const {содержит приватные константы} type {содержит приватные типы} var {содержит приватные переменные} { содержит оставшуюся часть раздела реализации} initialization {содержит раздел инициализации} finalization {содержит раздел завершения} end. Раздел интерфейса начинается с зарезервированного слова "interface" и продолжается до начала раздела реализации. Раздел интерфейса объявляет константы, типы данных, переменные и стандартные программы, доступные для клиентов (других блоков или программ), использующих блок, в котором они объявлены. Таким образом, любой объект, присутствующий в разделе интерфейса, является общедоступным, т.к. клиент может получить к нему доступ, как если бы данный объект был объявлен в самом клиенте. Раздел реализации начинается с зарезервированного слова "implementation" и продолжается до начала раздела инициализации (если таковой имеется) или до конца блока. Раздел реализации объявляет константы, типы данных, переменные и стандартные программы, относящиеся только к данному блоку, т.е. все эти объекты являются приватными и недоступными для клиентов. Объявление процедуры или функции в разделе интерфейса включает в себя только заголовок стандартной программы. Блок, содержащий саму стандартную программу, находится в разделе реализации. Таким образом, объявления процедур или функций в разделе интерфейса рассматриваются как предварительные объявления. Разделы интерфейса и реализации могут содержать собственные операторы uses, которые должны располагаться непосредственно после заголовков разделов (зарезервированных слов "interface" и "implementation"). Оператор uses задает используемые блоки. Блок System используется автоматически каждым Delphi-приложением и не может быть явно задан в операторе uses. Блок System реализует стандартные программы для ввода и вывода файлов, обработки строк, операций с плавающей точкой, динамического распределения памяти и т.д. Другие блоки библиотеки стандартных программ, такие как SysUtils, должны быть включены в оператор uses. В большинстве случаев, Delphi устанавливает все необходимые блоки в оператор uses clause во время генерации и обслуживания исходного файла. Имена блоков должны быть уникальными в пределах одного проекта. Даже если файлы блоков находятся в различных каталогах, в пределах одной программы нельзя использовать два разных блока с одинаковыми именами. Теперь, когда вы уже знакомы с назначением и организацией типов файлов в Delphi, пора перейти к элементам программирования, т.е. к элементам, общим для большинства языков высокого уровня. VB имеет два отдельных оператора комментария, оператор примечания (Rem) и апостроф ('). VB-компилятор всегда игнорирует оба эти оператора. В Object Pascal, комментарии также игнорируются компилятором, за исключением случаев, когда они выполняют функцию разделителей (разграничивающих смежные маркеры) или директив компилятора. Существует три способа построения комментариев: {Текст между открывающей и закрывающей круглыми скобками является комментарием} (* Текст между открывающей круглой скобкой с последующим символом ‘*’ и ‘*’ с последующей закрывающей круглой скобкой является комментарием *) // Любой текст между двойной косой чертой и концом строки представляет собой комментарий Комментарий, содержащий символ доллара ($) сразу же после открывающей скобки { или (* является директивой компилятора. Директивы компилятора представляют собой неисполняемые операторы в коде, изменяющие опции компилятора. Например, {$WARNINGS OFF} сообщает компилятору Object Pascal, что он не должен генерировать предупреждающие сообщения. В VB, оператор Option означает директиву компилятора. В VB, оператор завершается в конце строки, если только не был установлен символ продолжения строки (символ подчеркивания), указывающий на продолжение оператора на следующей строке. Object Pascal не требует установки символа продолжения строки; т.е. оператор может располагаться на нескольких строках. Символ точка с запятой (;) является разделителем и ограничителем оператора; он отделяет один оператор от другого. Идентификатор в Object Pascal обозначает константу, переменную, поле, тип данных, свойство, процедуру, функцию, программу, блок, библиотеку или пакет. Идентификатор может иметь любую длину, но только первые 255 символов являются значимыми. Первым символом идентификатора должна быть буква или символ подчеркивания. За ним может следовать любое количество букв, цифр и символов подчеркивания. Идентификаторы не могут содержать пробелы, а зарезервированные слова не могут использоваться в качестве идентификаторов. Object Pascal не учитывает регистр; это означает, например, что идентификатор с именем FindItem может быть записан различными способами, как finditem, findItem, Finditem, или FINDITEM. Тип данных задает, какой вид данных может содержать переменная. Встроенные типы данных для Object Pascal приведены в Таблице 1. В таблице представлен диапазон достоверных значений для каждого типа данных и требуемый для них объем памяти. Помните, что указанные типы данных применимы только для Windows-версии Delphi; Linux-версия не содержит тип данных Variant, он относится только к Windows. Логические и численные типы данных Таблица 1. Типы данных Object Pascal
Символьные и строковые типы данных
Константа представляет собой именованный элемент, сохраняющий постоянное значение в течение выполнения программы. Она может быть определена любым математическим или строковым выражением. Во время компиляции, компилятор просто заменяет имя константы связанным с ней значением. Численные константы представляют число или числовой литерал, а строковые константы представляют строковый литерал. Число 7, например, является численной константой, а 'days per week' - строковой константой. В Object Pascal, для определения констант используется оператор const. Как и аналогичный VB-оператор, оператор const может декларировать группу констант. Ниже представлена общая форма данного оператора: Const constantName = Expression; [constantName = Expression;] В вышеприведенном общем синтаксисе, квадратные скобки ([…]) используются для обозначения необязательных элементов, которые могут устанавливаться любое количество раз. Например, ниже приведен фрагмент кода, определяющий три константы: Const MINS_PER_HR = 60; HRS_PER_DAY = 24; DAYS_PER_WK = 7; В VB, эти же константы будут определяться с использованием следующего оператора: Const MINS_PER_HR = 60, HRS_PER_DAY = 24, _DAYS_PER_WK = 7 Переменная представляет собой именованную ячейку памяти, в которой хранятся значения. Эти значения могут изменяться в процессе выполнения программы. VB использует для объявления переменных оператор Dim (размерность), а Object Pascal использует оператор var. Ниже приведен общий синтаксис оператора var: var variableName[, variableName]: DataType; [variableName[, variableName]: DataType;] где DataType представляет заранее заданный или определенный пользователем тип данных. Рассмотрим в качестве примера следующие объявления VB-переменных: Dim dollars As Integer, cents As Integer Dim cost As Double Dim myMessage As String В Delphi объявления аналогичных переменных будут иметь вид: Var dollars: Integer; cents: Integer; cost: Real; myMessage: String; В VB, знак равенства (=) представляет перегруженный оператор; он функционирует как оператор присваивания и как знак операции сравнения, обозначающий равенство. Однако в Object Pascal, знак равенства является только знаком операции сравнения, обозначающим равенство; он всегда сравнивает содержимое переменных для определения равенства. Оператор присваивания в Object Pascal представляет собой комбинацию из двух символов, двоеточия (:) с последующим знаком равенства (=), или :=. Давайте рассмотрим фрагмент VB-кода: Dim value1 As Integer, value2 As Integer Dim check As Boolean value1 = 5 value2 = 7 check = (value1 = value2) В данном фрагменте, value1 и value2 присваиваются два разных значения, 5 и 7 соответственно. Значение булевой переменной присваивается, исходя из того, равны ли значения value1 и value2. В данном случае, переменной check присваивается значение False, т.к. значения двух указанных переменных не равны. Эквивалентный код в Object Pascal будет выглядеть следующим образом: var value1: Integer; value2: Integer; check: Boolean; begin value1 := 5; value2 := 7; check := (value1 = value2); end; Арифметические и реляционные операторы в Object Pascal представлены в двух таблицах. В Таблице 2 приведены арифметические операторы, а в Таблице 3 - операторы отношения. Операторы отношения в Object Pascal и VB одинаковы. Арифметические операторы также одинаковы, за исключением целочисленного деления, деления по модулю и возведения в степень. В Object Pascal, целочисленное деление, деление по модулю имеют встроенные операторы, а возведение в степень такового не имеет. Для выполнения операции возведения в степень программист должен вызвать функцию из math-библиотеки. Таблица 2. Арифметические операторы Object Pascal
Таблица 3. Операторы отношения Object Pascal
К логическим операторам в Object Pascal относятся and, or, not и xor. По умолчанию, Object Pascal выполняет укороченные вычисления and- и or-операций. Это означает, что он вычисляет только такую часть выражения, которая необходима для определения конечного значения. Для выполнения полного вычисления данных выражений, выберите Project/Options… и щелкните мышью по закладке Compiler. Затем щелкните мышью по "Complete boolean eval" во фрейме Syntax options. Или же, вставьте в свой код директиву компилятора {$B+}. Как и в VB, единственной строковой операцией в Delphi является конкатенация строк (которая связывает строки вместе). VB поддерживает два различных, но взаимозаменяемых, оператора, выполняющих конкатенацию строк, амперсанд (&) и знак плюс (+). В Object Pascal, для конкатенации строк используется только знак плюс (+). Таким образом, знак плюс (+) является перегруженным оператором в Object Pascal; он используется для обозначения знака, сложения и конкатенации строк. При разговоре о строковых операциях следует упомянуть еще об одном различии между VB и Object Pascal, касающемся символа разделителя строк. В VB, для разделения строк используются двойные кавычки ("), а в Object Pascal используются одинарные кавычки ('). Ниже приведен пример строки кода, в которой использованы строки и оператор конкатенации строк: myName := 'Mitchell' + ' ' + 'Kerman'; Эта строка кода эквивалентна следующей: myName := 'Mitchell Kerman'; Ссылки по теме
|
|