- •Методичні рекомендації до проведення лабораторних робіт
- •5.05010201 «Обслуговування комп’ютерних систем і мереж»
- •5.05010201 «Обслуговування комп’ютерних систем і мереж»
- •Затверджено методичною радою коледжу
- •Лабораторна робота №1. Тема: Програмування алгоритмів циклічної структури. Оператор циклу з параметром. Оператори циклу while, repeat.
- •Хід роботи
- •Лабораторна робота №2. Тема: Робота з одновимірними масивами.
- •Хід роботи
- •Дії над масивами. Заповнення масиву даними
- •Теоретичні відомості до лабораторної роботи № 2 . Масиви.
- •Виведення масиву.
- •Дії з одновимірними масивами
- •Сортування масиву
- •Лабораторна робота №3. Тема: Сортування масивів. Робота з двовимірними масивами.
- •Хід роботи
- •Лабораторна робота №4. Тема: Процедури та функції. Рекурсивні функції. Відкриті масиви
- •Хід роботи
- •Використання процедур без параметрів та з параметрами.
- •Використання функцій.
- •Лабораторна робота №5. Тема: Робота з даними рядкового типу.
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 5 . Рядки (string)
- •Змінну рядкового типу оголошують за допомогою слова string так:
- •Лабораторна робота №6. Тема: Модулі користувача. Модулі crt і graph.
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 6. Модулі.
- •Виведення тексту
- •Приклад виводу тексту.
- •Поняття модуля
- •Структура модуля
- •Компіляція модулів
- •Стандартні модулі Короткий опис модулів
- •Графіка
- •Лабораторна робота №7. Тема: Записи. Команда приєднання (with).
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 7. Поняття запису
- •Оператор with
- •Лабораторна робота №8. Тема: Робота з текстовими файлами. Використання типізованих файлів.
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 8. Файли і робота з ними.
- •Лабораторна робота № 1. Тема: Створення форми «Анкета студента». Об'єкти: форма, текстове поле, зображення, кнопка. Програмування кнопок.
- •Хід роботи.
- •Збережіть створюваний проект в своїй папці.
- •Візуально ознайомтеся з властивостями форми Left, Top, Width і Height.
- •Змініть колір фону форми.
- •Вставте у форму текстове поле (об'єкт типу Label) з текстом «Анкета студента».
- •Вставте у форму об'єкт типу Image (картинка).
- •Накладіть свою художню фотографію на портретну, вставивши у форму ще один об'єкт типу Image.
- •Запрограмуйте кнопку «Портретна фотографія» так, щоб після її натиснення у формі з'являлася портретна фотографія
- •Запрограмуйте кнопку «Художня фотографія» відповідно її призначенню
- •Лабораторна робота № 2. Тема: Задача «Обмін валюти».
- •Хід роботи.
- •Збережіть створений проект в своїй папці.
- •Теоретичні відомості до лабораторної роботи.
- •Лабораторна робота № 3. Тема: Задача «Табулювання функції».
- •Хід роботи.
- •Збережіть виконану на даний момент форму в своїй папці.
- •Запрограмуйте команду «Вихід» головного меню, скориставшись стандартною процедурою Close.
- •Запрограмуйте команду «Очистити поле виведення» контекстного меню.
- •Запустіть створену на цей момент програму і досліджуйте її роботу.
- •Запрограмуйте команду «Табулювати».
- •Лабораторна робота № 4. Тема: Задача «Біржа цінних паперів».
- •Хід роботи.
- •Збережіть виконану на даний момент форму в своїй папці (FileSave All).
- •Вставте у форму три таблиці текстових рядків StringGrid.
- •Розмістіть на формі текстові поля так, як показано в пункті 5.
- •У вікні тексту програми перед розділом Implementation введіть опис констант і змінних програми:
- •Запрограмуйте кнопки SpeedButtonl і SpeedButton2 таким чином:
- •У вікні тексту програми після розділу Implementation введіть опис методу Refresh форми
- •Запрограмуйте процедуру створення форми FormCreate.
- •Збережіть виконану на даний момент роботу в своїй папці.
- •Лабораторна робота № 5. Тема: Задача «Телефонний довідник».
- •Хід роботи.
- •Відкрийте нову форму з багатосторінковим блокнотом.
- •Виділіть (клацнувши усередині сторінки мишею) і видаліть (Delete) третю сторінку блокнота TabSheet3.
- •Заповніть обидві сторінки форми візуальними об'єктами так, як це показано на малюнку.
- •Збережіть виконану на даний момент форму в своїй папці (FileSave All).
- •Д одайте на форму команди головного меню і введіть назви його команд, як показано на малюнку.
- •Створіть вікно форми «Про програму».
- •Запрограмуйте кнопку Ok вікна «Про програму».
- •Видаліть непотрібну порожню форму Form1 з проекту.
- •Напишіть процедуру створення форми.
- •Напишіть процедуру заповнення полів редагування NewEdit.
- •Напишіть процедуру заповнення комбінованого списку NewComboBox.
- •Запрограмуйте кнопку переходу на попередній запис «Попередній».
- •Аналогічно запрограмуйте кнопку «Наступний».
- •Збережіть програму і переконайтеся в правильності її роботи.
- •Створіть ехе-файл програми.
- •Закрийте Delphi, запустіть створену програму .
- •Продемонструйте створену форму викладачеві.
- •Лабораторна робота №6 Тема: Створення програми: текстовий редактор «Блокнот».
- •Хід роботи.
- •Завантажте систему візуального програмування Delphi.
- •Створення інтерфейсної частини
- •Створення головного меню
- •Створення програмної частини.
- •Лабораторна робота № 7. Тема: Задача «вивчення англійської мови».
- •Хід роботи.
- •Введіть опис глобальних констант програми:
- •Запрограмуйте процедури: створення форми FormCreate, Вставки в неї малюнків SetPicture, виведення інформації про результати тестів Information і кнопку Ex:
- •Введіть опис глобальних змінних модуля:
- •Аналогічно запрограмуйте перетаскування двох інших малюнків.
- •Створіть ще одну функцію Position1, для перевірки, чи знаходиться малюнок на даній фігурі, чи ні.
- •Запрограмуйте кнопку «Далі» для перевірки правильності розташування малюнків і для формування наступних малюнків
- •Запрограмуйте другий таймер, який забезпечує індикацію часу від 100% до 0%, зворотно пропорційно числу в SpinEditl. Кнопка «Далі» повинна бути активною, якщо всі малюнки розставлені.
- •Збережіть програму в своїй папці.
- •Створіть ехе-файл програми.
- •Закрийте Delphi, запустіть створену програму.
- •Продемонструйте створену програму викладачеві.
- •Оформіть звіт по лабораторній роботі: тема і мета роботи; послідовність виконання роботи, завдання до лабораторної роботи.
- •Лабораторна робота №8. Тема: Програмування гри «о, щасливчик!».
- •Хід роботи.
- •Компіляція і запуск програми
- •Шифрування бази відповідей
- •Лабораторна робота № 9.
- •Тема: Проектування субд в середовищі delphi.
- •Мета: Ознайомитись з компонентами роботи з субд.
- •Постановка завдання:
- •Короткі теоретичні відомості. Створення і перегляд псевдонімів баз даних
- •Хід роботи.
- •Створення звітів
- •Варіант контрольного завдання:
Хід роботи.
Для створення таблиці скористаємося утилітою DataBase DeskTop. Вибрати шлях (C :/ Program Files / Common Files / Borland Shared / DataBase DeskTop/Dbd32.exe
Для створення таблиці виберіть в меню програми File-New-Table.
У даній СУБД будемо використовувати формат Paradox. Виберіть його зі списку у вікні.
На екрані з'явиться вікно створення бази даних. У стовпці Field Name введіть ім'я поля (не повинно містити пробілів).
У стовпці Type виберіть з контекстного меню (правий клік миші) тип поля. Для строкових полів необхідно вказати розмір (стовпець Size).
Створіть таблицю наступної структури:
І’мя поля
Тип поля
Опис
Nomer
Longlnteger
Key
Rayon
Alpha[20]
Район проживания
Surname
Alpha[20]
Прізвище ініціали
DataBorn
Date
Дата народження
Goden
Logical
Після створення таблиці натисніть кнопку SaveAs. Виберіть шлях ð Створіть папку Військкомат ð вкажіть ім'я файлу maintable.db У вікні в області Alias вибрати псевдонім бази даних Standard1.
Створення основного вікна програми:
Перейменуйте головне вікно програми - змініть властивість Caption для Form1.
Помістіть на форму компонент PageControl (вкладка Win32). Встановіть компоненту наступне властивість:
Align (Вирівнювання) - alClent (на все вікно)
Клацніть правою клавішею мишки по компоненту і створіть дві нові сторінки New Page (TabSheet1, TabSheet2).
Перейменуйте сторінки відповідно - Введення інформації і Пошук інформації. Для цього необхідно в списку Інспектори об'єкта вибрати об'єкт і змінити його властивість Caption.
Помістіть на форму об'єкт MainMenu (вкладка Standard). Клацніть по компоненту два рази і створіть пункт меню Дані, який містить наступні підпункти: Введення інформації, Пошук даних, Копіювання таблиці, Вихід. Для створення роздільника в меню необхідно ввести «-» - дефіс.
Помістіть на форму (лист Введення Інформації) такі компоненти:
Table (вкладка BDE);
DataSource (вкладка Data Access);
DBGrid, DBNavigator (вкладка Data Controls).
Встановіть компонентам наступні властивості: Table:
DatabaseName (псевдонім бази даних) - вибираємо зі списку свій Alias.
TableName - вибираємо ім'я своєї таблиці.
AutoRefresh (оновлення структури таблиці) - встановлюємо значення true.
Active - встановлюємо true - підключаємо таблицю.
DataSource:
DataSet (джерело даних) - вибираємо Table1.
DBGrid, DBNavigator:
властивості DataSource встановлюємо значення DataSource1.
Align (вирівнювання): DBGrid - alClient (на все вікно), DBNavigator - alBottom (внизу вікна).
Подвійним клацанням по компоненту Table1 викличте редактор полів. В контекстному меню (клацання правою клавішею по редактору), виберіть пункт Додати всі поля. Якщо якесь поле бачити на екрані не потрібно, визначте його властивість Visible - False. Для інших полів у властивості DisplayLabel напишіть відображаються заголовки стовпці: Номер особової справи, Район, П.І.Б., Дата народження, Годен.
На даному етапі вид форми повинен бути наступним:
Відкрийте програму і перевірте, як воно працює. Сформуйте базу даних.
Перейдіть на вкладку Пошук інформації. Помістіть на неї наступні компонентиі:
DBGrid (Align - Top);
Query (вкладка BDE)
DataSorce;
PageControl (додайте 3 нових листа);
RadioGroup (вкладка Standard)
Розташуйте компоненти наступним чином:
Встановіть властивості Multiline компонент PageControl2 значення True. Перейменуйте сторінки: Список по початковій букві прізвища, Список призовників по року, Придатні призовники по району.
Задайте властивості Caption компонента RadioGroup1 значення: Сформувати список.
Клацніть по властивості Items компонента і заповніть Редактор списку рядків, як показано нижче:
Встановимо властивості ItemIndex компонента RadioGroup значення 0, щоб за замовчуванням був обраний перший перемикач.
Отримуємо наступний вигляд:
Клацніть по вкладці Список призовників по року. Помістіть на неї компоненти Label, Edit (вкладка Standard) і BitBtn (вкладка Additional).
Перейменуйте і розмістіть компоненти наступним чином:
Для того, щоб зробити шрифт жирним, використовуйте властивість Font компоненту. Щоб розмістити на кнопці малюнок використовуйте властивість Glyph. Стандартні заготовки Delphi розташовані в папці: С: \ Program Files \ Common Files \ Borland Shared \ Images. Виберіть каталог Buttons файл Chek.Возможни ваші варіанти.
Таким же чином оформимо вкладки Придатні призовники по району та Список по початковій букві прізвища.
На цьому «оформлювальна робота» закінчена. Приступимо до програмування.
Створіть наступний обробник події OnClick для компонента RadioGroup1:
procedure Tform1.RadioGroup1Click(Sender: Tobject);
var Kolp, Kolnp, I:integer;
begin
Case RadioGroup1.ItemIndex of
0 : begin {если выбран первый переключатель}
query1.SQL.Clear; {закрываем запрос}
query1.SQL.Add('Select *from MainTable'); {в лапках йде SQL запрос}
query1.Open;
end;
1 : begin
query1.SQL.Clear;
query1.SQL.Add(‘Select *from MainTable where goden = true’);
query1.Open;
end;
2 : begin
Table1.First;
Kolp:=0;Kolnp:=0;
for I:=1 to Table1.RecordCount do
Begin
if (Table1.FieldByName(‘goden’).AsBoolean = true) then
Kolp:=Kolp + 1
else KolnP:=KolnP + 1;
Table1.Next;
end;
Messagedlg(Кількість годних = '+IntToStr(KolP)+#13+
'Кількість негодних = '+IntToStr(KolnP),mtInformation,[mbOk],0);
end;
3 : begin
query1.SQL.Clear;
query1.SQL.Add(‘Select *from MainTable order by surname ASC’);
query1.Open;
end;
4 : begin
query1.SQL.Clear;
query1.SQL.Add(‘Select *from MainTable order by surname DESC’);
query1.Open;
end;
5 : begin
query1.SQL.Clear;
query1.SQL.Add(‘Select *from MainTable where databorn = (Select min(databorn) from MainTable)’);
query1.Open;
end;
6 : begin
query1.SQL.Clear;
query1.SQL.Add(‘Select *from MainTable where databorn = (Select max(databorn) from MainTable)’);
query1.Open;
end; end; end;
Перейменуйте компонент DataSorce2 в QueryDataSorce (змінюючи властивість Name). Задайте його властивості DataSet значення Query1.
Зв'яжіть компонент DBGrid2 з компонентом Query1 за допомогою компонента QueryDataSorce (виберіть його зі списку у властивості DataSorce компонента DBGrid2).
Для компонента Query1 виберіть у властивості DateBaseName свій Alias.
У властивості SQL компонента напишіть: select * from maintable.db
Задайте властивості Active компонента Query1 значення True.
Подвійним клацанням по компоненту Query1 викличте редактор полів. Перейменуйте поля, як це робили раніше, з компонентом Table1.
Запустіть програму на виконання і подивіться на результат.
Для події OnClick кнопки «Скласти список» вкладки «Список призовників по року» запишіть обробник:
procedure Tform1.BitBtn1Click(Sender: Tobject);
var sData,S:AnsiString;
begin
sData:=Edit1.Text;
if sData=’’ then
begin
ShowMessage(‘Рік не введен!’);
exit
end;
S:=’Select *from MainTable where databorn <= ‘’01.01.’+ IntToStr(StrToInt(Edit1.Text)-18)+’’’’;
query1.SQL.Clear;
query1.SQL.Add(S);
query1.Open;
end;
14. Для події OnClick кнопки «Показати» вкладки «Список по початковій букві прізвища» запишіть обробник:
procedure Tform1.BitBtn3Click(Sender: Tobject);
var S,s1,s2 : AnsiString;
begin
s2:=’%’;
s1 := ‘’’’ + Edit3.Text + s2 +’’’’;
S:=’Select *from MainTable where surname Like’+s1;
query1.SQL.Clear;
query1.SQL.Add(S);
query1.Open;
end;
Для події OnClick кнопки «Вивести кількість по району» вкладки «Придатні призовники по району» запишіть обробник:
procedure Tform1.BitBtn2Click(Sender: Tobject);
var KolP,I:integer;
begin
Table1.First;
KolP:=0;
for I:=1 to Table1.RecordCount do
Begin
if ((Table1.FieldByName(‘goden’).AsBoolean = true) and (Table1.FieldByName(‘rayon’).AsString = Edit2.Text)) then
KolP:=Kolp + 1;
Table1.Next;
end;
Messagedlg(‘Количество годных по району ‘+ Edit2.Text+’ = ‘+IntToStr(KolP),mtInformation,[mbOk],0);
Edit2.Text:=’’;
end;
Обробіть подію OnClick для пунктів меню:
Для підпункту Введення інформації:
procedure Tform1.N2Click(Sender: Tobject);
begin
Pagecontrol1.ActivePageIndex := 0;
end;
Для підпункту Пошук даних:
procedure Tform1.N3Click(Sender: Tobject);
begin
Pagecontrol1.ActivePageIndex := 1;
end;
Для підпункту Копіювання таблиці:
procedure Tform1.N6Click(Sender: Tobject);
begin
Query1.Close; Query1.SQL.Clear;
Query1.SQL.Add(‘insert into ArhivTable select * from maintable’);
Query1.ExecSQL; Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(‘select * from ArhivTable’);
Query1.Open;
ShowMessage('Архивная таблица создана!')
end;
Для підпункту Вихід:
procedure Tform1.N5Click(Sender: Tobject);
begin
close
end;
В обробнику події OnCloseQuery для Form1 напишіть:
procedure Tform1.FormCloseQuery(Sender: Tobject; var CanClose: Boolean);
begin
if (Messagedlg(‘Выйти из программы?’, mtConfirmation, [mbYes,mbNo], 0)=mrYes) then Canclose := true
else CanClose := false;
end;
