МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИИ Томский политехнический университет ____________________________________________________...
25 downloads
283 Views
311KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИИ Томский политехнический университет _______________________________________________________
УТВЕРЖДАЮ Декан АВТФ ________________ Мельников Ю.С. “__” ______2002 г.
ЭЛЕМЕНТЫ СРЕДЫ РАЗРАБОТКИ DELPHI Методические указания к лабораторной работе № 128 по курсу “Программирование и основы алгоритмизации” для студентов направления 550200 “Автоматизация и управление”
Томск - 2002
УДК 681.3 Элементы cреды разработки Delphi. Методические указания к лабораторной работе № 128 по курсу “Программирование и основы алгоритмизации ” для студентов направления 550200 “Автоматизация и управление
Составитель Н.М. Семёнов Рецензент к.т.н., доцент Е.И. Громаков
Методические указания рассмотрены и рекомендованы методическим семинаром кафедры интегрированных компьютерных систем управления “___” ___________ 2002 г. Зав. кафедрой
А.М. Малышенко
ОГЛАВЛЕНИЕ 1 Вход в Delphi ..................... .................................................................. 4 2 Основные элементы интерфейса Delphi .............................................. 4 2.1 Основное окно ........................................................................ 5 2.2 Окно дизайнера форм ............................................................. 6 2.3 Окно инспектора объекта ........................................................ 7 2.4 Окно редактора кода ................................................................ 8 2.5 Менеджер проектов ................................................................. 9 3 Выход из Delphi ..................................................................................... 9 4 Контрольные вопросы ....................................................................... 10 5 Создание первого проекта.................................................................. 10 5.1 Программа BLANK ............................................................. 11 5.2 Сохранение нового проекта .................................................. 11 5.3 Файлы проекта ........................................................................ 11 5.4 Объектные и исполнимые файлы ........................................ 13 5.5 Свойства программы BLANK ................................................ 14 5.6 Запуск программы BLANK .................................................... 15 5.7 Изменение свойств формы .................................................... 16 5.8 Вложенные свойства .............................................................. 16 5.9 Размещение компонентов на форме: пример HELLO ........ 17 5.10 Реорганизация и удаление компонентов... ........................... 18 5.11 Перемещение компонентов формы ...................................... 19 5.12 Выравнивание компонентов ................................................. 20 5.13 Изменение размеров компонента ....................................... 21 6 Дополнительные задания ...................................................................... 21 7 Литература ............................................................................................. 22
Элементы среды разработки Delphi Цель лабораторной работы состоит в знакомстве студентов с основными элементами среды Delphi, принципами её функционирования а также с технологией создания приложений. В процессе выполнения работы студенты узнают: - различные элементы интерфейса Delphi; - как использовать компоненты для быстрого создания программ под Windows; - как создавать формы Delphi; - как управлять компонентами, размещёнными на форме; - что такое свойства компонентов и как их можно менять во время разработки.
1 Вход в Delphi После запуска оболочки Windows на рабочем столе надо найти пиктограмму Delphi. Пиктограмма Delphi (рис. 1) - это кнопка для старта интегрированной среды
Рис. 1. Иконка Delphi. разработчика (Integrated Development Environment - IDE). IDE включает ряд окон и инструментальных средств, при помощи которых можно создавать прототип, проектировать, кодировать, транслировать, выполнять и отлаживать программы для Windows [1]. Причина, по которой среда называется “интегрированной”, заключается в том, что из неё не надо выходить в течение всего цикла реализации. Все эти задачи могут выполняться прямо из IDE. Чтобы запустить среду разработки Delphi, надо дважды щёлкнуть мышью на пиктограмме Delphi. После запуска Delphi впервые на дисплее будет видно что-то похожее на рис.2.
2 Основные элементы интерфейса Delphi Интегрированная среда состоит из следующих элементов: - основное окно (Main) , - окно инспектора объекта (Object Inspector), - окно дизайнера форм (Form Designer), - окно редактора кода (Code Editor), - диспетчер проекта (Project Manager), - окно списка наблюдений (Watch List), - окно стека вызовов (Call Stack), - список контрольных точек (Breakpoint List), - просмотрщик объектов (Object Browser) и др. Не все эти элементы видны сразу после запуска Delphi. Наиболее часто используемые элементы: инспектор объекта, дизайнер форм, редактор кода, диспетчер проекта.
4
Рис.2. Интегрированная среда разработчика Delphi (IDE). 2.1 Основное окно Основное окно помещено наверху экрана. Минимизация основного окна минимизирует все другие зависимые окна среды Delphi. На рис.3 изображено основное окно Delphi в конфигурации по умолчанию.
Рис. 3. Основное окно Delphi. Основное окно содержит строку меню, линейку инструментов и палитру компонентов. Слева под меню Delphi находится линейка инструментов. Она содержит кнопки быстрого доступа (быстрые кнопки). Чтобы выполнить какую-либо команду, надо нажать кнопку быстрого доступа мышью (например, для того, чтобы дать указание Delphi открыть файл или скопировать некоторый выбранный текст в буфер обмена). Кнопка быстрого доступа выглядит как маленькая кнопка с каким-то изображением. Это удобное сокращение для доступа к часто используемым командам. Все действия, которые могут выполняться при помощи кнопки быстрого доступа, также могут быть выполнены через меню программы. Кнопки быстрого доступа просто дают более быстрый доступ к этим действиям. Серая область, на которой располагаются все кнопки быстрого доступа, называется линейкой инструментов. Линейку инструментов можно настраивать и изменять её размеры. Для того, чтобы открыть редактор линейки инструментов, надо щёлкнуть правой кнопкой мыши в области линейки инструментов и выбрать из 5
выпавшего меню опцию «Настроить» (Configure). Это позволит настраивать содержимое линейки инструментов, перемещая в неё и из неё кнопки быстрого доступа. Справа от линейки инструментов находится серое поле с пиктограммами, которое называется палитрой компонентов. При визуальном формировании программы надо выбрать пиктограмму, которая представляет определённый компонент в палитре, и поместить её в форму. Форма отображается как отдельное окно ниже палитры компонентов. Палитра состоит из нескольких страниц компонентов, помеченных как Standard (стандартные), Additional (дополнительные), System (системные), Dialogs (диалоги) и т.д. Можно “пролистывать” страницы, нажимая мышью на одну из меток вверху строки пиктограмм компонентов. 2.2 Окно дизайнера форм Дизайнер форм - это пустое серое окно, озаглавленное Form1, покрытое регулярно размещёнными точками. После запуска Delphi первый раз ниже палитры компонентов появляется дизайнер форм (Form Designer). Рис.4 показывает начальный внешний вид дизайнера форм. Заголовок окна дизайнера форм, Form1, является стандартным заголовком новой формы, который Delphi автоматически создаёт всякий раз, когда запрошен новый проект. Форма - это термин, используемый для описания окна программы - области дисплея, где могут быть размещены различные компоненты интерфейса пользователя, например, кнопки, метки, поля редактирования... Форма является каркасом, на котором размещаются компоненты, и обеспечивает их взаимодействие. Фактически каждая программа Delphi состоит, по крайней мере, из одной формы. Дизайнер форм - это место, где осуществляется визуальное программирование. Программа создаётся посредством размещения на форме компонентов, выбранных из палитры. Позднее к компонентам можно присоединить некоторый код (текст программы), чтобы позволить этим компонентам взаимодействовать друг с другом. Визуальное проектирование заметно ускоряет весь процесс разработки. Термин “визуальное программирование” используется как раз для того, чтобы описать такой способ разработки программ. Размеры окна дизайнера форм можно изменять подобно любому другому стандартному окну Windows, перемещая рамку мышью. Установленные во время разработки размеры отразятся в конечной программе после её запуска. Это означает, что установленные во время разработки размеры формы определяют размер формы во время выполнения программы. Даже простейшая пустая форма имеет ряд свойств, которые могут изменяться. Устанавливая значения этих свойств, можно настраивать вид формы и её поведение. Свойство - атрибут данных компонента. Можно думать о свойстве как о ячейке, содержащей единственное значение. Например, свойство Width (ширина) каждой формы содержит горизонтальный размер формы в пикселах. Можно устанавливать текущее значение свойства, если оно устраивает пользователя, или изменять его. Менять значение свойства можно как во время разработки новой формы, так и во время выполнения программы. Установка значений свойств во время разработки даёт им начальные значения.
6
Рис.4. Незаполненное окно дизайнера форм. 2.3 Окно инспектора объекта Инспектор объекта (Object Inspector) отображает своё окно по левому краю экрана. На рис.5 показано типовое окно инспектора объекта.
Рис.5. Окно инспектора объекта. Внутри инспектора объекта находятся таблицы, расположенные на двух страницах. Между страницами можно переключаться, нажимая на одну из меток
7
вблизи крайней верхней части окна. Эти метки названы «Свойства» (Properties) и «События» (Events). Вообще инспектор объекта тесно связан с дизайнером форм. Управляющие элементы выбираются из окна дизайнера форм, а их свойства контролируются инспектором объекта. Управляющий элемент - это визуальный компонент, который может быть помещён в форму, и, как правило, видим во время выполнения. Стандартные управляющие элементы Windows включают метки (статический текст), окошки редактирования, кнопки, контрольные индикаторы, радиокнопки, окошки списка, комбинированные окошки и линейки прокрутки. Страница «События» показывает список событий, которые могли бы быть связаны с некоторым расположенным на форме объектом. Страница свойств инспектора объекта содержит таблицу, состоящую из двух колонок с названием свойства в левой колонке и его значением в правой. Некоторые из этих значений первоначально могут оказаться пустыми. Каждый ряд этой таблицы представляет одно свойство компоненты, выбранной в данное время в дизайнере форм. Если форма незаполнена, то единственные видимые в инспекторе объекта свойства это непосредственно свойства формы. Можно получить детальную информацию по любому свойству, перечисленному в инспекторе объекта, выбирая это свойство мышью и затем нажимая F1. Delphi выведет страницу интерактивной справки конкретно по указанному свойству. Наверху окна инспектора объекта имеется выпадающий список компонентов. Чтобы показать его выпадающую часть, надо нажать стрелку справа от списка. После первоначального запуска Delphi при незаполненной форме в список внесена только сама форма (Form1). Никакие другие компоненты в форме пока ещё не присутствуют. 2.4 Окно редактора кода Наряду с визуальным проектированием интерфейса пользователя программы (формы) обычно разрабатывается код, лежащий в основе программы. Язык программирования, на котором основана Delphi, называется Object Pascal. Код пишется текстовым редактором. В принципе, не требуется, чтобы использовался какой-то определённый текстовый редактор. Можно использовать даже стандартный для Windows редактор Notepad (блокнот)! Однако, интегрированный редактор, который предоставляет Delphi, отлично подходит для этой цели благодаря интеграции с другими элементами среды Delphi. Интегрированный редактор кода - это ещё и отладчик, позволяющий шаг за шагом проверять исходный код программы, изучать значения переменных и свойств во время выполнения, устанавливать контрольные точки и т.д. Когда создаётся новый проект или Delphi запускается в первый раз, в окне редактора кода создаётся новый исходный файл Object Pascal. Этот исходный файл является модулем Object Pascal с именем по умолчанию unit1. Программы Object Pascal обычно построены из большого количества модулей. Многие модули, необходимые для создания программ, уже существуют в Delphi. Они называются стандартными, или встроенными, модулями и включают в себя Forms, Windows, SysUtils, Messages, Classes и другие. 2.5 Менеджер проектов
8
Чтобы открыть окно менеджера проектов, надо выбрать «Менеджер проектов» из окна «Вид» главного меню Delphi. Появится список элементов проекта, активного в настоящее время. Эти элементы - модули и формы, соответствующие некоторым из этих модулей. В Delphi можно иметь только один открытый проект, но проект может содержать большое количество модулей и форм. На рис.6 показан менеджер проектов с открытым проектом, который включает в себя единственный модуль Object Pascal и соответствующую ему форму. Двойной щелчок мышью по модулю Unit1 открывает этот модуль в редакторе кода. Двойной щелчок по форме Form1 открывает соответствующую форму для визуального проектирования.
Рис.6. Окно менеджера проектов. Форма Delphi всегда имеет соответствующий модуль Object Pascal, который её поддерживает. С другой стороны, исходный код паскалевского модуля не должен быть обязательно связан с какой - либо определённой формой; он может обеспечивать услуги, которые являются потенциально доступными и используются всеми формами. Остальные элементы интегрированной среды разработчика (IDE) рекомендуется изучать в процессе непосредственной работы с Delphi.
3 Выход из Delphi Для того, чтобы выйти из Delphi, даже если имеется множество зависимых открытых окон, надо просто выбрать «Выход» (Exit) из меню «Файл» (File) главного окна Delphi (оно находится вверху экрана вместе с кнопками быстрого доступа и палитрой компонентов). При попытке выйти из Delphi после каких - либо изменений в проекте всегда задаётся вопрос, надо ли сохранить проект. На этот вопрос нельзя отвечать механически, не думая. Нужно быть внимательным. Это последняя возможность сохранить проект, который был модифицирован. Можно специально не хотеть сохранить проект. Это означает, что пользователь хочет вернуться к последней сохранённой на диске версии.
4 Контрольные вопросы 9
Прежде, чем приступить к созданию первого проекта, ответьте на контрольные вопросы: 1. Что такое IDE? 2. Как запустить Delphi? 3. Что такое кнопка быстрого доступа? 4. Что такое линейка инструментов? 5. Что такое палитра компонентов? 6. Как выбрать нужную страницу палитры компонентов? 7. Как можно настроить линейку инструментов? 8. Что такое дизайнер форм? 9. Что такое свойство? 10. Чем отличается дизайнер форм от формы? 11. Что такое инспектор объекта? 12. Как получить доступ к свойствам, расположенным на странице «События» (Events)? 13. Для чего нужно окно редактора кода? 14. Как открыть окно менеджера проектов? 15. Сколько одновременно открытых проектов может иметь Delphi?
5 Создание первого проекта Теперь вы готовы создать первый программный проект в Delphi. Будет создана простейшая программа Windows, показанная на рис.7: пустое окно. Программа BLANK - хорошее приложение Windows, с основным окном, способным изменять размеры, перемещаться по экрану, минимизироваться, максимизироваться и т.д. Вы также увидите, насколько просто изменять некоторые свойства визуального внешнего вида незаполненного окна, например, цвета или заголовка, отображаемого в строке заголовка, - всё без написания какого-либо кода вообще!
Рис.7. Окно программы BLANK. Другими словами, основное окно программы BLANK уже имеет все фундаментальные возможности окна, которые вы ожидаете от любой хорошей программы Windows, без написания хотя бы одной строки исходного текста. Вас поразит, что создание той же самой программы в ранние дни программирования Windows требовало не менее чем от нескольких сотен до тысячи строк кода Си. Даже теперь очень немногие среды разработки могут обеспечивать такие функциональные возможности, как Delphi!
10
5.1 Программа BLANK Самое первое, что вы должны сделать, когда начинается новый программный проект - это создать новый проект Delphi. Следуйте этим инструкциям: Выполните команду Файл/ Создать/ Приложение. Вы увидите некоторую активизацию диска и дисплея, и на экране появится незаполненная форма Form1 внутри окна дизайнера форм. В окне редактора кода можно увидеть сгенерированный модуль unit1 исходного текста Object Pascal, который прилагается к форме. 5.2 Сохранение нового проекта Прежде всего надо задать для нового проекта исходную директорию, сохраняя его, чтобы среда Delphi знала, где содержать файлы, которые она сгенерирует позже. Чтобы сохранить проект в личной директории, выберите «Сохранить все» из меню «Файл». В этот момент Delphi открывает диалоговое окно «Файл» и запрашивает имя модуля Object Pascal формы и предлагает выбрать диск и директорию, где будет храниться модуль формы и сама форма. По умолчанию имя для формы - Form1, а имя для соответствующего ей модуля unit1. Эти имена устанавливает Delphi при создании нового проекта. Можно, однако, изменять любое имя по собственному вкусу. После команды «Файл/ Сохранить все» появляется диалоговое окно «Сохранить Unit1 Как», предоставляя вам возможность дать имя модулю формы. Измените имя модуля unit1 на какое – нибудь более информативное. Мы назовём файл этой формы FRMBLANK. Поэтому введите FRMBLANK (расширение .PAS не обязательно; оно будет добавлено автоматически) в окошке «Имя файла» (File Name) диалогового окна «Сохранить Unit1 Как», как показано на рис.8. В поле «Папка» установите личную директорию. После наименования файла модуля формы, когда будет нажата кнопка «Сохранить» диалогового окна, вас снова просят дать имя файлу самого проекта. Введите BLANK (без расширения) или BLANK.DPR в окошко «Имя файла» (File Name) диалогового окна «Сохранить Project1 Как», которое появится вслед за предыдущим, как показано на рис.9. 5.3 Файлы проекта При сохранении нового проекта Delphi создаёт ряд файлов. Рассмотрим список наиболее важных файлов: 1) Основной файл проекта.
11
Рис. 8 Сохранение нового модуля формы.
Рис.9. Сохранение нового проекта. Этот файл имеет расширение .DPR (от Delphi PRoject - проект Delphi). Это основной для проекта модуль исходного текста Object Pascal. Имеется только один DPR - файл для каждого проекта Delphi. Этот файл, кроме всего прочего, перечисляет имена других файлов, составляющих проект. 2) Файл формы. Файл формы имеет расширение .DFM (от Delphi ForM- форма Delphi). Это двоичные файлы ресурсов, содержащие определение визуальных форм, которые были созданы в 12
дизайнере форм. В проекте Delphi может быть много форм, и каждая форма имеет собственный DFM - файл (и файл .PAS соответствующего модуля; см. далее). 3) Файл модуля Паскаля. Этот файл имеет расширение .PAS и содержит код Object Pascal для соответствующей формы или для автономного модуля кода. По умолчанию в проекте имеется только один такой файл: модуль основной формы. Он обеспечивает поддержку основной формы. По мере развития проекта добавляются другие PAS - файлы, соответствующие формам или самостоятельные. 4) Файлы настройки. Для проекта создаются также три вспомогательных текстовых файла, в которых сохраняются параметры настройки компилятора (.cfg), проекта (.dof) и среды (.dsk). После сохранения заново сгенерированного проекта можно проверить содержание директории проекта, чтобы убедиться, действительно ли существуют все указанные файлы. Изменяйте имена проекта по умолчанию (project1.dpr) и файлов формы (unit1.dfm/unit1.pas) на что-нибудь более информативное. Никогда не используйте имена по умолчанию Project1 и Unit1 в качестве имён файлов проекта. После того, как вы накопите несколько таких Unit1 в различных директориях, будет очень тяжело вспомнить, что там находится. Не меняйте одно загадочное имя, вроде Unit1, на не менее загадочное имя, например, MyUnit. Используйте имена, имеющие значение - чтонибудь подсказывающее вам, что находится в файле. 5.4 Объектные и исполнимые файлы Процесс создания Delphi-приложения включает три следующих шага: 1) Создание элементов визуального интерфейса, в частности, основной формы программы. 2) Написание поддерживающего кода Object Pascal, чтобы выполнить необходимые для формы действия. 3) Компиляция исходного кода Object Pascal и ресурсов формы в исполнимый файл .EXE, который может запускаться в Windows как отдельная программа. Эти шаги пользователь интерактивно выполняет много раз в течение построения проекта. В течение первых двух шагов создаются файлы с расширениями *.PAS, *.DFM и *.DPR. Третий шаг вводит некоторые новые файлы: 1) Откомпилированные файлы модуля. Эти файлы имеют расширение .DCU (Delphi Compiled Units - откомпилированные модули Delphi) и содержат объектный код соответствующего (.PAS) файла модуля. Компилятор Delphi создаёт их, когда пользователь выдаёт одну из команд «Выполнить» (Run), «Компилировать» (Compile) или «Построить» (Build All) из меню «Выполнить» и «Проект». Система Delphi использует эти файлы .DCU, когда создаёт заключительную исполнимую программу (в фазе, называемой связывание или компоновка). 2) Откомпилировнные программные файлы. Эти файлы имеют расширение .EXE. Это автономные, откомпилированные программы Windows, которые могут запускаться из «Проводника» или утилиты «Мой компьютер». Создание этих файлов конечная цель цикла разработки. Это, собственно, и есть программы Windows, которые вы хотите создавать. 3) Откомпилированные файлы динамических библиотек. Это - второй тип конечного исполняемого файла, который может создавать Delphi. Расширение по умолчанию для файла этого типа - .DLL (Dynamic Link Library). Это 13
откомпилированные модули Windows, которые могут использоваться одновременно многими программами Windows. Рис.10 иллюстрирует различные файлы, которые обычно являются частью проекта Delphi, и их связь между собой. PAS
DFM DPR
DCU
EXE или DLL Рис. 10. Файлы Delphi и их взаимодействие. 5.5 Свойства программы BLANK Пока создана только основная форма программы BLANK. Однако заголовок (название) формы всё ещё Form1. Это заголовок формы, соответствующий свойству Caption (заголовок). Внутри кода Object Pascal происходит обращение к форме по имени, соответствующему свойству Name (имя). Для того, чтобы изменить Name и Сaption формы, надо сделать следующие шаги: Щёлкните в окне дизайнера форм, чтобы выбрать его. Имя выбранного компонента в окне инспектора объекта должно быть уже Form1, потому что на форме нет никаких других компонентов. Найдите свойство Name выбранной формы в списке свойств, которые показывает инспектор объекта. Вам, возможно, нужно использовать линейку прокрутки инспектора объекта, чтобы добраться до свойства Name. Нажмите на свойство Name в левой колонке инспектора объекта, где показано имя свойства. Свойство делается выбранным, и соответствующее ему значение (в настоящее время Form1) высвечивается в правой колонке инспектора объекта. Теперь можно его редактировать: Наберите новое значение свойства Name в поле окошка редактирования свойства (справа). Напечатайте FormBlank и нажмите клавишу Enter. Заметьте, как заголовок формы в дизайнере формы немедленно изменяется, чтобы отразить новое имя (FormBlank). Это, однако, не то, что мы хотим видеть в качестве заголовка формы. Мы хотим, чтобы заголовок был просто BLANK. Свойство формы, которое вы изменили в предыдущем шаге, Name, является логическим именем, которое вы будете использовать, чтобы обращаться к форме в вашем коде Object Pascal. Имеется отдельное свойство, Caption, которое позволяет изменять текст заголовка независимо от логического имени формы.
14
Теперь изменим свойство формы Caption. Сделайте следующие шаги: Найдите свойство Caption в инспекторе объекта (помните, свойства внесены в список в алфавитном порядке). Нажмите на колонку свойств, чтобы активировать редактор свойства Caption. Введите новый заголовок в колонке значения свойства. Наберите BLANK, и нажмите клавишу Enter. Заметьте, как немедленно изменился заголовок на форме. Не забудьте теперь сохранить проект (Файл/ Сохранить все) так, чтобы вы не потеряли эти изменения при какой - нибудь ошибке, когда запустите программу. 5.6 Запуск программы BLANK Чтобы запустить программу BLANK, выберите «Выполнить» (Run) из меню «Выполнить». Что происходит, когда вы даёте команду «Выполнить»? Система Delphi транслирует исходный код, составляя ваш проект в пригодные для компоновки двоичные объектные файлы (.DCU), и затем объединяет их вместе, чтобы сформировать заключительный исполнимый (.EXE) файл. Наконец, так как вы запросили Run, Delphi немедленно запускает вашу программу. Всё это было выполнено в течение интервала между выбором «Выполнить» из меню и появлением вашей программы BLANK. Заметьте, что окно инспектора объекта исчезает перед тем, как появляется форма BLANK, когда вы запускаете программу. Delphi входит в исполняющий режим, в то время как ваша программа активна (в заголовке главного окна Delphi появляется слово “running”). В течение тестового прогона программы Delphi инспектор объекта обычно недоступен. Однако вы можете сделать паузу в выполнении или временный останов программы, устанавливая контрольную точку в исходном коде внутри редактора кода. Тогда, приостановив программу, вы можете исследовать значения свойств и переменных и использовать другие встроенные средства отладки, которые обеспечивает Delphi. В то время как программа BLANK работает, вы можете захотеть проверить, что она действительно ведёт себя так, как вы ожидаете. Измените размер окна: минимизируйте его до пиктограммы, а затем восстановите. Попробуйте максимизировать его. Наконец, используйте команду «Закрыть» (Close) из системного меню или два раза нажмите на левый верхний угол, чтобы завершить программу и вернуть Delphi в режим проектирования. 5.7 Изменение свойств формы Изменим фоновый цвет формы BLANK. Удостоверьтесь, что программа BLANK в данный момент не запущена (Delphi должна быть в режиме проекта), окно инспектора объекта открыто и выбрано свойство формы FormBlank (в выпадающем списке компонентов в строке на белом фоне вверху окна). Найдите свойство Color в инспекторе объекта.
15
Обратите внимание, что текущее значение этого свойства установлено в clBtnFace. Нажмите имя свойства и обратите внимание на небольшую кнопку со стрелкой, которая появляется с правого края рабочей строки. Когда вы нажмёте кнопку со стрелкой, появляется список возможных значений для свойства Color. Вы можете выбрать из списка зарезервированных значений нужный цвет. Попробуйте это сделать и заметьте, что как только вы выберите нужное значение, это приведёт на форме к визуальному эффекту. Установленное значение свойства не только воздействует на внешний вид программы во время выполнения, но может немедленно приводить к изменению внешнего вида даже в режиме проекта. Это лучшая черта визуального программирования. Другой важный момент, на который стоит обратить внимание, что в дополнение к способности выбирать цвет из выпадающего списка зарезервированных значений, вы можете использовать специализированный редактор свойств и изменить цветовую характеристику формы оттуда. Для этого дважды нажмите значение свойства Color (правая сторона) в инспекторе объекта. Вызовется стандартное диалоговое окно Windows «Цвет» (Color) как редактор свойства. Поэкспериментируйте. Попробуйте различные значения для свойства Color. Измените значения других свойств. Посмотрите, как они взаимодействуют с формой и во время разработки, и когда вы запускаете программу. В общем случае кнопка с тремя точками, следующая за значением свойства, даёт вам доступ к редактору свойства, установленному специально для данного свойства. Значения различных свойств, которые вы присваиваете во время разработки, являются начальными значениями этих свойств, когда вы запускаете программу. 5.8 Вложенные свойства Свойство Font - пример так называемого вложенного свойства. Обратите внимание на маленький знак ”плюс” рядом с именем свойства (+Font). Если вы дважды нажимаете имя свойства, свойство Font раскрывается (знак “плюс” превращается в знак “минус”) и отображает свойства более низкого уровня, или зависимые: Color, Height, Name, Size и Style. Обратите внимание, что свойство Style, принадлежащее свойству Font, тоже, в свою очередь, вложено (это можно видеть по знаку “плюс” перед ним). Когда вы дважды нажимаете на столбец имени свойства, свойство Style разворачивается, показывая следующий уровень подсвойств Font, которые определяют внешний вид шрифта. В данном случае подсвойства более низкого уровня состоят из коллекции флажков: fsBold, fsItalic, fsUnderLine и fsStrikeOut.
5.9 Размещение компонентов на форме: пример HELLO Расширим типовую программу BLANK так, чтобы она напечатала Hello world! внутри основной формы. Начнём с размещения нескольких компонентов на форме. Поместим метку и две кнопки на заново созданной форме: 16
Сначала создайте новый проект, выбирая «Файл/ Создать/ Приложение» (Delphi может запросить вас сохранить текущий проект). Снова Delphi создала пустую Form1 и unit1. Сохраните в другой личной директории новый проект под значимым именем, вроде HELLO. Выберите «Файл/ Сохранить все» и введите FRMHELLO в «Имя файла» (File Name) диалогового окна «Сохранить Unit1 Как». Нажмите кнопку «Сохранить», чтобы закрыть диалоговое окно. Наберите HELLO в окошке «Имя файла» диалогового окна «Сохранить Project1 Как» и снова нажмите кнопку «Сохранить». Измените свойство Name формы на FormHello. Измените свойство Caption формы на HELLO. Теперь нажмите метку Standard в палитре компонентов (основное окно Delphi), чтобы вызвать стандартную страницу компонентов, если она ещё не видима. Нажмите кнопку компонента Label (помечена литерой А). С выбранным компонентом Label нажмите мышь около левого края формы FORMHELLO. Копия компонента Label с текстом Label1 помещается в место, где вы нажали мышь. В то время как компонент Label1 всё ещё выбран ( вы можете узнать об этом по маленьким “квадратикам”, окружающим компонент на форме), измените его свойство Caption на Hello World! (Вы должны найти свойство Caption в списке свойств, показанных инспектором объекта). Обратите внимание, как компонент автоматически изменяет свои размеры на форме по мере набора нового текста. Из страницы Standrd палитры компонентов выберите компонент Button, помеченный символами “ОК”. Нажмите на форму ниже метки Hello World!, чтобы поместить там новую кнопку. Измените свойство кнопки Caption из Button1 на Close. Теперь используйте те же самые шаги, чтобы поместить в форму другую кнопку, рядом с кнопкой Close. Маркируйте её Unneeded (ненужная) при помощи свойства Caption. Не волнуйтесь: вы удалите эту кнопку из формы в одном из следующих шагов. Сохраните проект (Файл/ Сохранить все) и запустите программу (Выполнить/ Выполнить). Ваша программа должна отобразить окно, подобное тому, что на рис.11. Замечание. Когда вы пытаетесь сохранить проект при помощи команды «Файл/ Сохранить все», помните, что сначала надо дать имя модулю. Не называйте модуль формы так, как собираетесь называть весь проект! Если вы это сделаете, Delphi не позволит вам сохранить файл проекта под тем же именем, что и модуль формы. Вы увидите сообщение, что в проекте модуль с таким именем уже существует. Называйте модуль формы так, чтобы имя описывало саму форму. Проект называйте более общим именем, отражающим цель всего проекта. Замечание. О расположении многочисленных компонентов. Если вам необходимо расположить на форме больше одного компонента одного и того же вида, вместо того, чтобы щёлкать туда и обратно между палитрой компонентов и
17
формой, выберите компонент из палитры компонентов в “приклеенном” режиме следующим образом: нажмите компонент в палитре, держа нажатой клавишу Shift. Теперь вы можете последовательно нажимать на форму несколько раз, последовательно располагая один компонент за другим. Компонент остаётся выбранным , пока вы явно не выберите какой-нибудь другой компонент.
Рис.11. Начальный внешний вид программы HELLO. 5.10 Реорганизация и удаление компонентов Улучшим внешний вид программы HELLO. Завершите пробный прогон программы. Выберите на форме кнопку Unneeded, нажимая на неё мышью. Вы должны увидеть чёрные квадратные петельки в каждом углу и на каждом крае компонента. Они сообщают вам, что компонент выбран. Нажмите клавишу Delete. Теперь компонент удалён! 5.11 Перемещение компонентов формы Вы, вероятно, не вполне эстетически удовлетворены случайным размещением компонентов на форме HELLO. Непросто поместить компоненту точно с первого раза. Но этого и не требуется. Для большего визуального эффекта, возможно, вы хотели бы видеть и метку, и оставшуюся кнопку Close горизонтально центрированными внутри формы. Чтобы в интерактивном режиме перемещать компоненты по форме, делайте следующее: Выберите компонент, нажимая на него. Но не отпускайте левую кнопку мыши. Delphi рисует рамку вокруг компонента, который выбран. Всё ещё нажимая левую кнопку мыши, перемещайте указатель мыши по форме. Прямоугольная рамка, представляющая выбранный компонент, двигается вместе с мышью. Когда вы удовлетворены новым размещением компонента, отпустите левую кнопку мыши. Компонент укладывается на свою новую позицию. Попрактикуйтесь перемещать два компонента по форме, пока вы не будете удовлетворены результатом.
18
Замечание. Перемещение групп компонентов. Одновременно можно перемещать несколько компонентов. Выберите первый компонент из группы, которую надо переместить, нажав на него. Держите нажатой клавишу Shift, когда вы выбираете последующие компоненты. Таким образом вы можете выбрать любое количество компонентов. После того, как выбраны все нужные компоненты, клавишу Shift надо отпустить. Теперь нажмите на один из выбранных компонентов, но не отпускайте левую кнопку мыши. Теперь вы имеете возможность таскать всю группу компонентов как единое целое. Кроме того, вы будете видеть контур управляющих элементов этой группы по мере их перемещения. Таким образом вы можете оценить их новое местоположение, даже не отпуская левую кнопку. Чтобы отменить выбор компонентов, нажмите где-нибудь внутри формы, но не на какой-либо компонент выбранной группы. Иногда вы даже не можете поместить компонент правильно. Ваша рука дрожит, и компонент, кажется, всегда оказывается на пиксел сбоку от желаемой позиции. Имейте в виду, что вы можете помещать любой компонент в форму в специфическую позицию, непосредственно вводя атрибуты позиции: свойства Left и Top. Рис.12 иллюстрирует представление о координатах формы, и показывает возможный диапазон координат. Координаты с самым высоким значением, всё ещё видимые в форме - (ClientWidth-1, ClientHeight-1). Если для обоих свойств Left и Top вводится значение 0 (нуль), то выбранный компонент помещается в левом верхнем углу формы. Увеличение значения свойства Left перемещает компонент в горизонтальном направлении формы всё дальше и дальше вправо. Если значение Left превышает значение свойства ClientWidth самой формы, то компонент скроется за правым краем формы. Аналогично, увеличение значения свойства Top за пределы параметра ClientHeight переместит компонент за край нижней части формы.
Рис.12. Координаты формы.
19
Попробуйте теперь переместить кнопку Close в координаты Left=60 и Top=100. Не забудьте нажимать клавишу Enter каждый раз, когда вы вводите новое значение для какого-нибудь из этих свойств. Замечание. Существуют укороченные команды клавиатуры для перемещения компоненты в форме на несколько пикселов в любом направлении. Выбрав интересующий вас компонент (или группу компонентов), нажмите клавишу Ctrl и, не отпуская её, используйте клавиши стрелок, чтобы перемещать компонент в нужном направлении по пикселу. Попробуйте! 5.12 Выравнивание компонентов Возможность точно помещать компонент ещё не решает всех ваших проблем. Допустим, вы хотите, чтобы кнопка Close была центрирована внутри формы, около края нижней части. К счастью, не нужно выполнять утомительных вычислений положения кнопки, учитывая её ширину и ширину формы. Чтобы автоматически центрировать кнопку внутри формы. сделайте следующие шаги: Выберите кнопку Close на форме. Никакой другой компонент не должен быть выбран в это время. Выберите опцию «Выровнять» (Align) из меню «Правка» (Edit). Появляется диалоговое окно «Выравнивание» (Alignment). Последняя опция внутри группы «По горизонтали» (Horizontal), «По центру окна» (Center in window), - это то, что вам сейчас нужно. Поставьте радиокнопку последней опции в колонке «По горизонтали» (Horizontal) окна «Выравнивание» (Alignment) (слева): «По центру окна» (Center in window). Нажмите кнопку ОК, чтобы закрыть диалоговое окно. Кнопка Close внутри формы теперь центрирована. Следуйте тем же самым инструкциям, чтобы заодно горизонтально центрировать метку Hello World! 5.13 Изменение размеров компонента Когда вы помещаете новый компонент в форму, просто нажимая на позиции, где вы хотите его видеть, компонент принимает размеры по умолчанию, которые определяются свойствами Width и Height. Имеется несколько способов для корректирования размеров новых компонентов. Вы можете изменять размеры компонентов в процессе их размещения на форме. Не просто нажимайте на форму, чтобы поместить компонент, выбрав из палитры. Нажмите (но не отпускайте) левую кнопку мыши. Вы увидите рамку, при помощи которой можно изменять размер, пока вы держите левую кнопку мыши. Когда вы удовлетворены установленным размером компонента, отпустите кнопку мыши. Второй способ изменения размеров компонентов удобен, когда вы должны изменить размеры того, что уже помещено в форму. Нажмите на компонент, чтобы выбрать его. На каждом углу и по каждому краю компонента появляется набор
20
маленьких чёрных квадратов. Чёрные квадраты называются ручками установки размеров. Вы можете захватывать одну из этих ручек мышью (нажав и не отпуская левую кнопку мыши на ручке) и перемещать её, чтобы изменить размеры компонента. После того как вы отпускаете кнопку мыши, компонент перерисовывается с новым размером. Это очень похоже на изменение размеров окон. Замечание. Существуют укороченные команды клавиатуры для изменения размеров компонента, после того как он уже был помещён на форму, которые позволяют изменять размер в любом направлении по пикселу. Вы можете настраивать свойства компонентов Width и Height. Когда интересующий компонент (или группа компонентов) выбрана, нажмите клавишу Shift и, не отпуская её, используйте клавиши стрелок, чтобы изменить его размер в любом направлении. Попробуйте!
6 Дополнительные задания 1. Создать вариант программы HELLO, которая отображает своё сообщение Hello world! белым текстом, центрированным на форме с “морским синим” фоновым цветом (clBlue). 2. Создать другой вариант программы HELLO, которая отображает своё сообщение Hello world! в шрифте Arial в 18 пунктов, выведенным ярко-жёлтым текстом, центрированным на форме с тёмным красным фоном. 3. Создать программу, основное окно которой отображает пять строк окошек редактирования, помеченных First Name, Last Name, Street Address, City и Zip соответственно.
7 Литература 1. Возневич Э. Delphi. Освой самостоятельно. - М.: Восточная Книжная Компания, 1996. - 736 с. 2. Рубенкинг Н. Программирование в Delphi для “чайников”. - К.: Диалектика, 1996. - 304 с. 3. Фаронов В. Delphi 6: учебный курс. – СПб.: Питер, 2002. – 512 с.
21
ЭЛЕМЕНТЫ СРЕДЫ РАЗРАБОТКИ DELPHI Методические указания Составитель Николай Михайлович Семёнов
Подписано к печати Формат 60*84/16. Бумага писчая №2. Плоская печать. Усл. печ. л. . Уч. - изд. л. . Тираж экз. Заказ № . Бесплатно. Ротапринт ТПУ. 634034, Томск, пр. Ленина,30.
22