.RU

Лабораторная работа 1. Интегрированная среда разработки - Учебно-методическое пособие для студентов физико-математических...


^ Лабораторная работа 1. Интегрированная среда разработки
Цель: изучить среду программирования Turbo Delphi.

Потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую «быструю разработку». В основе систем быстрой разработки RAD-систем (Rapid Application Development — среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается
в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий.

Turbo Delphi — это среда быстрой разработки от корпорации Borland, в которой в качестве языка программирования используется одноименный язык программирования Delphi, ранее известный как Object Pascal. Версия Turbo Delphi, с которой будем работать, называется Turbo Delphi Explorer — это бесплатно распространяемая версия, имеющая некоторые функциональные ограничения.

Для запуска ^ Turbo Delphi необходимо дважды щелкнуть левой клавишей мыши на соответствующем ярлыке либо, нажав на кнопку Пуск, выбрать пункт Программы/Borland Developer Studio 2006/Turbo Delphi.

После запуска появится главное окно среды разработки, в центре которого по умолчанию будет открыта HTML-страница Welcome Page во встроенном интернет-браузере (рис. 1). На ней находятся ссылки на разделы документации и список последних открытых проектов (Recent Projects).

Закройте страницу приветствия и создайте новый проект, выбрав
в главном меню пункт File, New, VCL Forms Application — Delphi for Win32 (рис. 2).

Среда разработки примет вид, представленный на рисунке 3.

Данное окно содержит несколько частей, с содержимым которых сейчас и познакомимся.

^ Конструктор форм (3)

Центральную часть окна занимает окно конструктора форм (Form designer) приложения. Формой (Form) приложения на этапе разработки принято называть окно программы (во время разработки это форма, на этапе выполнения — окно). В окне конструктора форм вы будете формировать внешний вид своего будущего приложения: изменять само окно,
а также наполнять его различными элементами. Окно конструктора формы изначально находится на переднем плане и перекрывает окно редактора кода.

Переключаться между этими окнами можно нажатием клавиши F12 (либо нажатием на специальные вкладки ^ Code и Design в нижней части окна).





Рисунок 1





Рисунок 2




Рисунок 3


Редактор кода (3)

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

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

В центральной части окна теперь располагается исходный код (листинг) вашей программы. Несмотря на то, что вы сами еще не написали ни единой строчки текста программы, это окно уже содержит код модуля, необходимый для отображения окна приложения. Исходный код содержит заголовок модуля (unit Unit1); интерфейсную часть, начинающуюся со служебного слова interface и содержащую описание одного типа TForm1 и одной переменной этого типа Form1; реализационную часть, начинающуюся со слова implementation и содержащую большую часть написанного нами программного кода.

При закрытии конструктора форм или редактора кода автоматически закрывается и приложение.




Рисунок 4


Инспектор объектов (2)

Слева от окна конструктора находится окно инспектора объектов (Object Inspector). Это окно теперь не пустое. Оно заполнилось информацией о выделенном объекте (в данный момент — формы). Окно Object Inspector (рис. 5) имеет две вкладки — Properties (Свойства) и Events (События).

Первая вкладка используется для редактирования свойств объектов. Свойство (Property) объекта — это одна из характеристик, определяющая его поведение в программе. Объект способен обладать самыми разными свойствами, которые могут объединяться в группы. Попробуйте, например, изменить свойство Caption, находящееся в группе Visual — это свойство отвечает за заголовок формы. Изначально оно равно Form1, измените его на любое другое и нажмите клавишу Enter, сразу увидите, что ваша форма изменилась, теперь она имеет тот заголовок, который вы ввели. Во время выполнения окно вашего приложения будет иметь введенный вами заголовок. Свойство Icon позволяет ассоциировать приложение с некоторой пиктограммой.

Поначалу группировка свойств может вызвать затруднения (свойств довольно много у любого объекта и для запоминания основных из них нужно некоторое время), поэтому такую группировку можно отключить. Для этого необходимо навести указатель мыши на окно Object Inspector
и нажать правую кнопку мыши, в появившемся вспомогательном меню выбрать пункт Arrange/by Name (рис. 6).





Рисунок 5





Рисунок 6


После этого все свойства, которые имеет объект, будут упорядочены по алфавиту. Если вы хотите вернуть окно к первоначальному виду, то следует проделать аналогичные действия и выбрать пункт Arrange/by Category.

Каждый компонент обладает своим собственным набором свойств
и событиями, на которые он может реагировать.

Остановимся на наиболее общих свойствах компонентов. Например, имя компонента задает свойство ^ Name, свойства, определяющие размеры и положение компонента на форме: Width — ширина, Height — высота, Left — смещение влево, Top — смещение компонента вниз (изменять
размеры и положение компонентов можно и с помощью мыши).

Логическое свойство Visible определяет, будет ли виден данный
компонент (результат виден при запуске приложения, а не в режиме проектирования), свойство ^ Color задает цвет элемента управления, Cursor — форму курсора мыши, когда он находится над элементом управления. Логическое свойство Ctl3D позволяет выдавать компонент пространственным, а свойство Enabled разрешает или запрещает получение управления данному компоненту. Каждый элемент управления может содержать подсказку, появляющуюся в том случае, если указатель мыши находится над элементом управления. Если логическое свойство ShowHint имеет значение True, то при проведении курсора мыши над компонентом будет выдаваться подсказка, текст которой содержится в свойстве Hint.

Также стоит отметить такое свойство формы, как BorderStyle, позволяющее задавать внешний вид окна. Если это свойство, например, установить в значение bsDialog, то при исполнении форма будет содержать на заголовке формы единственную кнопку, которая закрывает приложение. В этом случае при запуске нельзя будет свернуть приложение или изменить его размер.

Вторая вкладка окна Object Inspector — Events используется для описания событий (Events), на которые будет реагировать выделенный объект (в данный момент им является ваша форма). Именно при выборе необходимого вам события в редакторе кода появится заготовка процедуры обработки, где надо записывать код программы.

^ Менеджер проекта (4)

В окне менеджера проекта (Project Manager) отображается структура приложения (проекта, над которым вы сейчас работаете). В этом окне содержится общая информация о проекте, информация об используемых внешних модулях (библиотеках), а также обо всех файлах проекта.

^ Палитра компонентов (5)

Палитра компонентов (Tool Palette) — это один из наиболее часто используемых инструментов Delphi. Она состоит из большого числа групп, где располагаются компоненты.

Компонент (Component) — это элемент пользовательского интерфейса, который может быть перенесен на форму. Это кнопки, метки, поля для ввода всевозможных данных, выпадающие списки, в общем, все то, что вы обычно видите на окнах в операционной системы Windows (такие компоненты называют визуальными — Visual). Кроме того, это могут быть также и невидимые (не визуальные) компоненты, т. е. те, которые
не отображаются в момент выполнения программы, но выполняют различные функции. Типичный пример такого компонента — таймер (^ Timer).

Все компоненты объединяются в группы по функциональному назначению. После создания проекта раскрыт список компонентов группы Standard, содержащий основные элементы диалоговых окон Windows.
В основном будем изучать компоненты с этой закладки, однако нам также понадобятся компоненты с закладок Addition, Win32, Dialogs.

Структура проекта (1)

Окно структуры проекта после создания проекта отображается в левой верхней части экрана. Оно содержит информацию о структуре исходного кода программы (именно поэтому не содержит информации, если активно окно дизайнера формы). Для того чтобы посмотреть данную информацию, следует переключиться в окно редактора кода. После активизации окна редактора кода окно Structure заполнится информацией (рис. 7).





Рисунок 7


Рассмотрим возможность создания первой программы в среде ^ Delphi, которая в данном случае называется проектом. Проект (Project) — совокупность файлов, используемые средой разработки (точнее говоря, компилятором Turbo Delphi) для итоговой генерации программы. Вы уже создали новый проект ранее, выбрав в главном меню пункт File, New, VCL Forms Application — Delphi for Win32.

Turbo Delphi позволяет создавать программы только для операционной системы Windows (отсюда сочетание Delphi for Win32) на основе библиотеки визуальных компонентов Visual Components Library (VCL). Каждое Windows-приложение выполняется в собственном окне — главном окне соответствующего приложения. Закрытием этого окна пользователь закрывает приложение. При создании проекта создается одна форма — она и является главным окном приложения. Если в проекте несколько форм, то при необходимости можно сделать главным окном любую другую форму.

Размеры формы можно менять произвольным образом и размещать
в ней некоторые компоненты из палитры компонентов. Для того чтобы это сделать в форме, необходимо сначала выполнить щелчок на пиктограмме нужного компонента, а затем в том месте формы, где будет располагаться компонент. Если на форму поместить несколько одинаковых компонентов, то именем (свойство Name) этого элемента будет имя этого компонента и порядковый номер. Например, Label1, Edit1, Label2, Edit2, Label3 и т. д. При выполнении приложения форма будет по умолчанию отображаться в том же виде, как и при проектировании, т. е. будет иметь те же размеры и содержать те же компоненты.

Поместите на форму компонента произвольные компоненты с закладки Standard. Обратите внимание, содержимое инспектора объектов будет меняться в зависимости от выбранного компонента (рис. 4). Созданное окно может принять вид, представленный на рисунке 8.





Рисунок 8


Если, используя инспектор объектов, добавить процедуру обработки нажатия на кнопку, для чего необходимо выполнить двойной щелчок мышью на требуемом событии (событие onClick для компонента Button1) в инспекторе объектов, то содержимое редактора кода будет иметь вид:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;

type

TForm1 = class(TForm)

Memo1: TMemo;

Button1: TButton;

RadioGroup1: TRadioGroup;

Label1: TLabel;

CheckBox1: TCheckBox;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

end;

end.

Из листинга видно, что в рамках формы класса TForm1 описываются все присутствующие на форме компоненты: Label11, Button1, CheckBox1, RadioGroup1, Memo1, и заголовок процедуры Button1Click. В реализационной части, после служебного слова implementation, создана заготовка для всей процедуры, в которой и будем вписывать необходимый код. Параметр Sender передается в любой процедуре обработки события и определяет компонент формы, где произошло событие.

Все события, на которые приложение может реагировать, разделяются на пользовательские и системные. К пользовательским относятся события, связанные с клавиатурой или мышью, например OnClick — одинарный щелчок левой клавишей мыши (именно это событие является наиболее распространенным и именно для его обработки нами была создана процедура в предыдущем примере); OnDblClick — двойной щелчок левой клавишей мыши; OnMouseDown — нажатие клавиши мыши; OnMouseUp — отпускание клавиши мыши; OnMouseMove — перемещение мыши.

В некоторых из этих событий в качестве параметров могут передаваться координаты точки на экране, где произошло событие — X, Y, кнопка мыши — параметр Button, значение которого является одна из констант, соответствующей нажатой левой клавиши — mbLeft, средней клавиши — mbMiddle, правой клавиши — mbRight, а также параметр Shift, значение которого равно ssAlt, если нажата клавиша [Alt], ssCtrl — если клавиша [Ctrl], ssShift — если клавиша [Shift].

Например, автоматически созданный шаблон процедуры обработки нажатия клавиши мыши на форме имеет вид:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

end;

Кроме пользовательских событий, существуют программно управляемые события. Отдельно рассмотрим события, обрабатываемые самой формой: событие OnCreatе происходит в момент создания формы; OnClose генерируется, когда форма должна быть закрыта. Два данных события происходят с формой всего один раз в отличие от других: OnShow — возникает, когда форма должна стать видимой, OnHade — когда форма должна быть убрана с экрана, OnPaint — перед тем, как форма будет перерисована на экране.

Существуют события, которые формируют сами элементы управления, например: ^ OnEnter событие, которое появляется, когда элемент управления становится активным, и OnExit событие, возникающее, когда элемент управления перестает быть активным. Данные два события существуют только у элементов управления и только в том случае, если свойство Enabled имеет значение True. Остальные события будут рассмотрены по мере описания отдельных компонентов.

Запустить проект на исполнение можно либо нажатием кнопки F9, либо через главное меню: Run/Run, либо нажатием соответствующей кнопки на панели инструментов: . При запуске формируется стандартное окно Windows, которое отображается соответствующей кнопкой на панели задач. Для дальнейшей доработки исходного файла необходимо сначала остановить приложение, при этом используются стандартные средства Windows. Основное отличие формы при проектировании и после запуска на исполнение — это сетка из точек. Если точки отсутствуют, то приложение активно.

Проект в простейшем случае представляет собой совокупность
следующих файлов:

  1. файл описания проекта (bdsproj-файл) — файл специального формата, в котором записана общая информация о проекте;

  2. главный модуль (dpr-файл) содержит инструкции, обеспечивающие запуск нашей программы;

  3. модуль формы (dfm-файл) содержит информацию о настройках
    и компонентах, которые присутствуют на форме. Модуль формы формируется автоматически при выполнении настроек формы, перенесении на нее и настройки компонентов;

  4. модуль реализации (pas-файл) содержит информацию только
    о присутствующих на форме компонентах и процедурах обработки событий на этих компонентах;

  5. файл ресурсов (res-файл);

  6. файл конфигурации (cfg-файл);

  7. исполняемый файл (exe-файл), который создается при запуске программы на исполнение.

Сохранение всех файлов проекта осуществляется через пункт главного меню File, Save all (сохранить все). Первый раз при сохранении потребуется сохранить два файла: модуль формы и файл проекта. Поскольку при работе с проектом автоматически создается довольно много файлов, рекомендуется сохранять их в заранее подготовленном каталоге.


Задания:

  1. Создайте новый проект, поместите на форму компоненты Label1, Edit1, Button1 и заготовки процедур таких событий, как создание формы, двойной щелчок левой клавиши мыши на всей форме, активизация компонента Edit.

  2. Измените значения свойств Width, Height, Top, Left как с помощью инспектора объектов, так и непосредственно используя мышь.

  3. Измените свойства Visible, Color, Cursor, Enabled и Ctl3D для каждого компонента в отдельности.

  4. С помощью свойств ShowHint и Hint задайте для каждого элемента управления подсказки.

  5. Сохраните данный проект и просмотрите каждый из созданных файлов.

  6. Запустите приложение на исполнение.

materialno-tehnicheskoe-obespechenie-obrazovatelnogo-processa-rabochaya-uchebnaya-programma-po-uchebnoj-discipline.html
materialno-tehnicheskoe-obespechenie-plan-uchebnogo-processa-v-institute-povisheniya-kvalifikacii-i-perepodgotovki.html
materialno-tehnicheskoe-obespechenie-prikaz-201-gz-ot-23-maya-2012-goda-konkursnaya-dokumentaciya-dlya-uchastiya.html
materialno-tehnicheskoe-obespechenie-prikaz-41-gz-ot-08-fevralya-2012-goda-konkursnaya-dokumentaciya-dlya-uchastiya.html
materialno-tehnicheskoe-obespechenie-programma-innovacionnogo-razvitiya-mou-karagajskaya-srednyaya-obsheobrazovatelnaya-shkola-2.html
materialno-tehnicheskoe-osnashenie-dopolnitelnie-obrazovatelnie-programmi-iz-opita-raboti-pedagogov-dopolnitelnogo.html
  • laboratory.bystrickaya.ru/vopros-ob-iisuse-hriste-o-haraktere-nashego-vremeni.html
  • exchangerate.bystrickaya.ru/garibaldi-richchiotti.html
  • doklad.bystrickaya.ru/valeriya-viktorovna-peruanskaya-stranica-2.html
  • education.bystrickaya.ru/1chel-2chel-ekskursiya-na-ostrov-valaam-10.html
  • literatura.bystrickaya.ru/sistema-form-otrazheniya-issledovanie-form-mishleniya-logicheskih-kategorij-ochen-blagodarnaya-i-neobhodimaya-zadacha.html
  • klass.bystrickaya.ru/affiliaciya-i-vlast-kak-socialno-psihologicheskij-fenomen-v-organizacii-sovmestnih-otnoshenij-stranica-2.html
  • textbook.bystrickaya.ru/inzhenernoe-delo-tehnika-k-k-kim-i-dr-pod-red-k-k-kima-spb-piter-2010-368-s-il-uchebnoe-posobie.html
  • literatura.bystrickaya.ru/referata-po-discipline-bezopasnost-zhiznedeyatelnosti.html
  • education.bystrickaya.ru/13vidimaya-sreda-kak-ekologicheskij-faktor-obzor-literaturi.html
  • notebook.bystrickaya.ru/internet-resursi-radio-rsn-novosti-16-07-2008-shestakova-anna-15-00-12.html
  • institut.bystrickaya.ru/strahova-posluga-ta-realzacya-na-rinku-ukrani.html
  • uchebnik.bystrickaya.ru/vitalkivayushaya-sila-zakon-arhimeda.html
  • testyi.bystrickaya.ru/aleksandriya-nevskaya-aleksandrijskoe-velikoe-uchilishe-14-j-den-devyatogo-mesyaca-chetverica-nachalo-dnya.html
  • essay.bystrickaya.ru/e-v-pomanisochka-cheboksari-chgpu-im-i-ya-yakovleva-1997-33-s.html
  • gramota.bystrickaya.ru/zaklyuchenie-o-schaste-i-sovershenstve-cheloveka.html
  • grade.bystrickaya.ru/o-v-nevolina-nauchno-analiticheskij-zhurnal.html
  • spur.bystrickaya.ru/lekciya-po-teme-problema-gipoteza-teoriya.html
  • teacher.bystrickaya.ru/glava-iii-yaponiya-pered-vojnoj-russko-yaponskaya-vojna-19041905-gg.html
  • credit.bystrickaya.ru/osobennosti-sovremennoj-planirovochnoj-organizacii-gvolgograda-chast-4.html
  • composition.bystrickaya.ru/otchet-o-rabote-za-2008-god-ot-28-01-2009-g.html
  • student.bystrickaya.ru/3-goda-11-mesyacev-kniga-dlya-roditelej.html
  • knigi.bystrickaya.ru/sochineniya-ne-oboznachennie-poryadkovim-nomerom-spravochnik-sostavitel-p-nazarevskij-vsesoyuznoe-izdatelstvo-sovetskij.html
  • portfolio.bystrickaya.ru/organizaciya-perevozok-i-upravlenie-na-transporte-chast-30.html
  • vospitanie.bystrickaya.ru/zaklyuchenie-rasskazi-o-drevnem-horezme-i-o-horezmskoj-ekspedicii.html
  • laboratornaya.bystrickaya.ru/rabochaya-programma-disciplini-bazi-dannih-opd-f.html
  • college.bystrickaya.ru/-1-metodologicheskie-osnovi-psihologicheskogo-konsultirovaniya-akademicheskij-proekt.html
  • reading.bystrickaya.ru/kurs-na-kachestvo-vnimanie-k-detalyam-26-yanvarya-2012.html
  • literature.bystrickaya.ru/diplomnoj-raboti-organizaciya-pr-deyatelnosti-kompanii-na-primere-korporacii-amway.html
  • esse.bystrickaya.ru/raznovidnosti-zadach-issledovaniya-operacij-i-podhodov-k-ih-resheniyu-stranica-14.html
  • credit.bystrickaya.ru/organizacii-uchastnika-dempoletov.html
  • college.bystrickaya.ru/27-june-2008-russian-original-english-konferenciya-storon-bazelskoj-konvencii-o-kontrole-za-transgranichnoj-perevozkoj.html
  • shpargalka.bystrickaya.ru/uchebno-tematicheskoe-planirovanie-po-geografii-klass.html
  • report.bystrickaya.ru/klimaktericheskij-sindrom-m-v-oganyan-zolotie-recepti-naturopatii-2006-g-.html
  • teacher.bystrickaya.ru/gordeev-m-n-evtushenko-v-g-tehniki-gipnoza-stranica-3.html
  • zadachi.bystrickaya.ru/meropriyatiya-go-na-selhozobektah-chast-2.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.