Лекція №1 Тема: Програмування на object pascal в Delphi: введення

Вид материалаЛекція

Содержание


3 Структура програми
Блок складається з двох частин: описової і старанної. У описовій частині
4 Введення і виведення даних
ShowMessage(const Msg: string)
Тип повідомлення
Напис на кнопці
Діалог завершений натисненням кнопки
Висновок в полі діалогового вікна
Введення інформації
5 Процедури і функції
5.1 Структура процедури
5.2 Структура функції
Подобный материал:
1   2   3   4   5   6

3 Структура програми


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

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


Program < Ім'я програми >;

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

1. підключення модулів;

2. оголошенні міток;

3. оголошення констант;

4. описи типів даних;

5. оголошення змінних;

6. описи процедур і функцій.

В кінці кожного з вказаних розділів ставиться крапка з комою.


Структуру програми в загальному випадку можна представити таким чином:

Program < Ім'я програми >;

Uses < Список модулів >;

Label < Список міток >;

Const < Список констант >;

Турі < Опис типів >;

Var < Оголошення змінних >;

< Опис процедур >;

< Опис функцій >;

Begin

<оператори>;

End.

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

Розділ підключення модулів складається із зарезервованого слова uses і списку імен стандартних і призначених для користувача бібліотечних модулів, що підключаються. Формат цього розділу:

Uses < Ім’я 1>, < Ім’я 2>,..., <Ім’я N>;

Наприклад

Uses Crt, Dos, MyLib;

Розділ оголошення міток починається зарезервованим словом Label, за яким слідують імена міток, розділені комами. Формат даного розділу:

Label < Ім’я 1>, < Ім’я 2>,..., < Ім’я N>;

У програмі цей розділ може виглядати так:

Label metka1, metka2, 10, 567;

У розділі оголошення констант проводиться привласнення ідентифікаторам констант їх значень. Розділ починається ключовим словом const, за яким слідує ряд конструкцій, що привласнюють константам значення. Ці конструкції є ім'ям константи і вираз, значення якого привласнюється константі. Ім'я константи відокремлене від виразу знаком рівності, в кінці конструкції ставиться крапка з комою. Формат цього розділу:

< ідентифікатор 1> = < Вираження >;

.

< ідентифікатор N> = < Вираження >;

Приклад. Оголошення констант.

Const stl =‘WORD’; ch =‘5’; n34 = 45.8;

Тип константи розпізнається компілятором автоматично на підставі типу виразу.

У Delphi є велика кількість констант, які можна використовувати без їх попереднього оголошення, наприклад, Nil, True і MaxInt.

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

Турі < Ім’я типа 1> = < Опис типа >;

.

< Ім’я типа N> = < Опис типа >;

Наприклад

Type char2 = ('а'..'z');

massiv = array[1..100] of real;

month = 1. .12;

У Delphi є багато стандартних типів, що не вимагають попереднього Опису: Real, Integer, Char, Boolean і ін.

Кожна змінна програми повинна бути оголошена. Оголошення обов'язково передує використанню змінної. Розділ оголошення змінних починається з ключового слова var, після якого через коми перераховуються імена змінних і через двокрапку їх тип. Формат розділу:

Var < ідентифікатори >:<тип>;

.

< ідентифікатори >:<тип>;


Наприклад

Var а, bht u7 : real;

simvol : char;

n1, n2 : integer;

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

Розділ операторів починається з ключового слова Begin, після якого слідують оператори мови, розділені крапкою з комою. Завершує цей розділ ключове слово End, після якого указується крапка. Формат розділу:


Begin

< оператор 1 >;

.

< оператор N >;

End.

Тут можуть використовуватися будь-які оператори мови, наприклад, оператор привласнення або умовний оператор.


4 Введення і виведення даних


Виведення інформації Виведення інформації завжди має на увазі виведення рядків тексту. Тому для виведення числових констант і змінних їх необхідно перетворювати в текст наступними функціями:

IntToStr (ціле число);

FloatToStr(дійсне число);

Для виведення інформації на екран використовується процедура

ShowMessage(const Msg: string);

Тут MSG – рядок тексту, увязнена в апострофи, або сукупність рядків, сполучених знаком +.

Можна проводити виведення числових даних, символів, рядків, арифметичних виразів, елементів масивів, полів записів і інших даних. Але заздалегідь всі вони повинні бути перетворені в строкову константу відповідними функціями.

Приклад.

ShowMessage (‘Число сторін =’+IntToStr(5));

ShowMessage (‘Довжина сторони =’+FloatToStr(5.25));

Для висновку можна використовувати деякі компоненти форми, у яких є властивість CAPTION.

Form1.Caption:=’X=’+IntToStr(78);

Label1.Caption:=’Y=’+FloatToStr(567.89);

Компонент EDIT спеціально передбачений для введення і висновку. Для висновку можна використовувати його властивість TEXT

Edit1.Text := FloatToStr(-667.98);


Функція MessageDlg більш універсальна. Вона дозволяє помістити у вікно з повідомленням один із стандартних значків, наприклад «Увага», задати кількість і тип командних кнопок і визначити, яку з кнопок натиснув користувач

Звернення до функції MessageDlg в загальному вигляді:

Вибір :=MessageDlg (повідомлення, тип повідомлення, кнопки, довідка);

де: повідомлення - текст повідомлення (рядок символів);

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


Таблиця 8 Константи типів повідомлення функції MessageDlg

Константа

Тип повідомлення

Значок

mtlnformation

Інформація



mtWarning

Увага



mtCustom

Звичайне повідомлення

Без значка

mtError

Помилка



mtConfirmation

Запит підтвердження




Кнопки - це список кількості і виду кнопок вікна повідомлення. Список може складатися з декількох розділених комами іменованих констант - типів кнопок. Весь список замикається в квадратні дужки.


Таблиця 7 Список іменованих констант - типів кнопок

Константа

Напис на кнопці

Визначає

mbYes

Yes

Так

mbAbort

Abort

Припинити

mbNo

No

Hет (відмова)

mbAll

All

Все (для всіх)

mbCancel

Cancel

Відмінити

mblgnore

Ignore

Ігнорувати

mbRetry

Retry

Повторити

mbOk

OK

Добре (згода)

mbHelp

Help

Допомога (довідка)


Наприклад, для того, щоб у вікні повідомлення були присутні кнопки «Cancel», «Abort», «Ignore», список кнопки повинен складатися з 3-х констант: [mbCancel, mbAbort, mblgnore].

Функція MessageDlg може використовувати також ще три константи: mbAbortRetryIgnore, mbYesNoCancel, mbOkCancel. Вони визначають комбінації командних кнопок, які часто використовуються в діалогових вікнах.

Довідка - це параметр, який визначає номер екрану довідкової системи, який з'являється при натисненні на клавішу F1 в той час, коли вікно повідомлення знаходиться на екрані дисплея. Якщо використання довідкової системи не передбачається, то у функції MessageDlg параметр «довідка» повинна дорівнювати нулю.

Значення функції MessageDlg дозволяє визначити, яка з командних кнопок була натиснута. У таблиці 8 приведено перелік констант, які ідентифікують натиснуту кнопку.


Таблиця 8 Константи, які ідентифікують натиснуту кнопку

Константа

Діалог завершений натисненням кнопки

mrYes

Yes

mrAbort

Abort

mrNo

No

mrAU

All

mrCancel

Cancel

mrlgnore

Ignore

mrRetry

Retry

mrOk

OK

Висновок в полі діалогового вікна

Частина діалогового вікна, призначена для виведення інформації називається полем висновку або полем мітки. Для того, щоб в полі висновку з'явився текст, досить привласнити значення властивості Caption цього поля. Властивість Caption поля мітки має символьний тип. Тому, для того щоб вивести в це поле значення числового типа, не обхідний заздалегідь перетворити початкове значення на рядок символів, наприклад;

Labell.Caption := FloatToStr(у);


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

StrToInt (рядок); - в ціле число

StrToFloat (рядок); - в дійсне число

Для введення використовується функція

InputBox (const ACaption, APrompt, ADefault: string)

Тут ACaption, APrompt, ADefault – рядки тексту, ув’язнені в апострофи, або сукупності рядків, сполучених знаком +, що позначають заголовок вікна введення, підказку, значення за умовчанням.

Приклад.

f:= InputBox(' Введення ',’ Введіть значення Х', '20’);

Потім введене значення треба перетворити до речовинного значення змінної Х.

X:= StrToFloat (f);

Компонент EDIT спеціально передбачений для введення і висновку. Для введення можна використовувати його властивість TEXT

Х := StrToFloat(Edit1.Text).

5 Процедури і функції


При програмуванні в Delphi робота програміста полягає в основному в розробці процедур (підпрограм) обробки подій.

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

У мові Object Pascal основною програмною одиницею є підпрограма. Розрізняють два види підпрограм: процедури і функції. Як процедура, так і функція, є послідовністю інструкцій, призначених для виконання деякої роботи. Щоб виконати інструкції підпрограми, треба викликати цю підпрограму. Відмінність функції від процедури полягає в тому, що з ім'ям функції пов'язано значення, тому ім'я функції можна використовувати у виразах.

5.1 Структура процедури


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

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

procedure Ім'я ( Список Параметрів );

const

// тут оголошення констант


type

// тут оголошення типів var

// тут оголошення змінних

begin

// тут інструкції програми

end;

Заголовок процедури складається із слова procedure, за яким слідує ім'я процедури, яке використовується для виклику процедури, активізації її виконання. Якщо у процедури є параметри, то вони указуються після імені процедури, в дужках. Завершується заголовок процедури символом "крапка з комою".

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

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

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

За розділом оголошення змінних розташований розділ інструкцій. Розділ інструкцій починається словом begin і закінчується словом end, за яким слідує символ "крапка з комою".

5.2 Структура функції


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

Оголошення функції в загальному вигляді виглядає таким чином:

function Ім'я ( Список Параметрів ) : Тип;

const // почало розділу оголошення констант

type // почало розділу оголошення типів

var // почало розділу оголошення змінних

begin // почало розділу інструкцій

result := Значення; // пов'язати з ім'ям функції значення

end;

Заголовок функції починається словом function, за яким слідує ім'я функції. Після імені функції в дужках приводиться список параметрів, яки через двокрапку указується тип значення, повертаємого функцієї (тип функції). Завершується заголовок функції символом "крапка з комою".

За заголовком функції слідують розділи оголошення констант, типів і змінних.

У розділі інструкцій, крім змінних, перерахованих в розділі опису змінних, можна використовувати змінну result. Після закінчення виконання інструкцій функції значення цієї змінної стає значенням функції. Тому серед інструкцій функції обов'язково повинна бути інструкція, що привласнює змінній result значення. Як правило, ця інструкція є останньою виконуваною інструкцією


Контрольні питання
  1. Хто і коли запропонував мову Pascal?
  2. Назвіть складові частини Object Pascal-програми.
  3. Для яких цілей використовуються клавіші Backspace та Delete?
  4. За допомогою яких клавіш, та яким чином вилучити з тексту програми один рядок?
  5. Як запустити Delphi 6 з робочого столу?
  6. Як запустити Delphi 6 шляхом вибору команди головного меню Windows?
  7. Як утворити свою папку у Delphi 7?
  8. Чим відрізняється мова Object Pascal від Turbo Pascal?
  9. Що входить до структури проекту?
  10. Що таке термінатор програми?
  11. Які типи коментарів має Object Pascal?
  12. Що називається об'єктом, полем об'єкту та методом?
  13. Що Ви розумієте під терміном ООП?



Література


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 с.