Уроки по Delphi


Часть урока для новичков


Здравствуйте. В этом уроке мы с вами немного расширим наши знания, напишем простую рабочую программу.

Запускаем для начала Delphi.

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

Как вы помните, проектируемая форма или окно, которое будет видеть пользователь при запуске программы на выполнение, по умолчанию называется Form1. Перед расположением на ней кнопок, давайте его назовем как-нибудь по-русски. Например: "Это моя программа!". Это можно сделать в инспекторе объектов (Object Inspector). Там отображаются свойства выбранных компонентов на форме. Поскольку на форме ничего пока нет, то выбранной считается сама форма Form1 (выбранный элемент можно увидеть в самом верху инспектора объектов в ниспадающем списке). Меняем заголовок проектируемой формы. Свойство Caption

на страничке свойств Properties. Пишем в редактируемом поле правее фразу заголовка. Во время ввода названия обратите внимание – набираемый текст немедленно в точности повторяется на форме. Об этом и говорилось в прошлом уроке. Мы с вами видим результат своей работы еще до запуска программы на выполнение.

Если во время работы вас стесняют размеры окон инспектора объектов, проектируемой формы, редактора кода или они наоборот, выглядят великовато, поменяйте их размеры, отпозиционируйте в удобное место.

Далее поместим на нашу проектируемую форму три стандартные кнопки. Выбираем на листообразной палитре компонентов компонент под названием Button одинарным щелчком мышки. Вот как от выглядит

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

Итак, мы щелкнули по этому компоненту и он остался нажатым. Теперь необходимо щелкнуть на нашей форме, где мы хотели бы эту кнопку оставить. Повторите эту операцию еще два раза, пока на форме не окажется три кнопки Button1, Button2, Button3. Попробуйте подвигать эти кнопки по форме при нажатой левой клавишей мышки. Установите их в произвольном порядке, но чтобы они не мешали друг другу.




Теперь назовем эти кнопки по их дальнейшему функциональному назначению. Щелкаем один раз (!) по кнопке Button1. Она оказывается выделенной. В инспекторе объектов моментально отображаются все доступные свойства для этой кнопки. Меняем название кнопки, как вы догадываетесь, тоже сменой свойства Caption. Пишем: "Свернуть". Далее выбираем кнопку Button2. Переименовываем ее в "Белая". Повторим операцию смены названия для третьей кнопки "Закрыть".

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



Теперь немного поработаем руками и головой.

Задействуем последний нетронутый нами элемент Delphi – редактор кода. Как можно догадываться, и как упоминалось в прошлом уроке, тут происходит ручной набор некого программного кода, именуемого языком программирования Object Pascal. Но не стоит сразу его пугаться. Это довольно несложный в изучении язык, тем более, что для его достижения, Delphi предоставляет прекрасные возможности. Минимум набора текста, дополнение кода, шаблоны кода, контекстный список параметров. Все это намного упрощает жизнь программисту.

Для начала рассмотрим поподробнее такое понятие, как реакции на события.

Реакция на события. Что же это такое? Не буду описывать всех тонкостей работы операционной системы Windows, расскажу лишь на пальцах. Допустим, вы запустили любую программу на выполнение. Сами того не зная, вы породили кучу событий, передаваемых этому приложению. Во первых до непосредственного создания любого окна в памяти, Windows посылает сообщение приложению: "окно сейчас будет создано". Или такие: "Окно сейчас будет активизировано", "Окно сейчас отобразится". Но на простом примере, непосредственно касающегося нас, скажу, когда вы нажимаете на любую кнопку, Windows посылает сообщение приложению: "По такой-то кнопке щелкнули". И если программист использовал это сообщение и написал реакцию на него, то программа выполнит ее.



Напишем реакцию нажатия на кнопку Button3

или "Закрыть". Дважды щелкаем по этой кнопке. Delphi автоматически подготавливает редактор кода для минимизации ввода данных с клавиатуры, набирая за нас заголовок процедуры реакции нажатия на кнопку. Вот он:

procedure

TForm1.Button3Click(Sender: TObject);

begin

end;

Указатель (курсор) находится между словом begin

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

Если действие касается окна, а его имя Form1, то указываем ссылку на это окно. Имя, но не текст, который оно отображает. Имя – это свойство Name.

Набираем вручную Form1. Теперь надо добраться до вложенных в него свойств и процедур. Для этого ставим точку. Через несколько секунд Delphi Выводит для нас дополнение кода.

Это подобие списка доступных констант, переменных, функций для данного объекта (Form1). Набираем Close. Обратите внимание, дополнение кода помогает в наборе, и указывает на существующую функцию, выбрав в списке слово Close. Если этот случай касается сравнительно длинных названий, то выбрать необходимое можно в списке стрелками перемещения указателя или мышкой. Завершение ввода из списка дополнения кода осуществляется нажатием на кнопку Enter, точка, точка с запятой, пробел, открывающаяся скобка (в зависимости от ситуации). Мы поставим точку с запятой. Итак наше описание реакции на нажатия на кнопку "Закрыть" выглядит следующим образом:

Form1.Close;

Если нажать на эту кнопку, в момент работы программы конечно, это окно закроется. Напишем реакции на нажатия на другие кнопки Button1

и Button2.

Рассмотрим еще один компонент Application. Это особый компонент. Его свойства недоступны для инспектора объектов потому, что он доступен только во время запуска приложения на выполнение и следовательно его нет на палитре компонентов. Application – это ссылка (или переменная) на ваше работающее приложение. Delphi автоматически создает данный компонент в связи с его обязательным присутствием.



Первая наша кнопка "Свернуть" или Button1

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

Application.Minimize;

Для кнопки "Развернуть" реакция нажатия выглядит как:

Form1.Color:=clWhite;

Примечание: обратите внимание на точку с запятой в конце строки. Ее присутствие обязательно и она означает окончание команды. Обратите внимание на знак присваивания := (двоеточие и знак равно). Этот знак изначает, что свойству или переменной слева присваивается значение, указанное справа.

Что же произойдет при нажатии на эту кнопку. Окно программы окрасится в белый цвет. Для этого в свойство Color

компонента программы Form1

заносится константа белого цвета. По желанию можно поэкспериментировать с другими цветами, поставив в форму еще несколько кнопок и задавая цвет при нажатия на них clBlack, clNavy и т.п. (перечень всех доступных цветов см. свойство Color в Object Inspector, и не забудьте для этого выбрать форму Form1

одинарным щелчком).

Если нажать на кнопку "Свернуть", то программа свернется в панель задач.

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

Не забудьте сохранить проект на диске "Save All", как это было сказано в прошлом уроке, в отдельный каталог. Например "Урок2" или "Lesson2". Таким образом вы всегда будите знать где находится ваша программа, написанная с помощью того или иного урока.


Содержание раздела