Лекція №2 Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів План 1 Палітру компонентів Standart 1 icon

Лекція №2 Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів План 1 Палітру компонентів Standart 1




Скачати 290.58 Kb.
НазваЛекція №2 Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів План 1 Палітру компонентів Standart 1
Дата конвертації26.01.2013
Розмір290.58 Kb.
ТипЛекція

Лекція № 2

Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів

План

1 Палітру компонентів Standart 1

2. Програмування простих обчислювальних процесів 2

2.1 Компоненти введення висновку, які використовуються при рішенні задач 2

2.2 Лінійний обчислювальний процес 4

2.3 Обчислювальний процес, що розгалужується 6

2.3.1 Умова 6

2.3.2 Вибір 7

2.3.4 Інструкція goto 11

2.4 Компоненти, які підтримують функції вибору 11

Література 13



1 Палітру компонентів Standart


Компоненти першочергової необхідності розташовані на панелі Standart. Набір і порядок компонент є такими, що конфігуруються.



Рисунок 1 Компоненти, розташовані на першій сторінці Палітри

Курсор - не компонент, просто піктограма для швидкої відміни вибору якого-небудь об'єкту.

TMainMenu дозволяє помістити головне меню в програму. При приміщенні TMainMenu на форму це виглядає, як просто ікона. Ікони даного типа називають "невидимими компонентом", оскільки вони невидимі під час виконання програми. Створення меню включає три кроки:

1 приміщення TMainMenu на форму

2 виклик Дизайнера Меню через властивість Items в Інспекторі Об'єктів

3 визначення пунктів меню в Дизайнері Меню.

TPopupMenu дозволяє створювати спливаючі меню. Цей тип меню з'являється по клацанню правої кнопки миші на об'єкті, до якого прив'язано дане меню.

TLabel служить для відображення тексту на екрані. Ви можете змінити шрифт і колір мітки, якщо двічі клацнете на властивість Font в Інспекторі Об'єктів.

TEdit - стандартний елемент Windows, що управляє, для введення. Він може бути використаний для відображення короткого фрагмента тексту і дозволяє користувачу вводити текст під час виконання програми.

TMemo - інша форма TEdit. Має на увазі роботу з великими текстами. TMemo може переносити слова, зберігати в ClipBoard фрагменти тексту і відновлювати їх, і інші основні функції редактора. TMemo має обмеження на об'єм тексту в 32Кб, це складає 10-20 сторінок.

TButton дозволяє виконати які-небудь дії при натисненні кнопки під час виконання програми. У Delphi все робиться дуже просто. Помістивши TButton на форму, Ви по подвійному клацанню можете створити заготівку обробника події натиснення кнопки.

TCheckBox відображає рядок тексту з маленьким віконцем поряд. У віконці можна поставити відмітку, яка означає, що щось вибране.

TRadioButton дозволяє вибрати тільки одну опцію з декількох.

TListBox потрібен для показу прокручуваного списку.

TComboBox во многом напоминает ListBox, за исключением того, что позволяет водить информацию в маленьком поле ввода сверху ListBox. Есть несколько типов ComboBox, но наиболее популярен спадающий вниз (drop-down combo box), который можно видеть внизу окна диалога выбора файла.

TScrollbar - смуга прокрутки, з'являється автоматично в об'єктах редагування, ListBox'ах при необхідності прокрутки тексту для перегляду.

TGroupBox використовується для візуальних цілей і для вказівки Windows, який порядок переміщення по компонентах на формі (при натисненні клавіші TAB).

TRadioGroup використовується аналогічно TGroupBox, для угрупування об'єктів TRadioButton.

TPanel - управляющий элемент, похожий на TGroupBox, используется в декоративных целях. Чтобы использовать TPanel, просто поместите его на форму и затем положите другие компоненты на него. Теперь при перемещении TPanel будут передвигаться и эти компоненты. TPanel используется также для создания линейки инструментов и окна статуса.

2. Програмування простих обчислювальних процесів

2.1 Компоненти введення висновку, які використовуються при рішенні задач


Розглянемо властивості компоненту TLabel.


Таблиця 1 Властивості компоненту TLabel

Властивість

Опис




property Caption: TCaption;

Призначено для розміщення на формі різного роду текстових написів

property Font: TFont;

З його допомогою можна різноманітити вид напису

property AutoSize: Boolean;

З його допомогою можна дозволити компоненту автоматично змінювати свої розміри так, щоб повністю відобразити текст Caption з урахуванням встановленого шрифту. Якщо властивість має значення False, висота і ширина компоненту визначаються поточними значеннями властивостей Height і Width

type TAlignment = (taLeftJustify, taRightJustify, taCenter);

property Alignment: TAlignment;

Можна указувати горизонтальне вирівнювання тексту:

  • taLeftJustify - притиснути текст вліво;

  • taCenter - вирівняти по центру;

  • taRightJustify - притиснути текст управо

property Layout:TTextLayout;

Управляє положенням тексту по вертикалі:

  • tlTop - притиснути вгору;

  • tlCenter - вирівняти по центру;

  • tlBottom - притиснути вниз

property FocusControl: TWinControl;

Містить ім'я віконного компоненту, який пов'язаний з міткою клавішами швидкого виклику

property ShowAccelChar: Boolean;

Якщо містить значення True, символ & у тексті мітки передує символу клавіші швидкого виклику

property Transparent: Boolean;

Визначає прозорість мітки: якщо містить значення False, простір мітки закрашується власним кольором Color, інакше цього не відбувається, і крізь мітку будуть видно розташовані на ній компоненти (так, наприклад, можна накласти текст на графіку)

Властивості компоненту TEdit представлені в таблиці.


Таблиця 2 Властивості компоненту TEdit

Властивість

Опис

property Text: String;

Містить рядок, що відображається компонентом

property MaxLength: Integer;

Визначає максимальну кількість символів в полі введення. Якщо має значення 0, то кількість символів нічим не обмежена

property Font: TFont;

З його допомогою можна встановлювати шрифт тексту, його розмір і колір

property ReadOnly: Boolean; (Тільки читання)

Якщо ця властивість встановити в True, то під час виконання програми користувач не зможе змінювати текст в полі введення

property AutoSize: Boolean;

Як і для напису, може приймати значення True і False, але ефект автоматичної підгонки розміру виражається декілька по-іншому, чим для напису. Тут змінюється тільки висота поля введення залежно від розміру шрифту

property BevelEdges: TBevelEdges;




property BevelInner: TBevelCut;




property BevelKind: TBevelKind;




property BevelOuter: TBevelCut;

Ці властивості визначають ефект об'ємності поля введення

property BorderStyle: TBorderStyle;

Визначає вид рамки для поля введення

property PasswordChar: Char;

Дозволяє приховати текст, що вводиться, відображаючи замість символів, що реально вводяться, єдиний символ, встановлений як значення властивості PasswordChar. Символ #0 відключає цей режим

property AutoSelect: Boolean;

Визначає, чи виділятиметься весь текст у момент отримання компонентом фокусу введення

property CanUndo: Boolean;

Містить значення True, якщо зроблені користувачем зміни в тексті Text можна прибрати методом Undo

type TEditCharCase = (ecNormal, ecUpperCase, ecLowerCase);




propertyCharCase: TEditCharCase;

Визначає спосіб автоматичного перетворення регістра букв:

ecUpperCase - всі букви прописні;

Правильно працює з кирилицею

ecLowerCase - всі букви рядкові.




property HideSelection: Boolean;

Якщо містить значення False, виділення тексту зберігається при втраті компонентів фокусу введення

property Modified: Boolean;

Містить значення True, якщо текст був змінений

property OnChange: TNotifyEvent;

Визначає обробник події OnChange, яка виникає після будь-якої зміни тексту

property OEMConvert: Boolean;

Містить значення True, якщо необхідно перекодувати текст з кодування MS-DOS в кодування Windows і назад

property SelLenght: Integer;

Містить довжину виділеної частини тексту

property SelStart: Integer;

Містить номер першого символу виділеної частини тексту

property SelText: String;

Містить виділену частину тексту

Методи компоненту TEdit перераховані в таблиці.


Таблиця 3 Методи компоненту TEdit

Метод

Опис




procedure Clear;

Видаляє весь текст

procedure ClearSelection;

Видаляє виділений текст

procedure ClearUndo;

Очищає буфер методу Undo

procedure CopyToClipboard;

Копіює виділений текст в буфер обміну

procedure CutToClipboard;

Копіює виділений текст в буфер обміну, після чого видаляє виділений текст з компоненту

procedure PasteFromClipboard;

Замінює виділений текст вмістом буфера обміну, а якщо немає виділеного тексту, копіює вміст буфера обміну в позицію текстового курсора

procedure SelectAll;

Виділяє весь текст

procedure SetSelTextBuf (Buffer: PChar);

Замінює виділений текст вмістом буфера Buffer, а якщо немає виділеного тексту, копіює вміст буфера Buffer в позицію текстового курсора

procedure Undo;

Відновлює текст в тому вигляді, в якому він був перед останнім отриманням компонентів фокусу введення

function GetSelTextBuf (Buffer: PChar; BufSize: Integer): Integer;

Копіює не більше BufSize символів виділеного тексту в буфер Buffer

Властивості компоненту TButton представлені в таблиці.


Таблиця 4 Властивості компоненту

TButton Властивість

Опис




property Cancel: Boolean;

Якщо має значення True, подія OnClick кнопки виникає при натисненні клавіші Esc

property Default: Boolean;

Якщо має значення True, подія OnClick кнопки виникає при натисненні клавіші Enter

type TModalResult = Low(Integer)..High(Integer);




property ModalResult: TModalResult;

Визначає результат, з яким було закрите модальне вікно

У термінології Windows модальними вікнами - називаються такі спеціальні вікна, які, з'явившись на екрані, блокують роботу користувача з іншими вікнами аж до свого закриття. Звичайно з їх допомогою реалізується діалог, що вимагає від користувача прийняття деякого рішення. Для цього до складу модального вікна включається декілька кнопок. Якщо у кнопки визначено властивість ModalResult, клацання на ній приводить до закриття модального вікна і повернення в програму значення ModalResult як результату діалогу з користувачем. У Delphi визначені наступні стандартні значення ModalResult:

  • mrNone - модальне вікно не закривається;

  • mrOk - була натиснута кнопка OK;

  • mrCancel - була натиснута кнопка Cancel;

  • mrAbort - була натиснута кнопка Abort;

  • mrRetry - була натиснута кнопка Retry;

  • mrIgnore - була натиснута кнопка Ignore;

  • mrYes - була натиснута кнопка Yes;

  • mrNo - була натиснута кнопка No;

  • mrAll - була натиснута кнопка All;

На відміну від більшості інших видимих компонентів кнопка TButton є елементом операційної системи Windows і тому не може змінювати свій колір довільним чином - кнопка міняє його разом із зміною палітри Windows. Кнопка завжди має системний колір clBtnFace і не має властивість Color. Шрифт напису на кнопці може міняти свій стиль і розмір, але компонент ігнорує зміну його кольору.

На відміну від компоненту TLabel компонент TButton не має властивості AutoSize і при розміщенні на формі приймає деякий стандартний, зумовлений середовищем Delphi розмір. Якщо потрібно змінити розміри компоненту TButton, то програміст встановлює їх самостійно, використовуючи властивості Height і Width.

Властивість Enabled визначає, чи буде доступна користувачу кнопка в деякий момент виконання програми, тобто чи буде управління, при "натисненні" даної кнопки у виконуваній програмі, передаватися в процедуру обробки події для даної кнопки.

Якщо Enabled має значення True, то управління передаватиметься, якщо ж Enabled - False, то при натисненні на дану кнопку управління не передається в процедуру обробки події даної кнопки (навіть якщо така процедура для цієї кнопки визначена).

Властивість Visible визначає, чи буде видно розміщений на формі компонент на етапі виконання програми. За умовчанням властивість Visible має значення True, якщо Visible - False, то компонент візуально не відображається у вікні програми і природно є недоступним.

Крім обробника подій OnClick, який використовувався в прикладі, існують інші обробники подій:


Таблиця 5 Обробники подій компоненту

TButton Обробник подій

Опис




OnEnter

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

OnExit

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



2.2 Лінійний обчислювальний процес


Проектування застосування, яке виконує рішення лінійної обчислювальної задачі, розглянемо на прикладі завдання переліку суми в гривнях в суму в доларах і євро.

Проектування форми

Робота над новим проектом в Delphi починається із створення стартової форми. Створення форми фактично складається з двох етапів:

- створення і завдання властивостей форми;

- розміщення на формі компонентів і завдання їх властивостей.

Форма створюється шляхом зміни її властивостей:


Таблиця 5

Властивість

Значення

Caption (Заголовок)

Гривни – долари - кілограми

Height (Висота)

200

width (Ширина)

350

Color (Колір)

clAqua

Font.Name

Arial

Font.Size

10

Для визначення компонентів, які необхідно розмістити на формі, варто скласти алгоритм рішення задачі.

Алгоритм рішення. Виходячи з умови завдання алгоритм її рішення наступний:



у доларах і євро необхідно одержати від користувача початкові дані - суму в гривнах Розміщення компонентів Виходячи з алгоритму рішення задачі, програма переліку суми в гривнах в суму. Дані з клавіатури вводяться в поле редагування Edit. Значення властивостей розташованого компоненту Edit1 приведено в таблиці.


Таблиця 6

Властивості

Значення

Name

Editl

Text




Top

48

Left

24

Height

24 '

Width

121

ParentFont (спадкоємство властивостей шрифту)

форми)

True

Також форма застосування, що розробляється, повинна містити 3 мітки: 1 для виведення інформаційного повідомлення, 2 для виведення результатів. Значення властивостей розташованих компонентів класу Label приведенны в таблиці.


Таблиця 7

Властивості

Значення

Name

Label1

Label2

Label3

Caption

Введіть суму в гривнах і клацніть на Перелік







AutoSize

False

False

False

Top

0

96

170

Left

24

24

90

Таблиця 8

Властивість

Значення

і

Height

40

49

49

Width

209

121

121

Wordwrap

True

True

True

ParentFoht

True

False

False

У завершенні у форму потрібно додати кнопку Button, при натисненні якої виконуватиметься перелік. Значення властивостей командної кнопки Button1 приведені в таблиці.


Таблиця 9

Властивість

Значення

Name

Buttonl

Text

Перелік

Top

56

Left

184

Height

25

Width

75


Готова форма має наступний вигляд



Рисунок 2 Готова форма


Написання програмного коду Застосування повинне виконувати перерахунок по натисненню кнопки. Для реалізації обчислення необхідно створити процедуру відповідної події. Для цього необхідно виконати наступні дії: -

- виділити командну кнопку Buttonl;

- вибрати закладку Events діалогового вікна Object Inspector, виконати подвійне клацання в полі імені необхідної події, тобто Onclick;

- у вікні редактора коду, яке з'явилося, у області введення певної процедури ввести програмний код, який відповідає розробленому алгоритму.

procedure TForml.ButtonlClick(Sender: TObject);

var

Grn: rreal; { торба в гривнах}

Dol: real; { торба в доларах}

Euro:real; { торба в Євро}

begin

Grn:=StrToFloat(Editl.Text);

Dol:=Grn/5.4;

Euro:=Grn/6.7;

Label2.Caption:=Editl.Text+' грн. це '+FloatToStr(Dol,ffGeneral,4,2)+ * $'; Label3.Caption:=Editl.Text+' грн. це '+ FloatToStr(Euro,ffGeneral,5,3)+'EUR0';

end:

2.3 Обчислювальний процес, що розгалужується


На практиці рідко зустрічаються завдання, алгоритм рішення яких є лінійним. Часто виявляється, що алгоритм рішення навіть елементарного завдання не є лінійним. Наприклад, хай треба обчислити за формулою струм в електричному ланцюзі. Якщо припустити, що користувач завжди вводитиме вірні дані, то алгоритм рішення цієї задачі дійсно є лінійним. Проте покладатися на те, коли користувач проводитиметься так, як треба програмі, не слідує. Формула розрахунку припускає, що величина опору не рівна нулю. А що буде, якщо користувач введе 0? Відповідь простій: виникне помилка "Ділення на нуль", і програма аварійно завершить роботу. Можна, звичайно, покласти відповідальність за це на користувача, але краще внести зміни в алгоритм рішення, щоб розрахунок виконувався тільки в тому випадку, якщо введені вірні дані.

Точки алгоритму, в яких виконується вибір подальшого ходу програми, називаються точками вибору. Вибір чергового кроку рішення задачі здійснюється залежно від виконання деякої умови.

2.3.1 Умова


У повсякденному житті умова звичайно формулюється у вигляді питання, на яке можна відповісти Та чи ні. Наприклад:

  • Величина опору рівна нулю?

  • Відповідь правильна?

  • Сума покупки більше 300 рублів?

У програмі умова - це вираз логічного типа (Boolean), який може приймати одне з двох значень: True (істина) або False (брехня).

У мові Delphi є шість операторів порівняння.


Таблиця 10 Оператори порівняння

Оператор

Опис

Результат порівняння

>

Більше

True, якщо перший операнд більше другого, інакше False

<

Менше

True, якщо перший операнд менше другого, інакше False

=

Рівно

True, якщо перший операнд рівний другому, інакше False

<>

Не рівно

True, якщо перший операнд не рівний другому, інакше False

>=

Більше або рівно

True, якщо перший операнд більше або рівний другому, інакше False

<=

Менше або рівно

True, якщо перший операнд менше або рівний другому, інакше False



2.3.2 Вибір


Вибір в точці розгалуження алгоритму чергового кроку програми може бути реалізований за допомогою інструкцій if і case. Інструкція if дозволяє вибрати один з двох можливих варіантів, інструкція case — один з декількох.

2.3.2.1 Інструкція if


Інструкція if дозволяє вибрати один з двох можливих варіантів розвитку програми. Вибір здійснюється залежно від виконання умови.

У загальному вигляді інструкція if записується так:

if умова then

begin

// тут інструкції, які треба виконати

// якщо умова істинно.

end

else

begin

// тут інструкції, які треба виконати

// якщо умова помилково.

end;

Зверніть увагу, що перед else (після end) крапка з комою не ставиться.

Виконується інструкція if таким чином:

1. Обчислюється значення умови (умова — вираз логічного типа, значення якого може бути рівне True або False).

2. Якщо умова істинно (значення виразу умова рівне True), то виконуються інструкції, наступні за словом then (між begin і end). На цьому виконання операції if закінчується, тобто інструкції, наступні за else, не будуть виконані.

Якщо умова помилково (значення виразу умова рівне False), то виконуються інструкції, наступні за словом else (між begin і end).

Якщо в операторі If між словами begin і end знаходиться тільки один оператор, то слова begin і end можна не писати.

Якщо яка-небудь дія повинна виконуватися тільки при виконанні певної умови і пропущена у разі невиконання цієї умови, тоді конструкція if використовується без блоку Else.

Як приклад використання інструкції if розглянемо програму обчислення вартості міжміської телефонної розмови.

Як відомо, вартість міжміської розмови по телефону у вихідні дні нижче, ніж в звичайні. Програма, текст якої приведений далі, запрошує тривалість розмови і день тижня, а потім обчислює вартість розмови. Якщо день тижня — субота або неділя, то вартість зменшується на величину знижки. Ціна хвилини розмови і величина знижки задаються в тексті програми як константи. Вид діалогового вікна програми приведений на мал. 3.



Рисунок 3 Діалогове вікно програми Вартість розмови


Таблиця 11 Компоненти форми застосування Вартість розмови


Компонент

Призначення

Edit1

Для введення тривалості розмови в хвилинах

Edit2

Для введення номера дня тижні 2

Label1, Label

Для виведення тексту, пояснення, про призначення полів введення

Label3

Для виведення результату обчислення — вартості розмови

Button1

Для активізації процедури обчислення вартості розмови



Таблиця 12 Значення властивостей компонентів


Властивість

Значення

Form1 . Caption

Вартість розмови

Edit1.Text




Edit2.Text




Label1 .Caption

Тривалість (мин.)

Label2 .Caption

Номер дня тижня

Label3 .Caption




Button1 . Caption

Обчислити



Програма проводить обчислення в результаті клацання на командній кнопці Обчислити. При цьому виникає подія onclick, яка обробляється процедурою TForm1.Button1Click.

procedure TForm1.Button1Click(Sender: TObject);

const

PAY =0.15; // ціна однієї хвилини розмови 0.15 рубля

DISCOUNT = 0.2; // знижка 20 відсотків

var

Time:Real; // тривалість розмови

Day:integer; // день тижня

Summa:real; // вартість розмови

begin

// одержати початкові дані

Time:=StrToFloat(Editl.Text) ;

Day:=StrToInt(Edit2.Text);

// Обчислити вартість розмови

Summa:= PAY*Time;

// Якщо день субота або неділя, то зменшити

// вартість на величину знижки

if (Day = 6) OR (Day = 7)

then Surama:=Summa*(1 - DISCOUNT);

// виведення результату обчислення

label3.caption:='K оплаті '

+ FloatToStr(Summa)+ 'руб.'; end;

end.

2.3.2 Інструкція case


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

case Селектор of список1:

begin

{ інструкції 1 } end; список 2:

begin

{ інструкції 2 } end; список М:

begin

{ інструкції N }

end;

else


begin

{ інструкції )

end;

end;

де:


Селектор — вираз, значення якого визначає подальший хід виконання програми (тобто послідовність інструкцій, яка буде виконана);

Список N — список констант. Якщо константи є діапазоном чисел, то замість списку можна вказати першу і останню константу діапазону, розділивши їх двома крапками. Наприклад, список 1, 2, 3, 4, 5, 6 може бути замінений діапазоном 1..6.

Виконується інструкція case таким чином:

1. Спочатку обчислюється значення виразу-селектора.

2. Значення виразу-селектора послідовно порівнюється з константами із списків констант.

3. Якщо значення виразу співпадає з константою із списку, то виконується відповідна цьому списку група інструкцій. На цьому виконання інструкції саsе завершується.

4. Якщо значення виразу-селектора не співпадає ні з однією константою зі всіх списків, то виконується послідовність інструкцій, наступна за else.

Синтаксис інструкції case дозволяє не писати else і відповідну послідовність інструкцій. В цьому випадку, якщо значення виразу не співпадає ні з однією константою зі всіх списків, то виконується наступна за case інструкція програми.

Приклад. Як приклад використання інструкції case розглянемо програму, яка перераховує вагу з фунтів в кілограми. Програма враховує, що в різних країнах фунт "важить" по-різному. Наприклад, в Росії фунт рівний 409,5 грамів, в Англії — 453,592 грама, а в Німеччині, Данії і Ісландії фунт важить 500 грамів.

У діалоговому вікні програми, зображеному на мал. 4, для вибору країни використовується список Країна.



Рисунок 4 Діалогове вікно програми Приклад використання Case


Для вибору назви країни використовується список — компонент ListBox. Значок компоненту ListBox знаходиться на вкладці Standard.


Таблиця 13 Властивості компоненту ListBox

Властивість

Визначає

Name

Ім'я компоненту. У програмі використовується для доступу до властивостей компоненту

Items

Елементи списку

Itemindex

Номер вибраного елементу списку. Номер першого елементу списку рівний нулю

Left

Відстань від лівої межі списку до лівої межі форми

Top

Відстань від верхньої межі списку до верхньої межі форми

Height

Висоту поля списку

Width

Ширину поля списку

Font

Шрифт, використовуваний для відображення елементів списку

Parent-Font

Ознака спадкоємства властивостей шрифту батьківської форми

Найбільший інтерес представляють властивості Items і Itemindex. Властивість items містить елементи списку.

Властивість itemindex задає номер вибраного елементу списку. Якщо жоден з елементів не вибраний, то значення властивості рівне мінус одиниці.

Список може бути сформований під час створення форми або під час роботи програми.

Для формування списку під час створення форми треба у вікні Object Inspector вибрати властивість items і клацнути на кнопці запуску редактора списку рядків.

У діалоговому вікні String List Editor, що відкрилося, потрібно ввести список, набираючи кожен елемент списку в окремому рядку. Після введення чергового елементу списку для переходу до нового рядка необхідно натиснути клавішу . Після введення останнього елементу клавішу натискати не треба. Завершивши введення списку, слід клацнути на кнопці ОК.


Таблиця 14 Компоненти форми

Компонент

Призначення

ListBoxl

Для вибору країни, для якої треба виконати перерахунок

Editl

Для введення ваги у фунтах

Label1, Label2, Label3

Для виведення тексту, пояснення, про призначення полів введення

Label4

Для виведення результату перерахунку

Button1

Для активізації процедури перерахунку ваги з фунтів в кілограми


Таблиця 15 Значення властивостей компонентів

Властивість

Значення

Form1 .Caption

Приклад використання case

Editl. Text




Label1 . Caption

Виберіть країну, введіть кількість фунтів і клацніть на кнопці Обчислити

Label2 .Caption

Країна

Label3 . Caption

Фунтів

Button1 . Caption

Обчислити

Текст програми

procedure TForm1.ButtonlClick(Sender: TObject);

var

funt:real; // вага у фунтах

kg:real; // вага в кілограмах

k:real; // коефіцієнт перерахунку

begin

case ListBoxl.Itemindex of

0: k:=0.4095; // Росія

1: k:=0.453592; // Англія

2:k:=0.56001; // Австрія

3..5,7:k:=0.5; // Німеччина, Данія, Ісландія, Нідерланди

6: k:=0.31762; // Італія

end;

funt:=StrToFloat(Editl.Text);

kg:=k*funt;

label4.caption:=Editl.Text

+ ' ф. — це '

+ FloatToStrF(kg,ffFixed, 6,3)+ 'кг.';

end;

end.

2.3.4 Інструкція goto


Інструкції if і case використовуються для переходу до послідовності інструкцій програми залежно від деякої умови. Тому їх іноді називають інструкціями умовного переходу. Крім цих інструкцій управління ходом виконання програми існує ще одна - інструкція безумовного переходу goto.

У загальному вигляді інструкція goto записується таким чином:


goto Мітка


де мітка - це ідентифікатор, що знаходиться перед інструкцією, яка повинна бути виконана після інструкції goto.

Мітка, використовувана в інструкції goto, повинна бути оголошена в розділі міток, який починається словом label і розташовується перед розділом оголошення змінних.

У програмі мітка ставиться перед інструкцією, до якої повинен бути виконаний перехід в результаті виконання інструкції goto. Відразу після мітки ставиться двокрапка.

2.4 Компоненти, які підтримують функції вибору


Компонент TCheckBox (Прапорець) використовується для того, щоб користувач міг вказати своє рішення типу так/ні або так/ні/не упевнений (у останньому випадку прапорець виглядає бляклим). Це рішення відображається у властивості State компоненту, доступній як для читання, так і для запису. У складі діалогового вікна може бути декілька компонентів TCheckBox, причому стан будь-якого з них ніяк не залежить від стану інших.

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

Розглянемо властивості цього компоненту.


Таблиця 16 Властивості компоненту TCheckBox

Властивість

Опис




type TLeftRight = (taLeftJustify, taRightJustify); property Alignment: TLeftRight;

Визначає положення тексту:

taLeftJustify - з лівого боку компоненту;

taRightJustify - з правого боку

property AllowGrayed: Boolean;




Якщо для властивості задано значення True, то прапорець при послідовних клацаннях на ньому по черзі прийматиме стани: скинутий, встановлений частково, встановлений. Стан визначається значенням властивості State, яку можна змінювати як під час проектування за допомогою інспектора об'єктів, так і в програмі. Це значення cbUnchecked, cbGrayed і cbChecked відповідно. Щоб реагувати на зміну стану прапорця, треба створити обробник події OnClick

property Caption: String;

Містить пов'язаний з компонентом текст

property Checked: Boolean;

Ця властивість приймає значення True, якщо прапорець встановлений, і False, якщо він скинутий. Це головна властивість прапорця

type TCheckBoxState = (cbUnchecked, cbChecked, cbGrayed); property State: TCheckBoxState;

Містить стан компоненту:

cbUnchecked - ні;

cbChecked - так;

cbGrayed - не упевнений

Властивість Color компоненту фактично ігнорується, а властивості Height і Width визначають розміри прямокутника, в якому виводиться пов'язаний з прапорцем текст, і ніяк не впливають на розміри самого прапорця. Текст указується у властивості Caption.

Компонент TRadioButton (Перемикач) призначений для вибору одного значення з ряду можливих. Перемикачі завжди використовуються групами.

Коли користувач вибирає наступний перемикач, те виділення з поточного перемикача автоматично знімається, таким чином, в групі виділений завжди тільки один перемикач.

Розглянемо властивості компоненту TRadioButton.


Таблиця 17 Властивості компоненту TRadioButton

Властивість

Опис




property Alignment: TAlignment;

Ця властивість аналогічно властивості прапорця. Воно визначає положення підпису справа або зліва від перемикача

property Checked: Boolean;

Так само аналогічно властивості прапорця і визначає стан об'єкту (True, якщо перемикач включений)

property Name: String;

Ім'я меню, яке автоматично буде підставлене у властивість меню форми

property Font: TFont;

З його допомогою можна різноманітити вид напису

property Caption: String;

Містить текст

Методи GetChecked і SetChecked, що дозволяють звертатися до властивості Checked і змінювати його значення, в тексті програми явно не використовуються. Вони призначені для використання в успадкованих класах TRadioButton (конкретних реалізаціях перемикача). Для відстежування стану конкретного перемикача можна обробляти подію OnClick.

Компонент TRadioGroup Якщо в програмі потрібно використовувати декілька груп перемикачів (наприклад, одну для вибору типу пристрою, а іншу для вибору його стану), то можна застосувати один з двох підходів. Перший полягає у виділенні для кожної групи спеціального об'єкту (панелі), щоб система Delphi могла зрозуміти, як об'єднуються перемикачі. Другий підхід полягає у використанні компоненту TRadioGroup (Група перемикачів), який об'єднує властивості і методи, що забезпечують підтримку роботи групи перемикачів. Після розміщення у формі компоненту TRadioGroup вхідні в нього перемикачі задаються після переліку їх назв. Ці назви вводяться у властивість Items, що має тип TString.

Розглянемо властивості компоненту TRadioGroup.


Таблиця 18 Властивості компоненту TRadioGroup

Властивість

Опис

property Columns: Integer;

Визначає кількість стовпців перемикачів

property ItemIndex: Integer;

Містить індекс встановленого перемикача

property Items: TStrings;

Містить список рядків із заголовками елементів. Додавання/видалення елементів досягається додаванням/видаленням рядків списку Items

property Caption: TCaption;

Визначає заголовок групи (за умовчанням вона називається RadioGroup1)


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


  1. Чому меню є важливим засобом організації діалогів?

  2. Що таке меню?

  3. Якими правилами слід користуватися при роботі за комп'ю­тером?

  4. Як навчитися друкувати, не дивлячись на клавіатуру комп'ю­тера?

  5. Як Object Pascal-програма в Delphi 6 отримує вихідні дані?

  6. Для яких цілей використовують функцію InputBox у Delphi 6? Як працює ця інструкція?

  7. Як працює функція StrToFloat? Для яких цілей вона викори­стовується?

  8. Запишіть фрагмент Object Pascal-програми, який забезпечить ввід початкових даних дійсних та цілих типів.

  9. Що таке діалогове вікно для вводу початкових даних в Object Pascal-програмі?

  10. Як утворити діалогове вікно для вводу чотирьох вихідних даних?

  11. Як змінити заголовок діалогового вікна (форми Forml)?

  12. Якими способами можна переключати регістри в Delphi 6?

  13. Як змінити колір вікна форми?

  14. За допомогою яких властивостей можна змінювати розміри форми?

  15. Як змінити розміри форми шляхом захвату курсором границь вікна?

  16. Які знайомі Вам компоненти знаходяться на сторінці Standard у Delphi 6?

  17. Як та для чого необхідно маркувати компоненти форми?

  18. Які властивості компонента «Поле редагування» (Edit) Ви знаєте?

  19. Що таке мітка та як вона додається у форму?

Література


1. Архангельский А. Я. Разработка прикладных программ для Windows в Delphi 5 / А.Я. Архангельский. - М.: БИНОМ, 1999. - 256 с.

2. Бобровский С. И. Delphi 7: учеб. курс / С.И. Бобровский. - СПб.: Питер, 2004. - 736 с.

3. Фаронов В. Программирование баз данных в Delphi 6: Учебный курс / В. Фаронов. - СПб.: Питер, 2002. - 352 с:ил

4. Фаронов В. В. Delphi : программирование на языке высокого уровня : учебник для студ., обуч. по напр. подготовки дипломир. спец. "Информатика и вычис. техника" / В. В. Фаронов. - СПб.: Питер, 2005. - 640 с.

5. Фаронов В.В. Delphi 6. Учебный курс. –М. Нолидж, 2004. – 425 с.







Схожі:

Лекція №2 Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів План 1 Палітру компонентів Standart 1 iconЛекція №1 Тема: Програмування на object pascal в Delphi: введення План Історія розвитку Delphi 1 1 Об\'єктно-орієнтоване програмування 1
С. Яка з мов краще відповісти достатньо складно. Проте з упевненістю можна вважати, що Pascal краще за інші мови підходить для навчання...
Лекція №2 Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів План 1 Палітру компонентів Standart 1 iconЛекція №3 Тема: Програмування в Object Delphi: оператори циклу План 1 Оператора for 1 2 Оператор while 2 3 Оператор repeat 4
Алгоритми рішення багатьох задач є циклічними, тобто для досягнення результату певна послідовність дій повинна бути виконана кілька...
Лекція №2 Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів План 1 Палітру компонентів Standart 1 iconЛекція №4 Тема: Програмування на Object Delphi: масиви План 1 Одновимірні масиви 1 1 Оголошення масиву 1 2 Виведення масиву 2 3 Введення масиву 3
Масив – це структура даних, доступ до елементів якої здійснюється по номеру індексу. Всі елементи масиву мають один тип
Лекція №2 Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів План 1 Палітру компонентів Standart 1 iconЛабораторна робота www. zol 2 inf. at. ua Тема: Програмування на Object Delphi: Файли
Мета: вивчення файлових типів даних, придбання практичних навиків створення і обробки файлів
Лекція №2 Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів План 1 Палітру компонентів Standart 1 iconПрограма предмет: «Об’єктно орієнтоване програмування» Спеціальність: радіофізика I електроніка
Середовище об'єктно-орієнтованого програмування. Установка Delphi. Запуск Delphi
Лекція №2 Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів План 1 Палітру компонентів Standart 1 iconПрактична робота № Програмування алгоритмів розгалужених обчислювальних процесів

Лекція №2 Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів План 1 Палітру компонентів Standart 1 iconПрактична робота № Програмування алгоритмів арифметичних циклічних обчислювальних процесів

Лекція №2 Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів План 1 Палітру компонентів Standart 1 iconПрактичні роботи по Visual Basic
Пр р.№ Програмування лінійних обчислювальних процесів
Лекція №2 Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів План 1 Палітру компонентів Standart 1 iconТема: Проект «Обмін валюти»
Завантажте систему візуального програмування Delphi за допомогою каскадного меню або клацніть на піктограмі Delphi
Лекція №2 Тема: Програмування на Object Delphi: програмування простих обчислювальних процесів План 1 Палітру компонентів Standart 1 iconПрактична робота № Програмування алгоритмів розгалужених обчислювальних процесів з використанням оператору Select Case

Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©te.zavantag.com 2000-2017
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи