37850

Створення форм

Лабораторная работа

Информатика, кибернетика и программирование

Помістити обєкт Lbel у вікно форми Form1. Вибрати в палітрі компонентів на сторінці стандартних компонентів компонентів Lbel. Обєкт буде доданий у форму і за замовчуванням одержить імя Lbel1. Перемістити обєкт Lbel1 на бажане місце у формі.

Украинкский

2013-09-25

66.5 KB

3 чел.

ЛАБОРАТОРНА РОБОТА №2

Тема роботи: Створення форм.

Мета роботи: Отримати навики по створенню найпростіших додатків у середовищі Delphi.

  1.  Бобровский С. И. Delphi 7. Учебный курс. - С.Пб. Питер, 2004. – 735 с.
  2.  Я. М. Глинский Інформатика. Алгоритмізація і програмування. Книжка 1. -  Львів, 2003. – 198 с.
  3.  Симонович С.В., Евсеев Г.А. Занимательное программирование:Delphi. – М.: АСТ-Пресс Книга; Издательство «Развитие», 2003. – 368 с.
  4.  Кен Хендерсон. Руководство Разработчика баз данных в Delphi 2. – К. Диалектика, 1997, - 543 с.

Контрольні запитання:

Дайте визначення наступним поняттям:

  •  объектно-ориентированный мова програмування;
  •  інкапсуляція;
  •  спадкування;
  •  поліморфізм;
  •  модуль;
  •  деструктор.

Хід виконання лабораторної роботи.

 

I. Створення найпростішого Windows-додатка з заданим заголовком вікна і кольором форми

1. Створити папку для збереження розроблених додатків

2. Запустити Delphi

3. Змінити заголовок вікна форми з Form1 на Привіт:

у вікні інспектора об'єктів (Object Inspector) установити

для властивості Caption значення Привіт

4. Змінити колір форми зі стандартного на іншій:

у вікні інспектора об'єктів установити для властивості Color значення clAqua.

5. Виконати додаток:

5.1. Запустити додаток - меню Run, Run або F9 або кнопка на панелі інструментів.

5.2. Змінити розміри вікна.

5.3. Виконати екперимент з стандартними кнопками мінімізації і максимізації вікна.

5.3. Закінчити роботу додатка, закривши його вікно.

6. Зберегти форму і проект на диску:

Меню File, Save All, установити свою папку, створити нову папку (з ім'ям Додаток1), установити нову папку, відкрити неї, ввести ім'я проекту.

II. Створення Windows-додатка, що містить текст "Моя перша програма!" і кнопки, що дозволяють змінювати розмір шрифту і рухати текст

 

1. Запустити Delphi

2. Помістити об'єкт Label у вікно форми Form1:

2.1. Вибрати в палітрі компонентів (на сторінці стандартних компонентів) компонентів Label.

2.2. Клацнути на ньому і потім клацнути у формі. Об'єкт буде доданий у форму і за замовчуванням одержить ім'я Label1.

2.3. Перемістити об'єкт Label1 на бажане місце у формі.

3. Змінити властивості об'єкта Label1:

3.1. Переконатися, що об'єкт Label1 виділений.

3.2. У вікні інспектора об'єктів (Object Inspector) установити наступні значення для властивостей об'єкта:

Об'єкт

Властивість

Значення   

Caption

Моя перша програма!

Font

12 p., червоний

Alignment

taCenter

Color

жовтий (Yellow)

AutoSize

False

__________________________________________________

4. Виконати додаток: меню Run, Run або F9.

5. Зберегти форму і проект на диску:

Меню File, Save All, встановити свою папку, ввести ім'я Додаток2.

6. Помістити об'єкт Button (командна кнопка) у вікно Form1.

Він за замовчуванням одержить ім'я Button1. Змінити його розміри.

7. Встановити властивість Caption об'єкта Button1 у значення "Збільшення".

8. Написати код для події Click на об'єкті Button1:

8.1. Два рази клацнути по об'єкті Button1 у формі, що приведе до відкриття вікна коду (переключення між вікном коду і вікном форм - F12).

8.2. Між словами Begin і End написати наступний код:

 Label1.Font.Size :=  Label1.Font.Size +2;

9. Виконати програму. Звернути увагу на те, що відбувається при натисканні кнопки з написом "Збільшення".

10. Зберегти форму і проект на диску:  Меню File, Save.

11. Створити об'єкт "командна кнопка" для зменшення розміру шрифту в тексті.

12.  Створити об'єкт "командна кнопка" для того, щоб рухати текст.

Код:  Label1.Left :=  Label1.Left + 10;

           Label1.Top  :=  Label1.Top  + 10;

13. Створити об'єкт "командна кнопка" для того, щоб  зробити текст невидимим.

Код:  Label1.visible :=  false;

14. Створити об'єкт "командна кнопка" для виходу з роботи програми.

Код: Close;

15. Зберегти форму і проект.

 

III. Створення Windows-додатка, у якому при щиглику на радіо-кнопці з назвою кольору на світлофорі загоряється відповідний колір

1. Помістити компоненти Label, Panel, GroupBox, RadioButton (сторінка Standard) у форму.

2. Установити наступні властивості об'єктів, використовуючи інспектор об'єктів:

 

Label1

Panel1,2,3

GroupBox1

RadioButton1

RadioButton2

RadioButton3

Caption

Caption

Caption

Caption

Caption

Caption

Світлофор

Колір

Червоний

Жовтий

Зелений

 

3. Записати код для процедури обробки події Click (щиглик миші) на об'єкті RadioButton1:

procedure TForm1.RadioButton1Click(Sender: TObject);

begin

Panel1.Color := clRed;

Panel2.Color := clWhite;

Panel3.Color := clWhite; end;

Самостійно записати код для процедур:

TForm1.RadioButton2Click і TForm1.RadioButton3Click

4. Додати виведення інформації "Стій", "Увага", "Йдіть" на панелі з відповідним сигналом білим кольором шрифту жирним накресленням 12п.

IV. Створення Windows-додатка, у якому працюють цифровий годинник з різною швидкістю

 

1. Помістити компоненти Label (сторінка Standard) і Timer (сторінка System) у форму Form1.

2. Установити наступні властивості об'єктів, використовуючи інспектор об'єктів:

 

Об'єкт

Властивість

Значення

Form1

Label1

Label1

Label1

Label1

Name

Caption

Color

Font.Size

Font.Color

Годинник

00:00:00 clYellow

24

Червоний

 

3. Записати код відновлення часу для процедури

TClock.Timer1Timer:

procedure TClock.Timer1Timer(Sender: TObject);

begin

Label1.Caption:=TimeToStr(Time);

end;

4. Виконати додаток.

5. Зберегти форму і проект на диску в новій папці.

6. Розвиток задачі - додавання кнопок регулювання швидкості відновлення часу.

6.1. Додати у форму компонента GroupBox і RadioButton:

(компонент GroupBox є контейнером для інших

компонентів).

6.2. Установити наступні властивості об'єктів:

GroupBox1 Caption Швидкість

RadioButton1         Caption Повільно

RadioButton2         Caption Помірковано

RadioButton3         Caption Швидко

6.3. Записати код для процедури TForm1.RadioButton3Click:

Timer1.Interval := 1000;

Цей код реалізує зміна властивості Interval об'єкта

Timer1.

Самостійно записати код для процедур:

TForm1.RadioButton1Click (3000)    і TForm1.RadioButton2Click (2000)

6.4. Виконати додаток і зберегти результати.

Теоретичні відомості.

Мова Delphi — строго типізована обектно-оріентрована мова, в основі якого лежить добре знайомий програмістам Object Pascal. Обєкт - деяка частина оточуючого світу, яка може бути розглянута як одне ціле. Кожний об’єкт має свій ідентифікатор (ім’я). Обєкти мають свої властивості, за якими вони відрізняються один від одного. Властивість обєкту – сукупність ознак об’єкту, за якими можна відрізняти обєкти один від одного. Кожна ознака характеризує обєкт за параметром. Наприклад: вага, розмір, характер, колір і т. д. Параметри мають своє значення: вага=1 кг.330 г., характер = “запальний”, колір = ”синій”.

Обєкт можна характеризувати різною поведінкою, яка  виявляється за допомогою дії. Дії можна поділити на два види:

  •  активні, коли обєкт може сам виконувати будь-які дії;
  •  пасивні, коли з об’єктом виконують деякі дії інші об’єкти.

У мові Turbo Pascal визначений тип величин, який має назву object. Зовні об’єктні типи подібні до типу record. Це складений тип даних, елементи (поля) якого можуть мати будь-який базовий тип. На відміну від запису крім ознак властивостей, що мають якісь визначені параметри, обєкт включає в себе також дію. Властивості у обєкті описані подібно полям запису. Дія описується за допомогою функції або процедури (пасивної або активної дії). Дії мають назву методи. Для методів доступні поля об’єкту. при заданні об’єкту описується тільки шаблон методу, а самі процедури чи функції записуються пізніше. Наприклад:

type

point = object

      x, y: integer;

     Visual: boolean;

     procedure create (a, b: integer);

     procedure switchon;

    procedure switchoff;

    procedure move (dx, dy: integer);

    function GetX: integer;

    function GetY: integer;

end;

Після того, як описали властивості обєкта, треба деталізувати методи  обєкту. Перед ідентифікатором процедури та функції обовязково треба через крапку вказати ідентифікатор обєкту, до якого він відноситься:

procedure point.create (a,b:integer);

begin

x:= a;

y:=b;

end;

 Взагалі кожний об’єкт  повинен мати метод, за допомогою якого властивості якого можуть приймати деяке визначене значення. Адже в програмі ніхто не має право вказати оператори x:= a; y:=b; поза відповідним методом. Такі методи найчастіше мають назву create (створення) або init (ініціалізація).

procedure point. switchon;

begin

Visual:=true;

putpixel(x,y,getcolor);

end;

procedure point. switchoff;

begin

Visual:=false;

putpixel(x,y,0);

end;

procedure point.move (dx, dy: integer);

begin

x:=x+dx;

y:=y+dy;

point. switchon;

end;

function GetX:integer;

begin

GetX:=x;

end;

function GetY:integer;

begin

GetY:=y;

end;

Тут описані дії, які можна виконати над точкою: задати координат точки (create), показати та сховати точку (switchon та switchoff), перемістити точку в інше місце екрану (move), визначити її координати (GetX та GetY).

 Такий підхід задає замкнуту самодостатню суттєвість, яка містить всю необхідну інформацію про заданий обєкт. Це відображає властивість інкапсуляції об’єктів. До ресурсів обєкта після такого завдання можна звертатися тільки за допомогою описаних методів. При роботі з обєктами необхідно створювати достатню кількість методів, які забезпечують роботу з усіма полями даних.

Далі в програмі описуються змінні величини вказаного типу і для них виконуються дії (методи).

var t1,t2: point;

t1.create(45,156);

t1.switchon;

Обєкти можуть наслідувати властивості інших обєктів. Так, для вказівки того, що Circle (коло) є нащадком об’єкту point (точки), при описувані типу після назви об’єкту-нащадка треба в дужках вказати ім’я батьківського типу. В такому випадку обєкт нащадок автоматично отримує всі властивості та методи батьківського типу.

type Circle = object (Point)

 radius:integer;

procedure Create(a,b,r);

procedure Switchon;

procedure Switchoff;

procedure Move(dx, dy: integer);

Function getr: integer;

      end;

Для об’єкту Circle вказаний додатковий метод getr (вертає значення радіусу кола), який властивий тільки йому. У зв’язку з тим, що об’єкт Circle крім властивостей x, y, visible, які він наслідує у об’екта Point, має також свою власну властивість radius, то  методи, які успадковані від об’єкту Point треба перевизначити (поліморфізм). При цьому можна використовувати вже визначені методи обєкта Point:

procedure Create(a,b,r);

begin

       Point.Create (a,b);

        radius:= r;

end;

procedure Switchon;

begin

visible:=true;

setcolor(5);

Graph.Circle (x,y, radius);

end;

procedure Switchoff;

begin

Visual:=false;

           setcolor(0);

Graph.Circle (x,y, radius);

end;

procedure Move(dx, dy: integer);

begin

Switchoff;

x:=x+dx;

y:=y+dy;

          Switchon;

end;

Function getr: integer;

begin

getr:=radius;

end;


 

А также другие работы, которые могут Вас заинтересовать

39228. Определение концентрации и подвижности электронов в металле методом измерения эффекта Холла и удельной электрической проводимости 187.5 KB
  Эффект Холла Сущность эффекта Холла заключается в возникновении в проводниках разности потенциалов напряженности электрического поля в направлении перпендикулярном направлениям тока и магнитного поля. Причина эффекта состоит в искривлении траекторий движения носителей тока электронов дырок вследствие действия магнитной составляющей силы Лоренца что изображено на рис. На практике плотность тока определяется измерением силы тока а напряженность холловского поля через разность потенциалов между гранями 1 и 2 : тогда 4. Измерив...
39229. Определение коэффициента теплопроводности металла 99.5 KB
  Распределение температуры вдоль металлического стержня Рассмотрим распределение температуры вдоль металлического стержня нагреваемого с одного конца. Количество тепла отдаваемое отрезком стержня в окружающую среду 2 где P – периметр сечения образца. Если температура стержня в точке x=0 равна T1 то T1 – T0= B. С другой стороны при x  0 температура стержня T  T0 и поэтому =0.
39230. Измерение магнитной восприимчивости слабомагнитных веществ 155 KB
  Измерение магнитной восприимчивости слабомагнитных магнетиков Наиболее распространен способ измерения магнитной восприимчивости слабомагнитных образцов на основании измерения механической силы действующей на образец в неоднородном магнитном поле. Энергия системы образец стержень с сечением S и воздушный столб в начальном состоянии: Здесь lОБ – длина части стержня находящейся в магнитном поле индукцией В а lВЗ – длина воздушного столба в области магнитного поля. Если при измерениях образец находится в вакууме то парамагнетик  0...
39231. Электрические свойства 2.68 MB
  Удельная электрическая проводимость среды σ и ее удельное электрическое сопротивление ρ равны соответственно проводимости Σ и сопротивлению R единицы объема среды. У типичных проводников с электронной проводимостью металлов удельное сопротивление весьма мало ρ=104 ÷ 108 Омм. Наличие их в породах при ковалентнометаллической или ионнометаллической форме кристаллической связи существенно увеличивает электропроводность минералов удельное сопротивление которых изменяется в пределах 103 ÷ 106 Омм. Самородные металлы и их...
39232. ТЕПЛОВЫЕ СВОЙСТВА 1.76 MB
  Диагенез катагенез метаморфизм и метасоматизм пород образование всех видов полезных ископаемых тектонические и другие геологические процессы всё это связано с перераспределением тепла в земных недрах. Естественно что изучение тепловых процессов Земли тепловых свойств пород является весьма важной частью как в работах планетарного масштаба так и в прикладных исследованиях. Сведения о тепловых режимах земной коры в разное геологическое время широко используются при региональнозональном прогнозировании нефтегазоматеринских толщ зон...
39233. ЯДЕРНО-ФИЗИЧЕСКИЕ СВОЙСТВА 2.37 MB
  Напротив ядро бериллия состоящее из 5 нейтронов и 4 протонов 2 αчастицынейтрон аномально неустойчиво распадается при облучении гаммаквантами относительно небольшой энергии. Гаммаизлучение это жесткое электромагнитное излучение сопровождающее ядерные превращения. Так при превращении радия в радон испускается гаммаквант энергии 019 МэВ поскольку именно такая разница между энергиями возбужденного и нормального состояний имеет место у радона. В сравнении с другими видами электромагнитного излучения гаммаизлучение...
39234. Петрофизические связи и петрофизические модели месторождений 3.99 MB
  Эти задачи можно было решить только при условии что будут установлены закономерные связи между параметрами получаемыми при интерпретации данных ГИС с одной стороны и параметрами характеризующими емкость нефтенасыщенность продуктивность породыколлектора с другой. Такое сопоставление проводят для решения следующих задач: поиска областей геофизических значений характерных для различных литотипов для использования их впоследствии при литологическом расчленении разреза по данным ГИС; определения областей соответствующих...
39235. Вещественная, структурная и фазовая неоднородность пород 873 KB
  Породы могут быть однофазными и многофазными. Компонентную неоднородность породы характеризуют составом твердой жидкой и газообразной фаз. Например находясь на уровне пор и скелетных зерен мы уделяем основное внимание исследованию геометрии пор и минерального скелета породы. Пористость Горные породы руды каменные угли и минералы слагающие земную кору не являются сплошными телами все они содержат полости поры.
39236. НЕФТЕ- И ГАЗОНАСЫЩЕННОСТЬ ПОРОД 1.94 MB
  НЕФТЕ И ГАЗОНАСЫЩЕННОСТЬ ПОРОД Породыколлекторы в условиях естественного залегания содержат воду нефть и газ. Сумма объемов пор занятых нефтью Vн газом Vг и водой Vв равна общему объему порового пространства пород Vпор: Vн Vг Vв = Vпор. Взаимное расположение нефти и воды в поровом пространстве нефтенасыщенных пород зависит от гидрофильности и гидрофобности.17 показано размещение воды и нефти в отдельно взятой поре гидрофильных и гидрофобных пород.