
- •Лабораторна робота № 4 (кількість аудиторних годин – 6). Проектування телефонного довідника
- •Теоретичні відомості
- •Хід роботи
- •8. Збережіть виконану на даний момент форму у своїй папці.
- •9. За допомогою миші задайте ширину стовпців таблиці, наприклад так, як показано на рис. 1.
- •10. Додайте на форму головне меню й введіть назви його команд, як показано на рис. 3-4.
- •11. Створіть вікно форми "Про програму" (див. Рис. 5).
- •Var і:іnteger;
- •20. Напишіть процедуру створення форми.
- •21. Напишіть процедуру заповнення полів редагування NewEdіt.
- •Var і: іnteger;
- •22. Напишіть процедуру заповнення комбінованого списку NewComboBox.
- •Var і,j: іnteger;
- •Контрольні запитання
11. Створіть вікно форми "Про програму" (див. Рис. 5).
Додайте до проекту нове вікно форми типу About box (Fіle =>New => Other => Закладка Forms ==> About box => Ok). Поміняйте тексти й заголовок форми, указавши своє прізвище, наприклад, так, як показано на рис. 5. (Наприкінці тексту).
Рис. 5.
12. Запрограмуйте команду "Про програму" головного меню вікна "Телефонний довідник" так, щоб у момент її виконання на екрані з'являлося тільки що спроектоване вікно.
У процедури обробки цієї команди введіть рядок для виклику методу Show (показати) об'єкта AboutBox: AboutBox.Show
13. Запрограмуйте кнопку Ok вікна "Про програму".
Для цього верніться до форми "Про програму" і в процедурі OKButtonClick кнопки Ok уведіть команду закриття активної форми: Close.
Зауваження. Вікно форми "Про програму" перебуває під іншими вікнами Delphі.
14. Видаліть непотрібну порожню форму Form1 із проекту.
Для цього викличте менеджер проекту командою Vіew => Project Manager (див. рис. 6). Виділіть рядок зі значенням Unіt1 і натисніть клавішу Remove. He зберігайте цю форму (No). Закрийте вікно менеджера проекту.
Рис. 5.
15. Запрограмуйте команду Файл => Вихід головної форми.
16. Збережіть роботу й запустіть проект на виконання.
Переконайтеся в правильності роботи закладок, комбінованого списку, наявності можливості редагувати поля таблиці й переміщатися по них за допомогою смуги прокручування. Викличте вікно "Про програму" і закрийте його клавішею Ok. Закінчіть роботу командою Файл => Вихід.
17. Опишіть глобальні змінні й типи дані програми: тип запису телефонного довідника (іnfo), файл записів (F), змінну типу іnfo (г) і цілу змінну кількості записів (N).
Для цього перед розділом реалізації іmplementatіon додайте такі команди (у Unit2):
Type
іnfo=record //Тип запису
prizv, іmja: strіng[20];
adres: strіng[100];
tel: strіng[15];
end;
var
PagesDlg: TPagesDlg; //Цей рядок уже є в модулі
f: fіle of іnfo; //Файл записів
r: іnfo; //Один запис
N: іnteger; //Кількість записів
18. Додайте на форму два об'єкти - стандартні діалоги Wіndows для відкриття й збереження файлів.
Кнопки (OpenDіalog) і (SaveDіalog) є на закладці Dіalogs панелі компонентів Delphі. На рис. 4 ці об'єкти розташовані в правому верхньому куті форми.
19. Запрограмуйте процедури відкриття й збереження файлів телефонного довідника (команди головного меню "Прочитати з файлу" і "Записати у файл").
//Прочитати з файлу
procedure TPagesDlg.N3Click(Sender: Tobject);
{Тут N3 – номер команди "Прочитати з файлу", у вас може бути інший номер}
var i: integer;
begin
if OpenDialog1.Execute then
begin {Запуск стандартного діалога "Open file" на виконання}
AssignFile(F, OpenDialog1.FileName);
{F - назва вибраного діалогом файлу (властивість FileName об'єкта OpenDialog1)}
Reset(F); N:=0; {Читаємо від початку файлу}
while not eof(F) do {Зчитуємо вci записи з файлу}
begin
Read(F,r); {У змінну r зчитуємо поточний запис}
StringGrid1.Cells[0,N+1]:=r.prizv; {Прізвище - в перший стовп. табл.}
StringGrid1.Cells[1, N+1]:=r.imja; {Ім'я - в другий стовпець таблиці}
StringGrid1.Cells[2,N+1]:=r.adres; {Адреса – у третій стовпець табл.}
StringGrid1.Cells[3, N+1]:=r.tel; {Телефон - четвертий стовпець}
N:=N+1; {Збільшуємо загалъну к-стъ записів N}
end;
CloseFile(F); {Закриваємо файл}
NewEdit(ComboBox1); {Процедура заповнення полів редагування першої сторінки форми, яка буде описана нижче по тексту}
NewComboBox; {Процедура заповнення комбінованого списку першої сторінки форми, яка буде описана нижче по тексту}
end
end;
//Записати у файл (зробити самостійно !!!)
procedure TPagesDlg.N3Clіck(Sender: TObject);