Практическая работа. Создадим электронную записную книжку

Создадим электронную записную книжку. Совместно с набором данных будем использовать элемент управления с закладками TabControl

Компонент TabCotntrol (п.к. Win32). Представляет собой контейнер с закладками.

Вид записной книжки с распечаткой фамилий на букву "А" показан на рисунке:

Создайте таблицу Notebook.db со списком телефонов друзей и знакомых (поля: FIO, Phone, Note (примечания)) в программе Database Desktop. Сохраните созданную таблицу в рабочей папке Baza. Заполните данными (20 записей).

Расположите на форме компонент TabControl. В свойстве Tabs этого компонента в столбик перечислите все буквы алфавита (кроме "Й", "Ь", "Ъ"). В свойстве MultiLine установите значение true, чтобы закладки размещались в несколько рядов. Свойству TabPosition присвойте значение alTop, свойству HotTrack – true.

На форме разместите три компонента для работы с БД (Table1, DataSource1, DBGrid1). Таблицу Notebook.db свяжите с НД Table1. Список владельцев телефонов отображается в компоненте DBGrid1. Пользователь может отобразить все фамилии или вывести фамилии, начинающиеся с определенной буквы.

Для управления отбором записей используется фильтрация. Разместите на форме компонент CheckBox1 и присвойте ему заголовок «Показывать все записи». С помощью этого компонента будет активизироваться и деактивизироваться фильтр. По умолчанию флажок установлен, при этом фильтр выключен, и отображаются все фамилии. Если флажок CheckBox1 сброшен, то выполняется фильтрация. Записи выбираются на основании первой буквы фамилии. Букву можно выбирать с помощью закладок компонента TabControl1.

Напишите следующие обработчики событий для данной формы:

procedure TForm1.FormCreate(Sender: TObject);

Begin

DBGrid1.Align:=alClient;

Table1.FilterOptions:=[foCaseInsensitive];

CheckBox1.Checked:=true;

end;

procedure TForm1.CheckBox1Click(Sender: TObject);

Begin

if CheckBox1.Checked then

Table1.Filtered:=false

Else

Table1.Filtered:=true;

end;

Событие OnChange возникает при выборе новой закладки и позволяет управлять содержимым окна компонента.

procedure TForm1.TabControl1Change(Sender: TObject);

Begin

Table1.Filter:='FIO= '''+tabcontrol1.Tabs[tabcontrol1.TabIndex]+'*''';

end;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: