- •Лабораторна робота № 5.
- •Виконання роботи
- •Відкрийте нову форму з багатосторінковим блокнотом.
- •Виділіть (клацнувши усередині сторінки мишею) і видаліть (Delete) третю сторінку блокнота TabSheet3.
- •Заповніть обидві сторінки форми візуальними об'єктами так, як це показано на малюнку.
- •Видаліть непотрібну порожню форму Form1 з проекту.
- •Збережіть виконану на даний момент форму в своїй папці (FileSave All).
- •Д одайте на форму команди головного меню і введіть назви його команд, як показано на малюнку.
- •Створіть вікно форми «Про програму».
- •Запрограмуйте кнопку Ok вікна «Про програму».
- •Напишіть процедуру створення форми.
- •Напишіть процедуру заповнення полів редагування NewEdit.
- •Напишіть процедуру заповнення комбінованого списку NewComboBox.
- •Запрограмуйте кнопку переходу на попередній запис «Попередній».
- •Аналогічно запрограмуйте кнопку «Наступний».
- •Збережіть програму і переконайтеся в правильності її роботи.
- •Створіть ехе-файл програми.
- •Закрийте Delphi, запустіть створену програму .
- •Продемонструйте створену форму викладачеві.
Збережіть виконану на даний момент форму в своїй папці (FileSave All).
Для цього виконаєте команду головного меню File => Save All (Зберегти Все) або натисніть на кнопку Save All на панелі інструментів.
У вікні Save Unit as за допомогою списку виберіть свою папку, створіть в ній папку Tel_Spr і відкрийте її, задайте назву для файлу тексту програми UTelSpr, заздалегідь видаливши запропоновану комп'ютером назву Unitl => кнопка Зберегти.
У наступному вікні «Save Projectl As» введіть назву файлу проекту PTelSpr, видаливши запропоновану комп'ютером назву Projectl => зберегти. Зверніть увагу: файли проекту і тексту програми повинні мати різні назви.
Д одайте на форму команди головного меню і введіть назви його команд, як показано на малюнку.
Для того, щоб провести розподільну смугу, між командами меню «Записати у файл» і «Вихід» створіть додатковий пункт із заголовком «____________» .
Зауваження. Підменю «А->Я» і «Я->А» команди «Упорядкувати за абеткою» створюють за допомогою комбінації клавіш Сtrl+<стрілка вправо> або використовують контекстне меню Create Submenu цієї команди. Видалення непотрібної команди виконують клавішею Delete.
Створіть вікно форми «Про програму».
Додайте до проекту нове вікно форми типу About box (File NewOtherЗакладка Forms About box Ok). Поміняйте тексти і заголовок форми, вказавши своє прізвище, наприклад, так, як показано на малюнку.
П
оміняйте
зображення у вікні на свій розсуд,
змінивши властивість Picture
об'єкту
Programlcon
Запрограмуйте команду «Про програму» головного меню вікна «Телефонний довідник» так, щоб у момент її виконання на екрані з'являлося тільки що спроектоване вікно.
У заготівку процедури обробки цієї команди введіть рядок для виклику методу Show (показати) об'єкту AboutBox: AboutBox .Show
Запрограмуйте кнопку Ok вікна «Про програму».
Для цього повернітьсяё до форми «Про програму» і в процедурі OKButtonClick кнопки Ok введіть команду закриття активної форми: Close.
Зауваження. Вікно форми «Про програму» знаходиться під іншими вікнами Delphi.
Видаліть непотрібну порожню форму Form1 з проекту.
Для цього викличте менеджер проекту командою View => Project Manager. Виділіть рядок із значенням Form1 і натисніть клавішу Delete. Закрийте вікно менеджера проекту.
Запрограмуйте команду Файл => Вихід головної форми.
Збережіть роботу і запустіть проект на виконання. При збереженні вкажіть ім'я модуля UProg.
Переконайтеся в правильності роботи закладок, комбінованого списку, наявності можливості редагувати поля таблиці і переміщатися по ним за допомогою смуги прокручування. Викличте вікно «Про програму» і закрийте його клавішею Ok. Закінчіть роботу командою Файл => Вихід.
Опишіть глобальні змінні і типи даних програми: тип запису телефонного довідника (info), файл записів (F), змінну типу info (г) і цілу змінну кількості записів (N).
Для цього перед розділом реалізації implementation додайте такі команди:
info = record
familia, imja : string[20];
adres : string[100];
tel : string[15];
end;
var PagesDlg : TPagesDlg;
F : file of info;
г : info;
N : integer;
Додайте на форму два об'єкти - стандартні діалоги Windows для відкриття і збереження файлів.
Кнопки
(OpenDialog)
і (SaveDialog)
знаходяться на закладці Dialogs панелі
компонентів Delphi. Ці об'єкти розташовані
в правому верхньому кутку форми.
Запрограмуйте процедури відкриття і збереження файлів телефонного довідника (команди головного меню «Прочитати з файлу» і «Записати у файл»).
procedure TPagesDlg.N3Click(Sender: Tobject); { Тут N3 - номер команди «Прочитати з файлу», у Вас може бути інший номер}
var i : integer;
begin { Виконання стандартного діалогу «Open file»}
if OpenDialog1.Execute then
begin
{F — назва вибраного діалогом файлу (властивість FileName об'єкту OpenDialogl)}
AssignFile(F, OpenDialog1.FileName); Reset(F);
N := 0; {Читаємо з початку файлу}
while not eof(F) do {Прочитуємо всі записи з файлу}
begin
Read(F, r); { У змінну г прочитуємо поточний запис}
StringGridl.Cells[0, N+l] := r.familia; { Прізвище - в перший стовпець таблиці}
StringGridl.Cells[l, N+l] := r.imja; { Ім'я - в другий стовпець таблиці}
StringGridl.Cells[2, N+l] := r.adres; { Адреса - в третій стовпець таблиці}
StringGridl.Cells[3, N+l] := р. tel; { Телефон - в четвертий стовпець таблиці}
N := N + 1; { Збільшуємо загальне число записів N}
end;
CloseFile(F);
{ Описана нижче процедура заповнює поля редагування другої сторінки форми} NewEdit(ComboBoxl);
{ Описана нижче процедура заповнює комбінований список другої сторінки форми}
NewComboBox;
end
end;
procedure TpagesDlg.N4Click(Sender: TObject); { Тут N4 - номер команди «Записати у файл», у Вас може бути інший номер}
var i : integer;
begin
if SaveDialogl.Execute then
begin
AssignFile(F, SaveDialogl.FileName); Rewrite(F);
i:=l;
while StringGridl.Cells[3, i] <> " do
begin
r.familia := StringGrid1.Cells[0, i];
r.imja := StringGrid1.Cells[l, i];
r.adres := StringGrid1.Cells[2, i];
r.tel := StringGrid1.Cells[3, i];
Write(F, r);
i := i + 1;
end;
CloseFile(F);
end
end;
