Смекни!
smekni.com

Обєктно-орієнтоване програмування МП Delphi (стр. 4 из 6)

Ціль: У режимі консольного додатка відпрацювати основний модуль задачі курсового проекту.

Послідовність виконання:

1.Запустити Delphi; відкрити новий додаток {File-NewApplication}.

2. Закрити наступні вікна:

форми Form1;

інспектора об'єктів Objectinspector;

модуль додатку Unit1.pas( без збереження ).

-на екрані лише головне вікно Delphi.

3. З меню Project-ViewSource (перегляд)- з'являється вікно головної

процедури додатка, назва Project1.dpr.

4. Набираємо текст (код) програми на Паскалі.

5. Перший рядок-{$ApptypeConsole} – директива компілятора.

6. У тексті програми перед (end.) повинeн бути оператор Readln;

зкомпілювати код програми меню {Project-Compile} і запустити в роботу

{Run--F9}.

7. На екрані – вікно Dos.

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

1. Директиви компілятора.

2. Класифікація директив.


Лабораторна робота № 11

Тема: „Налагодження інтегрованого середовища розробника”

Хід роботи:

1. Відминити - відновити вивід на екран палітри компонентів

{ViewToolBarsComponentPalette}{Вид→Панель инструментов→Палитра компонентов}.

2. Відминити - відновити вивід на екран панелі інструментів{ViewToolBarsStandard} {Вид→Панель инструментов→Стандарт}.

3. Додати кнопку на панелі інструментів, Comands{ViewToolBarsCustomize(налагодження)→ вiкно зі сторінками Categories (мелю) та Comands (команди). Вибрати меню файл і команду мишкою перетягнути кнопку на панель. Видалити кнопку з панелі}.

4. Відминити - відновити вивід на екран інспектора об'єктів{ViewToolBarsObjectInspeclor(Інспектор обєктів)(F11)}.

5. Додати елемент в меню{Tools(інструменти)→ConfigureTools(конфігурація інструментів)→ у вікні діалогової панелі ToolOptions натиснути AddToolsProperties(властивосиі інструментів), натиснути Brows→ зі списку вибрати задачу, відкрити її; у вікні Title дати заголовок - наприклад MatricOky вікні ToolsPropertiesCloseзадача включена в Tools}.

6. Змінити порядок задач у списку Tools{у списці ToolOption вибрати потрібну задачу і перемістити її на початок списку кнопками MoveUp}.

7.Видалити задачу зі списка Tools{вибрати задачу зі списку ToolsDelete}.

8. Перемістити сторінку палітри компонентів System перед Standart{натиснути правою кнопкою миші на палітрі компонентів →висвітиться контексне меню Properties (властивості) → діалогове вікно PaletteProperties з двома колонками →у списці сторінок Page вибираємо System та переміщуємо її}.

9. Додати нову сторінку в палітру з назвою "37 "{в діалоговому вікні PaletteProperties натиснути на Add і вводимо нове ім 'я сторінки GR37 }.

10.Видалення сторінки{в діалоговому вікні PaletteProperties натиснути на сторінці GR37_(mo6mo вибираємо її) та на кнопку Delete}.

11.Доповнити в Знавець Коду (CodeInsight) шаблон для оператору цикла з

параметром - 1:

For |: = downtodo// Ctrl+J - виклик знавця коду

{ToolsEditionOptionCodeInsightCodeTemplates→ натиснути Add у вікні для виводу нового шаблону shotcut+name в його короткий опис Description набираємо текст

шаблону, встановлюємо " │ " перед " : =" зберігаємо та виходимо }.

12.Видалити шаблон із Знавця Коду{ToolsEditerOptionCodeInsightзнайти шаблон і.Del}.

13.Змінити затримку автоматичного спрацьовування CodeInsight на максимум (Delay) {ToolsEditionOptionCodeInsightDelay→ повзунок на max = 1.5 secOk}.

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

1. Налагодження палітри компонентів.

2. Налагодження панелі інструментів.

3. Налагодження меню Tools.

4. Корегування знавця коду.


Тема: Введення й обробка елементів масиву

ІВизначити конкретне значення елементів масиву ми можемо з використанням компонентів сторінки StandardEdit ( вікно редагування), при цьому на вихідній формі необхідно передбачити таку кількість віконець Edit, скільки елементів має масив.

Edit .Text- інформація символьного типу, для обробки числових значень необхідне перетворення типів:

· StrToFloat, StrToInt – перетворення символьного в числове;

· FloatToStr, IntToStr – зворотне перетворення для висновку результату.

При такому заданні масиву необхідно заздалегідь визначати і чітко фіксувати кількість елементів ( розмірність масиву).

ІІПри великій розмірності масиву незручно використовувати величезну кількість вікон редагування. Масив можна вводити по рядкам в таблицю елементів, де кожне число знаходитися в окремому клітинці. При цьому елементи розділяються пробілом. Компонент StringGrid знаходитися на сторінці Add itional .

Властивості компонентаStringGrid:

1. Name – ім'я, що використовується в програмі для звернення до об'єкта;

2. ColCount– кількість стовпчиків (стовпців);

3. RowCount – кількість рядків;

4. Cells ім'я масиву ,відповідного таблиці.

5. FixedCols – кількість фіксованих зліва стовпчиків;

6. FixedRows – кількість фіксованих зверху рядків;

7. Options.goEditing – можливість редагування вмісту клітинок таблиці;

8. Options.goTab – можливість переходу до наступного елементу клавішею “Tab”;

9. DefaultColWidth – визначає ширину стовпчиків таблиці;

10. DefaultRowWidth – висота рядків таблиці.

11. OptionsGoAlwaysShowEditor – при значенні False, після набору тексту необхідно натиснути F2, чи клацнути миша при значенні True – редагування виконується автоматично.

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

ВластивостіMemo:

Name -- ім'я компонента, що використовується в тексті програми;

Lines– номер рядка, номерація починається з нуля (номер задається в «[ ]»);

Text – символьна інформація, що визначає значення елементів масиву.

IV. Введення даних у масив з використанням списку List Box (Standard).

Властивості ListBox :

Items – елементи списку;

ItemIndex – номер обраного елемента списку ( на початку роботи «0»).

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

У вікні Object Inspector вибрати властивості Items і клацнути на кнопці....., відкривається діалогове вікно редактора списку рядків ( StringList Editor). Кожен елемент набирати з нового рядка і завершувати «Enter». Після введення всіх елементів списку натиснути «ОК».

Процедура обробки події OnKeyPress

( перевірка коректності введення цілих чисел)

Procedure Tform1.StringGridKeyPress (Sender:Tobject; Var Key : char );

Begin

Case Key of

#8,’0’..’9’ : ; // Цифриіклавіша <Back Space>

#13; // Клавіша <Enter>

If StringGrid1. Col < StringGrid1.ColCount – 1

Then StringGrid . co l : = StringGrid1.col + 1

Else key : = Chr(0);// iнші символи заборонені

End;

End;

Перевірка коректності введення дійсних чисел

Procedure Tform1.StringGridKeyPress (Sender:Tobject; Var Key : char );

Begin

Case Key of

#8,’0’..’9’ : ; // Цифриіклавіша <Back Space>

#13; // Клавіша <Enter>

If StringGrid1. Col < StringGrid1.ColCount – 1

Then StringGrid . co l : = StringGrid1.col + 1;

‘. ‘ , ’,’ : // Роздільник цілої і дробової частин числа

Begin

If Key <> DecimalSeparator then

Key : = DecimalSeparator ; //Замінимороздільникнаприпустимий

If Pos ( StringGrid1. cells [ StringGrid . Col , 0] , DecemalSeparator ) <> 0

Then Key : = chr ( 0); // Заборонавведенняповторногороздільника

End;

‘ – ‘ : // мінус можна ввести тільки першим символом

// тобтоколикоміркапорожня

If Length ( StringGrid1.Cells [ StringGrid1 . Col , 0 ] ) <> 0

then Key : = Chr ( 0 )

else / / Іншісимволизаборонені

key : = Chr (0);

end; { end case}

end; { endproc}

Лабораторна робота № 12.

Тема: Обробка двовимірного масиву.

Мета: Освоїти методи обробки масиву.

Постановка задачі: Підрахувати середній бал студентів за підсумками сесії. За запитом виводити середній бал по всій групі.

Хід роботи:

I. Відкрити новий додаток. Дати заголовок Form1.Caption ― 'Підсумки сесії':

Розмістити на формі:

1) Зі сторінки Standard- мітку Label1; властивість Caption ― 'Підсумки сесії по групі 37_';

2) Зі сторінки Additional- таблицю рядків StringGrid1; встановити властивості:

ColCount ― 5 {Кількість стовпців};

RowCount ― 5 {Кількість рядків};

FixedCols ― 0 {Кількість фіксованих стовпців};

FixedRows ― 1 {Кількість фіксованих рядків};

Name ― StringGrid1 ( або SG1 );

Options.goEditing ― True{Редагування клітинок таблиці};

Options.goTab ― True;

3) ЗісторінкиStandard-прапорецьCheckBox; встановитийоговластивістьCaption ― 'Середнійбалпогрупі';

4) ЗісторінкиStandard-кнопкуButton1; встановитивластивістьCaption ― 'Пуск';

5) ЗісторінкиStandardдлявиведеннясередньогобалапогрупі-Label2 (чиPanel1); Caption ― ' ' (очистити).