2. Создание и сохранение проекта и файла модуля
Каждый пункт меню содержит набор команд. На рисунке 1 изображено открытое меню пункта File.
Рисунок 1
Рассмотрим некоторые команды.
Команда New
Открывает окно New Items, при помощи которого можно создать новую форму, шаблон проекта или формы, которые затем могут быть использованы.
Команда New/Form
Открывает окно новой формы и соответствующего ей модуля и добавляет их к активному проекту.
Команда New Application
Создает новый проект, состоящий из файла проекта PROJECT1.DPR и двух файлов: модуля UNIT1.PAS и файла формы UNIT1.DFM. При этом IDE отображает окно проектировщика формы и редактора кода. Окно проектировщика формы является активным. После этого рекомендуется сохранить новый проект, присвоив ему свое имя.
Команда Open Project
Открывает диалоговое окно Open Project, в котором выбирается открываемый файл.
Команда Save
Сохраняет активные файлы под их собственными именами. Если файл не был ранее сохранен, и ему не было присвоено имя, Delphi открывает диалоговое окно Save As, в котором нужно указать имя файла.
Команда Save Project As
Эта команда позволяет сохранить проект под другим именем и, в случае необходимости, в другом каталоге.
После выбора этой команды появится диалоговое окно для сохранения файла кода программы. По умолчанию файлу дается расширение PAS, указанное в окне Тип файла. Введите свое имя файла и нажмите OK. Далее появится следующее диалоговое окно для сохранения файла проекта (расширение DPR – Delphi Project). Введите имя проекта и нажмите OK.
Примечание
Для последующего сохранения ранее созданного проекта достаточно выполнить команду Save.
Задания
Создайте новый проект. Для этого выполните команду File – New Application.
Щелкните курсором мыши на кнопке Run (F9) и исполните программу. Программа откомпилируется, на экране исчезнут все вспомогательные окна, у формы пропадет координатная сетка.
Для возвращения в среду Delphi – Alt + F4.
Сохраните проект. Для этого выполните команду File – Save Project as, предварительно создав папку, в которую вы будете записывать свои проекты.
Закройте Delphi.
Загрузите Delphi.
Загрузите свой проект, выполнив команду File – Open Project и указав правильно имя (пункт 4).
Повторите пункты 2 и 3.
Рисунок 2.
Создать программу, с помощью которой можно выполнить:
после запуска программы, щелкнув мышью на кнопке "Приветствие" появится сообщение "Первые успехи!" (см. рисунок 3). Для выхода из программы необходимо щелкнуть мышью на Выход.
Рисунок 3.
Рисунок 4.
Пояснения Новым в этой работе является использование компонент Label и Button на странице палитры компонентов Standard и обработка события на нажатие кнопки (Button).
План разработки программы
Открыть новый проект.
Разместить в форме следующие компоненты: метку Label и две кнопки Button (см. рисунок 4).
Выделить кнопку Button2 , перейти в Object Inspector на страницу Properties (свойства), найти Caption (заголовок) и изменить заголовок Button2 на заголовок Выход.
Перейти на страницу Events (события) Object Inspector, найти событие OnClick, справа от него дважды щелкнуть мышкой. Оказавшись в коде программы, точнее, в заготовке процедуры кнопки Button2, надо написать лишь одну команду: Close; обязательно поставить точку с запятой после Close.
Сохранить проект под именем, например, Pr1.pas и Pr1.dpr
Запустить программу, затем закрыть окно проекта кнопкой Выход.
Выделить форму, в Object Inspector в свойстве Caption заменить слово Form1 на Проект-1. Это и будет заголовком основного окна программы.
Выделить кнопку Button1, найти в Object Inspector свойство Caption и заменить слово Button1 на название копки Приветствие. При необходимости увеличить длину кнопки.
Перейти на страницу Events (события) Object Inspector и найти OnClick, справа от него дважды щелкнуть мышкой. Попав в код программы, но теперь в процедуру кнопки Button1, надо написать следующий код:
Label1.Caption:=‘Первые успехи!’;
Сохранить проект окончательно, запустить и протестировать его.
Запустить исполняемый файл Pr1.exe не в среде Delphi, а в Windows. Подсказка: Выйти из Delphi в Windows. Использовать диспетчер программ или проводник Windows.
Сделать шрифт выводимой реплики отличным от стандартного по виду, цвету и размеру. Подсказка: Для метки в Object Inspector справа от свойства Font щелкнуть мышкой дважды.
Заменить простую кнопку Выход на более привлекательную кнопку. Подсказка: Для замены кнопки надо удалить существующую, а другую найти в палитре компонентов на странице Additional. Она самая левая, называется BitBtn. Затем изменить ее вид в свойстве Kind.
Сделать так, чтобы при запуске проекта на экране вместо названия Label1 появлялся текст Первые успехи! , а после нажатия кнопки Приветствие появлялось новое сообщение Первые и не последние! Подсказка: Изменить свойство Caption и для события OnClick внести изменения.
Домашнее задание:
Создать простейшую программу, которая по щелчку на кнопке выполняет сложение чисел, введённых в два текстовых поля, и показывает результат на отдельной панели.
Создадим заготовку будущего приложения Windows, выполнив команду File – New Application. На экране возникнет пустая форма – прообраз будущего главного окна программы, а в редакторе откроется файл Unit1.pas, соответствующий модулю Unit1, в котором хранится описание работы этой формы (она называется Form1). Просмотрим содержимое файла Unit1.pas, для этого нажмём клавишу F12.
В разделе реализации выполняется подключение стандартных модулей:
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs;
Затем объявляется тип, содержащий описание формы, и декларируется одна переменная этого типа:
var
Form1: TForm1;
Все компаненты Delphi5 хранятся в библиотеке визуальных компанентов Visual Companent Library(VCL). Каждый из компанентов VCL, а также форма(будущее окно) описаны соответствующими классами Паскаля: к названию компанента добавляется буква T, например форма описывается классом TForm, кнопка (компанент Button) – классом TButton и так далее.
Когда создаётся новое приложение, на основании этих классов система Delphi5 формирует новый тип данных, наследующий характеристики своего родителя:
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
Форма Form1 представлена в программе типом TForm1, который исходно не имеет новых полей и методов, так как форма пуста. В дальнейшем члены класса Form1 будут добавляться по мере необходимости, как автоматически ( при размещении их на форме в Проектировщике форм), так и самим программистом.
Далее в модуле следует раздел реализации, в котором имеется всего одна директива компилятора {$R *.dfm}. Она предназначена для связывания модуля с описанием соответствующей ему формы.
Описание формы и всех размещённых на ней компанентов система Delphi 5 хранит в файлах с расширением .dfm.
Создаваемая в среде Delphi 5 программа состоит из нескольких файлов. Это файлы с исходными текстами на Паскале и файлы описаний форм. Все они связаны друг с другом. Такой набор файлов, в которых содержатся исходные тексты и различные настройки, называется проектом.
2. Приступим к этапу проектирования пользовательского интерфейса – подготовке внешнего вида окна программы и размещению на нем элементов управления. Для этого надо переключится в Проектировщик форм с помощью клавиши F12.
Замечание:
Создаваемая в Проектировщике форма – это только внешнее представление будущего окна, а не работоспособное приложение. Любой объект Проектировщика форм доступен в исходном тексте программы по его имени. Имя (или название) объекта – это одно из его свойств, которые можно изменять и настраивать в инспекторе объектов. Соответствующее свойство называется Name(Имя). Оно имеется у всех объектов без исключения. Первоначально значением этого свойства является строка Form1, сгенерированная системой Delphi 5 автоматически. Если её изменить, например на MyForm, и нажать клавишу Enter, то в проекте произойдут следующие изменения. Заголовок формы изменится с Form1 на MyForm. Система Delphi 5считает, что заголовок окна совпадает с его названием, пока разработчик не изменит заголовок явно. Тип формы в файле Unit1.pas изменится с ЕForm1 на MyForm. Имя переменной Form1 изменится на MyForm. Эти операции система Delphi 5 выполнит автоматически.
Заголовок формы – это свойство Caption (Заголовок). Заголовок – это произвольная строка, не имеющая прямого отношения к программированию.
3. Измените заголовок окна.
На форме размещаются объекты, соответствующие компонентам с палитры компонентов. Чтобы создать на форме текстовое поле, надо: выбрать панель Standard (Стандартная);Щёлкнуть на кнопке Edit (Текстовое поле); щёлкнуть на том месте формы, где требуется поместить текстовое поле. В этом месте появится новый элемент управления. Чёрные маркеры по контуру объекта указывают для изменения размеров объекта с помощью мыши. По умолчанию в системе Delphi 5 принято, что название нового объекта совпадает с его заголовком. Это название создаётся средой Delphi 5 по следующему принципу. Берётся название компонента и к нему добавляется порядковый номер, начиная с единицы. Если теперь на форму поместить ещё одно текстовое поле, то его названием будет Edit2. У компонента Edit (Текстовое поле) свойства Caption(Заголовок) нет. Вместо него активно используется свойство Text (Текст). Это свойство содержит введённые пользователем данные в текстовом виде. Первоначально это свойство содержит строку, совпадающую с именем элемента управления(Edit1, Edit2).
4. Разместим на форме кнопку ( компонент Button).
5. Используя свойство Caption (заголовок), установить на кнопке подпись “Сложить”.
6. Надо подготовить элемент управления, в котором будет показываться результат сложения чисел, введённых в поля Edit1и Edit2. Для такой цели лучше всего использовать компонент Label(Надпись). Разместим на форме компонент Label(Надпись).
После размещения объектов на форме их можно свободно перетаскивать при помощи мыши в другое место, причём не только по одному, но и группой.
Теперь в описании формы в исходном тексте программы можно обнаружить четыре новые переменные:
Edit1: TEdit;
Edit2: Tedit;
Button1: Tbutton;
Label1: Tlabel;
Они добавляются в текст автоматически, по мере того как на форме размещались соответствующие элементы управления.
Обработчик щелчка на кнопке (метод класса TmyForm) создаётся на форме так: выполняется двойной щелчок на этой кнопке, и Delphi5 генерирует заготовку кода подпрограммы, которая будет выполнять обработку щелчка.
procedure TMyForm1.Button1Click(Sender: TObject);
begin
end;
Автоматически созданное имя процедуры – Button1Click. Ему предшествует имя класса TmyForm, к которому относится данная процедура. Параметр Sender определяет , какой объект программы вызывает данную подпрограмму.
Доступ к свойствам происходит точно так же, как к полям записей. Сначала указывается имя переменной , определяющей владельца этих свойств, а затем через точку приводятся названия свойств:
Edit1.Text
Label1.Caption
7. Строки, введённые в поля Edit1 и Edit2, надо преобразовать в числа с помощью стандартной функции StrToInt(), затем сложить их, результат преобразовать обратно в строку и записать её в свойство Caption объекта Label1.
Весь обработчик события “Щелчок на кнопке сложить” выглядит следующим образом.
procedure TMyForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:=IntToStr(StrToInt(Edit1.Text)+ StrToInt(Edit1.Text));
end;
8. Теперь можно выполнить компиляцию программы, запустить её (F9), ввести в поля ввода два произвольных числа и щёлкнуть на кнопке “Сложить”. В том месте окна, где располагается надпись, появится результат суммирования.