Ціль: У режимі консольного додатка відпрацювати основний модуль задачі курсового проекту.
Послідовність виконання:
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. Відминити - відновити вивід на екран палітри компонентів
{View→ToolBars→ComponentPalette}{Вид→Панель инструментов→Палитра компонентов}.
2. Відминити - відновити вивід на екран панелі інструментів{View→ToolBars→Standard} {Вид→Панель инструментов→Стандарт}.
3. Додати кнопку на панелі інструментів, Comands{View→ToolBars→Customize(налагодження)→ вiкно зі сторінками Categories (мелю) та Comands (команди). Вибрати меню файл і команду мишкою перетягнути кнопку на панель. Видалити кнопку з панелі}.
4. Відминити - відновити вивід на екран інспектора об'єктів{View→ToolBars→ObjectInspeclor(Інспектор об’єктів)(F11)}.
5. Додати елемент в меню{Tools(інструменти)→ConfigureTools(конфігурація інструментів)→ у вікні діалогової панелі ToolOptions натиснути Add→ToolsProperties(властивосиі інструментів), натиснути Brows→ зі списку вибрати задачу, відкрити її; у вікні Title дати заголовок - наприклад Matric→Oky вікні ToolsProperties→Close→задача включена в Tools}.
6. Змінити порядок задач у списку Tools{у списці ToolOption вибрати потрібну задачу і перемістити її на початок списку кнопками MoveUp}.
7.Видалити задачу зі списка Tools{вибрати задачу зі списку Tools→Delete}.
8. Перемістити сторінку палітри компонентів System перед Standart{натиснути правою кнопкою миші на палітрі компонентів →висвітиться контексне меню Properties (властивості) → діалогове вікно PaletteProperties з двома колонками →у списці сторінок Page вибираємо System та переміщуємо її}.
9. Додати нову сторінку в палітру з назвою "37 "{в діалоговому вікні PaletteProperties натиснути на Add і вводимо нове ім 'я сторінки GR37 }.
10.Видалення сторінки{в діалоговому вікні PaletteProperties натиснути на сторінці GR37_(mo6mo вибираємо її) та на кнопку Delete}.
11.Доповнити в Знавець Коду (CodeInsight) шаблон для оператору цикла з
параметром - 1:
For |: = downtodo// Ctrl+J - виклик знавця коду
{Tools→EditionOption→CodeInsight→CodeTemplates→ натиснути Add у вікні для виводу нового шаблону shotcut+name в його короткий опис Description набираємо текст
шаблону, встановлюємо " │ " перед " : =" →зберігаємо та виходимо }.
12.Видалити шаблон із Знавця Коду{Tools→EditerOption→CodeInsight→знайти шаблон і.Del}.
13.Змінити затримку автоматичного спрацьовування CodeInsight на максимум (Delay) {Tools→EditionOption→CodeInsight→Delay→ повзунок на max = 1.5 sec→ Ok}.
Контрольні питання:
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
#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
#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 ― ' ' (очистити).