Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая Шарипов Е.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
18.37 Mб
Скачать

МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ РЕСПУБЛИКИ КАЗАХСТАН

АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ

Теплоэнергетический факультет

Кафедра инженерной кибернетики

Курсовая работа

по дисциплине

«Визуальное программирование»

Тема курсовой работы: “ Разработка информационно справочной системы. Аптека ”

Выполнил: ст. гр.БАУ-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