Автор работы: Пользователь скрыл имя, 21 Мая 2013 в 08:11, курсовая работа
Подходя к современным требованиям нельзя не отметить, что эффективная работа всецело зависит от уровня оснащения электронным оборудованием, таким, как компьютеры, средства связи, копировальные устройства, а также соответствующего программного обеспечения. Ни одна современная организация не обходится без систем сбора и обработки информации. Чем больше стадий, тем этот процесс сложнее, чем больше и разнообразнее спектр информации, тем больше потребность в автоматизированном сборе, обработке и хранении информации в электронном виде. Поиск информации в бумажном виде занимает от минуты до нескольких дней, в зависимости от того, когда информация была собрана, поиск в электронном хранилище данных выполняется за доли и единицы секунд.
Введение…………………………………………………………………………3
1 Интерфейсы компьютерных систем…………………………………………4
1.1 Эволюция пользовательских интерфейсов……………………………….4
1.2 Актуальность интерфейсов....……………………………………………....5
1.3 Понятие интерфейса пользователя………………………………………...6
1.4 Виды интерфейсов……………………………...…………………………...8
2 Разработка пользовательского интерфейса «Языковая школа»……..…...10
2.1 Подключение базы данных к проекту Delphi………….....……………10
2.2 Интерфейсное управление данными..……………..……………………11
2.3 Диалоги загрузки графических файлов…………….…………………..12
2.4 Главное и контекстное меню...……………………..……………………..14
2.5 Создание сортировки.……………………………..……………………….19
2.5 Создание фильтрации для записей таблицы…………….……………….21
2.7 Поиск и работа с записями набора данных……………..………………25
Заключение…………………………………………………………………...…29
Список использованной литературы...………………...…
Это не только экран, который видит пользователь. К этим элементам относятся:
Интерфейс - это, прежде всего, набор правил. Как любые правила, их можно обобщить, собрать в "кодекс", сгруппировать по общему признаку. Таким образом, мы пришли к понятию "вид интерфейса" как объединение по схожести способов взаимодействия человека и компьютеров. Вкратце можно предложить следующую схематическую классификацию различных интерфейсов общения человека и компьютера.
Современными видами интерфейсов являются:
2 Разработка пользовательского интерфейса «Языковая школа»
2.1 Подключение базы данных к проекту Delphi
Включим в проект новую форму Data Module (File - New - Data Module), которую также желательно сразу сохранить, задав при этом новое имя юниту, например DataUnit. Чтобы избежать трудностей в частом написании длинного имени объекта, изменим его свойство Name на DataM в объектном инспекторе. Далее поместим на эту форму следующие компоненты:
Рисунок 1 – Форма DataM
Поместите на форму DBGrid с вкладки DataControls:
Рисунок 2 – Установка компонента DBGrid
Главное, что нам нужно сделать, чтобы таблица базы отображалась на экране, это указать в свойстве DataSource компонента DBGrid значение UchenikiSource. Если все предыдущие настройки проделаны верно, то ячейки DBGrid должны отобразить данные базы.
2.2 Интерфейсное управление данными
За внешнее представление данных в приложении и управлении ими отвечают интерфейсные визуальные компоненты, расположенные на вкладке Data Controls.
В таблице видимыми для пользователей были оставлены столбцы «Фамилия», «Имя», «Отчество» и «Домашний телефон». Теперь откроем в программе доступ к оставшимся полям, используя компоненты DBEdit, DBLookupComboBox, DBImage и DBNavigator.
Рисунок 3 – Создание компонентов
На AllInfoBox поместим еще четыре компонента GroupBox, которые будут представлять отдельную группу данных текущей записи справочника, а именно:
Для панели «Преподаватели» также необходимо создать панель с полями дополнительной информации по аналогии. Поместим компонент Panel2 с заголовком в правой части формы (Align – alRight), также переименуем его в PrepodaBox и выделим в нем отдельные тематические блоки благодаря использованию GroupBox6 («Личные данные»), GroupBox7 («О преподавателе») и GroupBox8 («Адрес») и две кнопки BitBtn.
Рисунок 4 – Панель «Преподаватель»
В свойстве Caption кнопок BitBtn1 и BitBtn2 пропишите соответственно «Загрузить фотографию» и «Удалить фотографию». Предстоящая с ними работа будет рассмотрена позже.
2.3 Диалоги загрузки графических файлов
Ни один интерфейс не будет считаться таковым, если он не поддерживает в полной мере общение пользователей с приложением. Реализовать такой непосредственный контакт помогают диалоги – модальные окна, появляющиеся как результат реакции приложения на какое-либо действие пользователя, требующее сбора дополнительных сведений перед его выполнением. Такие диалоги «ведет» каждый, кто работает за компьютером, при открытии, сохранении, поиске, замене информации и т.д.
Вернемся к созданным нами в предыдущей работе кнопкам «Загрузить фотографию» и «Удалить фотографию». Переименуем компоненты в LoadFotoBtn и DelFotoBtn, изменив соответственно значения их свойства Name, и сделаем DelFotoBtn недоступной, установив свойство Enabled в False. Теперь можно приступать к программированию. Вызовем обработчики событий для данных кнопок, дважды щелкнув по ним самим или по строке OnClick на вкладке Events объектного инспектора. В появившемся редакторе пропишем следующий код:
procedure TMainForm.LoadFotoBtnClick(
begin
if OpenPictureDialog1.Execute then begin
DataM. UchenikiTable.Edit;
DataM.UchenikiTableFoto.LoadFr
DataM. UchenikiTable.Post;
DelFotoBtn.Enabled := true;
end;
end;
Рисунок 5 – Отображение диалогового окна.
Этот метод отображает на экране диалоговое окно открытия графических файлов.
Но прежде чем загружать в базу данных фотографии, необходимо установить ее в режим редактирования процедурой Edit, которая принадлежит объекту UchenikiTable в модуле DataM. Далее выбранный файл с именем, определенным в свойстве OpenPictureDialog1.FileName, методом LoadFromFile, который имеется у всех графических объектов, заносится в поле Foto базы данных. Фиксация изменений осуществляется процедурой Post, а последнее действие переводит кнопку DelFotoBtn в доступное для нажатия состояние. Результат можно увидеть в DBImage1: там появилось изображение.
Теперь реализуем возможность удаления фотографии. Создадим обработчик события DelFotoClick:
procedure TMainForm.DelFotoBtnClick(
begin
if MessageBox(0,PChar('Вы действительно хотите удалить фотографию
записи "'+DataM.
DataM.AllBooksTableTheImya_P.
DataM.AllBooksTableOtchestvo_
MB_YESNOCANCEL + MB_ICONQUESTION) = id_YES then
begin
DataM.PrepodaTable.Edit;
DataM. PrepodaTableFoto.Clear;
DataM. PrepodaTable.Post;
DelFotoBtn.Enabled := false;
LoadFotoBtn.SetFocus;
end;
end;
В принципе, программный прототип справочника готов: он содержит достаточное количество информации и набор элементарных функций.
2.4 Главное и контекстное меню
Главным атрибутом любого Windows-приложения является меню, которое представляет собой набор именованных команд и других вложенных меню (подменю), которые сгруппированы в отдельные функциональные категории. В зависимости от уровня охвата функциональности различают главное и локальное меню.
Главное меню является
важным элементом, через которое
осуществляется централизованное управление
работой всего приложения. Именно
поэтому нужно приложить
Поместим на форму компонент MainMenu с вкладки Standard, после чего дважды щелкнем по нему левой кнопкой мыши.
В рассматриваемой базе данных имеется две таблицы Ucheniki и Prepoda, содержащие телефонные номера двух категорий, которые мы и запишем в качестве подменю пункта «Справочники» с заголовками «Ученики» и «Преподаватели» соответственно. Поменяем значения свойства Name этих записей на Prepoda_Item и Ucheniki_Item.
Рисунок 6 – Конструктор меню
Напишем обработчик события OnClick для пункта Prepoda_Items:
procedure TForm1.Prepod_ItemClick(
begin
DBGrid1.DataSource := DataM.PrepodaSource; //присваиваем нужный источник
GroupBox2.Visible := true;
//отображаем панель фильтра
Panel1.Visible := false;
Panel2.Visible := true;
//если открыт справочник AllBooks, то
if DBGrid1.DataSource = DataM.PrepodaSource then
begin
//показать панель для AllBooks
Panel1.Visible := false;
//скрыть панель для OrgsBooks
Panel2.Visible := true;
end;
DBGrid1.DataSource := DataM.PrepodaSource;
LoadFotoPop_Item.Visible := true;
DelFotoPop_Item.Visible := true;
SortBySur_Item.Visible := true;
SortByName_Item.Visible := true;
SortByPat_Item.Visible := true;
SortOrgsByNaz_Item.Visible := true;
SortByKlass_Item.Visible := false;
end;
Аналогичную процедуру нужно создать для следующего пункта меню - «Ученики»:
procedure TForm1.Ucheniki_ItemClick(
begin
DBGrid1.DataSource := DataM.UchenikiSource; //присваиваем нужный источник
GroupBox2.Visible := true;
//отображаем панель фильтра
Panel1.Visible := true;
Panel2.Visible := false;
//если открыт справочник AllBooks, то
if DBGrid1.DataSource = DataM.UchenikiSource then
begin
//показать панель для AllBooks
Panel1.Visible := true;
//скрыть панель для OrgsBooks
Panel2.Visible := false;
end;
DBGrid1.DataSource := DataM.UchenikiSource;
LoadFotoPop_Item.Visible := false;
DelFotoPop_Item.Visible := false;
SortBySur_Item.Visible := true;
SortByName_Item.Visible := true;
SortByPat_Item.Visible := true;
SortOrgsByNaz_Item.Visible := true;
SortByKlass_Item.Visible := true;
На очереди последний пункт – «Выход»:
procedure TMainForm.Exit_ItemClick(
begin
Close;
end;
Создадим еще один пункт «Правка» с такими подменю:
Рисунок 7 - Создание пункта «Правка».
Переименуем свойство Name этих элементов меню следующим образом:
Теперь вернемся
к непосредственному
Для Add_Item необходимо прописать:
procedure TForm1.Add_ItemClick(Sender: TObject);
begin
//провреряем, какая таблица отображается в данный момент
if DBGrid1.DataSource = DataM.UchenikiSource then
begin
DataM.UchenikiTable.Insert; //добавляем новую строку
DBEdit1.ReadOnly := false;
DBEdit1.SetFocus; //устанавливаем фокус ввода
end;
if DBGrid1.DataSource = DataM.PrepodaSource then
begin
DataM.PrepodaTable.Insert;
DBEdit10.ReadOnly := false; //снимаем режим только для чтения
DBEdit10.SetFocus;
end;
Для пункта Edit_Item обработчик выглядит таким образом:
procedure TForm1.Edit_ItemClick(Sender: TObject);
begin
if DBGrid1.DataSource = DataM.UchenikiSource then
begin
DBEdit1.ReadOnly := false;
DBEdit1.SetFocus;
end;
if DBGrid1.DataSource = DataM.PrepodaSource then
begin
DBEdit10.ReadOnly := false;
DBEdit10.SetFocus;
end;
end;
Для пункта Save_Item обработчик выглядит таким образом:
procedure TForm1.Save_ItemClick(Sender: TObject);
begin
if DBGrid1.DataSource = DataM.UchenikiSource then
if DataM.UchenikiTable.Modified then //проверяем наличие изменений