
- •Задание
- •Содержание
- •Введение
- •Глава I Теория Построение базы данных в ms Access
- •Построение визуальной части в Delphi
- •Глава II Практика Построение базы данных в ms Access
- •Список использованной литературы
- •Приложение а
- •Приложение б
- •Приложение в
- •Приложение г
- •Приложение д
- •Приложение е
- •Приложение ж
МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ РЕСПУБЛИКИ КАЗАХСТАН
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
Теплоэнергетический факультет
Кафедра инженерной кибернетики
Курсовая работа
по дисциплине
«Визуальное программирование»
Тема курсовой работы: “ Разработка информационно справочной системы. Аптека ”
Выполнил: ст. гр.БАУ-11-6
Шарипов Есет
Проверила: ст. преп.
Омарова Г. А.
Алматы, 2012
Задание
на выполнение курсовой работы
Студенту________________________________
Тема работы: «______________________________________________» утверждена на заседании кафедры протокол №____ от «___»_______________20__г.
Срок сдачи законченной работы
___________________________________
Описание исходного материала и источников______________________________________________________________________________________________________________________________________________________________________________________________________________________________
Перечень подлежащих разработке в курсовой работе вопросов:
1)
_____________________________________________________________________________
2)
_____________________________________________________________________________
3)
_____________________________________________________________________________
Рекомендуемая основная литература
_____________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________
Перечень графического материала (таблиц, диаграмм, схем и др.)
_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Дата выдачи задания «____»_______________20__г.
Научный руководитель: Ф.И.О._______________________ _______________
Подпись
Задание принял к исполнению студент : Ф.И.О._________________ _____________
Подпись
Содержание
1.
Создаем таблицу в режиме конструктора. В окне конструктора необходимо вводить слева названия поля, а справа указывать тип данных. Крайний правый столбец – Описание, туда можно вписать подсказку, которая будет выходить при наводке указателя мыши на столбец. Так же необходимо указать ключевое поле, с помощью которого будут создаваться связи между таблицами. Создадим таблицу «Товары», и укажем поле «Код» как ключевой. (Смотри рисунок1) 11
12
Рисунок 1 12
По аналогии создадим остальные таблицы: 12
1. Продавцы (Ключевое поле-Код продавца) Рисунок 2 12
2. Поставка (Ключевое поле-Код товара) Рисунок 3 12
3. Чек (Ключевое поле – Код) Рисунок 4 12
12
Рисунок 2 12
12
Рисунок 3 12
13
Рисунок 4 13
Теперь откроем таблицы в режиме таблиц и заполним их. 13
13
Рисунок 5 Таблица чеков 13
13
Рисунок 6 Таблица товаров 13
14
Рисунок 7 Таблица поставки 14
14
Рисунок 8 Таблица Продавцов 14
Построение визуальной части в Delphi 14
Создадим главную форму, в которой будут содержаться компоненты ADOConnection, ADOTable, DataSource, MainMenu, PopupMenu, StatusBar и кнопки открывающие другие формы, но перед этим создадим схему связей всех форм, которая в данном случае будет выглядеть так: 14
Рисунок 9 15
Для начала расположим элементы на форму и дадим названия (Рисунок10): 15
15
Рисунок 10 15
Элементы ADOTable и DataSource добавляются попарно на каждую таблицу.Для создания Главного и всплывающего меню делаем двойной щелчок мыши на элемент MainMenu Popupmenu и в появившемся окне добавляем кнопки и переименовываем их (смотри Рисунок 11 и 12). Для указания команд, необходимо щелкнуть мышью на созданную вами кнопку 2 раза в режиме добавления кнопок. 15
16
Рисунок 11 Создание кнопок в Главном меню 16
16
Рисунок 12 Создание кнопок в Всплывающем меню 16
Для того что бы кнопки открывали другие формы необходимо прописать formХ.show; где Х-это число от 2 до 7 обозначающее номер формы. 16
Для того что бы снова не писать повторяющиеся команды в кнопках расположенных на главном и всплывающем меню, укажем ссылки на кнопки уже созданные ранее. То есть для кнопки из меню напишем buttonХclick(buttonХ) где Х номер кнопки на которую мы ссылаемся. 16
Что бы создать кнопку выхода, которая будет спрашивать об уверенности пользователя закрыть программу необходимо поместить в кнопку данный код: «If MessageDlg('Вы действительно хотите выйти?',mtConfirmation,[mbYes,mbNo],0)= mrYes then Form1.Close;» Она будет находится на каждой форме. (Рисунок 13) 16
17
Рисунок 13 17
Для создания часов в StatusBar и краткой информаций о создателе. Разделим его на 3 раздела. Для этого щелкаем по параметру Panels и добавляем новые панели (Рисунок 14). Для того что бы создать часы и информацию в панель, нужно ввести в код для таймера: 17
«statusbar1.Panels[0].Text:=datetostr(now); 17
statusbar1.Panels[1].Text:=timetostr(now); 17
Statusbar1.panels[2].text:='Шарипов Есет Бау 11-6'» 17
17
Рисунок 14 17
Установка защиты паролем. В данной работе создана схема защиты паролем путем скрывания большинства кнопок и раскрыть их можно только вписав код и нажав «Вход» после чего должно выйти сообщение либо об ошибке либо о Входе в программу (или верном пароле) после чего поле ввода пароля и кнопка проверки становятся недоступны. Для создания такой защиты необходимо скрыть все нужные нам кнопки при создании формы путем вписывания кода в раздел «при создании формы Form Create. Скрытие кнопок делается двумя путями: либо устанавливается параметр visible false либо вписав команду X.hide где Х-кнопка которую мы скрываем. После ввода верного пароля мы указываем либо команду X.Show либо изменяем параметр visible true проверка пароля делается вот так: «if edit1.Text='240594» 17
Как выглядит работа защиты паролем: 17
18
Рисунок 15 До ввода пароля 18
18
Рисунок 16 Неверный пароль 18
18
Рисунок 17 Верный пароль 18
Соединение Базы Данных 18
ADOConnection: двойной щелчок по пиктограмме элемента выбираем параметр Microsoft Jet 4.0 OLE DB Provider и в следующей вкладке указываем путь к базе(Рисунок 18): 18
19
Рисунок 18 19
Создав пары ADOTable-DataSource, соединяем Table с Connection, Source с Table указав в Table имя нужной нам таблице как на рисунках 19 и 20 19
19
Рисунок 19 Рисунок 20 19
Создание запросов поисков и вывод таблиц 20
Расставляем DBGrid, Edit, Button1-2,DBNavigation,Label на форму (Рисунок 20) 20
20
Рисунок 21 Таблица Продавцы 20
Соединяем DBGrrid и DBNavigation с DataSource 20
А в процедуру «при изменении Edit» впишем 20
«if edit1.text=''then showmessage('необходимо ввести хотя бы 1 символ') 20
else begin 20
dbgrid1.visible:=true; 20
form1.Adotable2.active:=true; 20
form1.Adotable2.locate('ФИО Продавца',Edit1.text,[loPartialKey]);» 20
Получится, что при вводе Фамилии начинается поиск в таблице, если есть совпадение то курсор автоматически наводится на искомую строку(Рисунок 22): 20
20
Рисунок 22 20
А в случае если после становится пустым (Рисунок 23) 21
21
Рисунок 23 21
по аналогии создаем другие формы с таблицами и поиском 21
Эта форма отличается тем, что в ней присутствует выбор между двумя параметрами поиска, который реализован через ComboBox 21
«if edit1.text=''then showmessage('необходимо ввести хотя бы 1 символ') 21
else begin 21
dbgrid1.visible:=true; 21
form1.Adotable3.active:=true; 21
if combobox1.itemindex=0 then 21
form1.Adotable3.locate('ФИО Продавца',Edit1.text,[loPartialKey]) 21
else form1.Adotable3.locate('Наименование',Edit1.text,[loPartialKey]);» (Рисунок 24) 21
21
Рисунок 24 Отчет по покупкам 21
22
Рисунок 25 Список товаров 22
22
Рисунок 26 Список Чеков 22
Отличие поставки в том, что дополнительно указывается количество и цена указанного товара, а так же суммы на которую он был закуплен (Рисунок29). Для создания подсчета суммы необходимо добавить 2 DBEdit и 1 Label соединить DBEdit с таблицей через DataSource Рисунок 27 и 28 22
22
Рисунок 27 Рисунок 28 22
И прописать «label2.Caption:=inttostr(strtoint(dbedit1.text)*strtoint(dbedit2.text)); » при изменении одного из DBEdit 22
23
Рисунок 29 Поставка 23
23
Рисунок 30. О программе 23
Заключение 24