- •Лабораторная работа задача о телефонном справочнике
- •Ход работы
- •8. Сохраните выполненную на данный момент форму в своей папке.
- •9. С помощью мыши задайте ширину столбцов таблицы, например так, как показано на рис. 1.
- •10. Добавьте на форму главное меню и введите названия его команд, как показано на рис. 1 и рис. 5-6.
- •20. Напишите процедуру создания формы.
- •21. Напишите процедуру заполнения полей редактирования NewEdit.
- •22. Напишите процедуру заполнения комбинированного списка NewComboBox.
Лабораторная работа задача о телефонном справочнике
Новые объекты: многостраничный блокнот, комбинированный список, главное меню. Создание новых окон и стандартных диалогов. Работа с файлами записей в Object Pascal.
Цель работы. Создать программу для работы с базой данных – телефонным справочником, сформированным в виде файла записей. В каждой записи определены поля: фамилия и имя (строки длиной по 20 символов каждая), адрес и номер телефона (строки длиной 100 и 15 символов соответственно). Необходимо реализовать следующие операции: создание и удаление записи, сохранение и считывание файла записей с диска, редактирование, поиск и сортировку данных в алфавитном порядке, просмотр записей и навигацию по базе.
Ознакомиться с новыми объектами: главное меню (MainMenu), многостраничным блокнотом (PageControl), страницей блокнота (TabSheet), комбинированным списком (ComboBox), диалоговым окном (AboutBox), стандартными диалогами открытия и сохранение файлов (OpenDialog и SaveDialog).
Теоретические сведения. С помощью объекта MainMenu создают главное меню программы. Вот некоторые свойства:
Свойство |
Описание свойства |
Примеры значений |
Items
|
Команды меню
|
Комплексное свойство задается в диалоговом окне |
Captions
|
Свойство команды. Надпись раздела |
Заголовок |
Break |
Свойство команды. Разбивка меню в горизонтальном направлении (используется для длинных меню) |
mbNone (без разбивки), mbBarBreak (вводится новый столбец разделов, отделенный вертикальной полосой), mbBreak (вводится новый столбец разделов, отделенный пробелами) |
Checked |
Свойство команды. Отображение в разделе меню маркера флажка |
False (не отображается), True (отображается) |
ShortCut |
Свойство команды. Комбинация «горячих» клавиш для вызова команды меню |
Ctrl+A, Ctrl+Alt+G |
Многостраничный блокнот (PageControl) находится на особом виде формы Tabbed Pages (объект PagesDlg, заголовок "Tabbed. Notebook Dialog"). Форму создают командами File => New.. =>Other=> Закладка Forms => Tabbed Pages => Ok. После ее создания ненужную форму "Form1" в случае необходимости можно удалить с помощью окна менеджера проекта (Project Manager). Вызов окна менеджера проекта осуществляется командами View => Project Manager. В данной работе активизацию объектов PageControl и PagesDlg можно осуществлять с помощью инспектора объектов. Свойства объекта PagesDlg совпадают со свойствами обычной формы Form. Рассмотрим новые свойства блокнота PageControl.
Свойство |
Описание свойства |
Примеры значений |
ActivePage
|
Имя активной страницы
|
TabSheet7
|
MultiLine
|
Возможность размещать закладки страниц в несколько строк
|
True (закладки в несколько строк). False (за кладки в одну строку) |
Pages |
Доступ к странице по индексу |
Первая страница имеет индекс 0 (только для чтения) |
Свойства отдельной страницы блокнота (объекта TabSheet) аналогичны описанным в предыдущих разделах. Страница имеет следующие основные свойства
Свойство |
Описание свойства |
Примеры значений |
PageIndex
|
Индекс страницы, по которому можно ссылаться на страницу |
0
|
ImageIndex
|
Индекс изображения, которое может появляться на ярлычке |
0 |
Объект ComboBox предназначен для создания выпадающего списка. Его новые свойства такие:
Свойство
|
Описание свойства
|
Примеры значений
|
DropDownCount
|
Количество строк в выпадающем списке, которые видимы без использования полос прокручивания |
7, 3
|
Sorted
|
Сортировка списка по алфавиту
|
True (список сортируется), False (не сортируется) |
Style
|
Стиль оформления и использование списка
|
csOwnerDrawVariable (заданный программистом), csDropDown (стандартный: выпадающий список со строками одинаковой высоты и с окном редактирования), csDropDownList (выпадающий список со строками одинаковой высоты, без окна редактирования) |
ItemIndex |
Индекс выбранного пользователем элемента списка. Доступен только во временя выполнения |
По умолчанию –1 (ни одна строка не выбрана) |
Стандартные диалоги открытия (объект OpenDialog, страница Dialogs) и сохранения файлов (объект SaveDialog, страница Dialogs), – это невидимые на форме объекты, предназначенные для создания стандартных в Windows 9х окон: "Open file" и "Save File as" – в момент вызова их из программного кода проекта командой OpenDialogl. Execute или SaveDialogl. Execute. Основной метод, которым производится обращение к диалогу, – Execute. Эта функция открывает диалоговое окно и если, пользователь произвел в нем какой-то выбор возвращает значение true. При этом в свойствах компонента-диалога запоминается выбор пользователя, который можно прочитать и использовать в дальнейших операциях. если же пользователь в диалоге нажал кнопку ОТМЕНА или клавишу Esc, то функция Execute возвращает значение false. Пожтому стандартное обращение к диалогу имеет вид:
if имя_компонента_диалога.Execute then
операторы_использующие_выбор_пользователя;
Имя выбранного файла возвращается в программу свойством FileName этих объектов.
Типы искомых файлов, появляющиеся в диалоге в выпадающем списке Тип Файла, задаются свойством Filter. В процессе проектирования это свойство проще всего задать с помощью редактора фильтров, который вызывается нажатием кнопки с многоточием около имени этого свойства в Инспекторе Объектов. При этом открывается окно редактора. В левой панели Filter Name вы записываете тот текст, который увидит пользователь в выпадающем списке Тип файла. В правой панели Filter записывают разделенные точками с запятой шаблоны фильтра (файлы данных (*.dat) | *.dat).
Свойство Title позволяет вам задать заголовок диалогового окна. Например, вместо Сохранение файла мы хотим написать Укажите имя файла, который вы хотите сохранить. Cвойство Options определяет условия выбора файла.