Автор работы: Пользователь скрыл имя, 02 Декабря 2012 в 19:04, курсовая работа
Целю данной курсовой работы является разработка эффективного программного обеспечения для автоматизации работы книжного каталога.
Для достижения этой цели нужно выполнить две задачи: спроектировать базу данных и разработать дружественный интерфейс.
ВВЕДЕНИЕ 4
1 Постановка задачи 6
2 Проектирование структуры базы данных 7
3 Обоснование выбора среды программирования 9
4 Описание методов решения задач, алгоритмов, структуры программы 11
5 Руководство программиста 13
6 Руководство пользователя 14
ЗАКЛЮЧЕНИЕ 32
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33
ПРИЛОЖЕНИЕ 34
Рисунок 45 - Меню программы пользователя «Покупатель»
Рисунок 46 – Вкладки управления пользователя «Покупатель»
Рисунок 47 – Контекстное меню пользователя «Покупатель»
Также на форме в режиме покупатель предусмотрен показ следующей информации:
даты и времени дня (Рисунок 48);
Рисунок 48 – Дата и время
количество записей в базе данных «Книжный каталог» (Рисунок 49), это количество изменяется в зависимости от манипулирования данными, а именно поиске записей.
Рисунок 49 – Количество записей
Функции пользователя «Покупатель» практически все совпадают с функциями пользователя «Продавец», но существует отличие, это отличие в функции «Покупка».
С помощью вкладки «Покупка» (Рисунок 50) может подать заявку на приобретение того или иного экземпляра из книжного каталога. Для этого необходимо:
Рисунок 50 – Вкладка «Покупка»
Рисунок 51 – Указание количество желаемых книг экземпляра
Рисунок 52 – Кнопка «Добавить в корзину»
Рисунок 53 – Сформированный список заявок, кнопка «Отправить заявку»
Также в корзине управлять заявками можно с помощью контекстного меню корзины, а именно:
Для каждого пользователя имеется своя собственная справочная система. Она находится в элементе меню «Справка», в элементе «Помощь» (Рисунок 54).
Рисунок 54 – меню «Помощь»
Информация в справочной системе представлена в виде тестовой справки (Рисунок 55) и видео справки (Рисунок 56).
Рисунок 55 – Форма видео справки
Рисунок 56 – Форма текстовой справки
В ходе выполнения курсовой работы была достигнута цель работы по разработке эффективного программного обеспечения для автоматизации работы книжного каталога. Успешно реализованы все поставленные задачи, а именно:
Также были изучены новые компоненты среды разработки программного обеспечения Borland Delphi 7 и библиотека компонентов Ehlib. База данных программного продукта спроектирована с учётом современных требований, устойчива к ошибкам.
Форма авторизации пользователей
unit Unit1;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4;
{$R *.dfm}
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=MessageDlg('Вы
действитеьно хотите выйти?',mtConfirmation,[mbYes,
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Width:=220;
Form1.Height:=225;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if RadioButton1.Checked=True then
begin
Form1.Height:=225;
Form1.Width:=400;
Form1.LabeledEdit1.Visible:=
Form1.BitBtn2.Visible:=True;
Form1.LabeledEdit1.Clear;
end;
if RadioButton2.Checked=True then
begin
Form1.Height:=225;
Form1.Width:=400;
Form1.LabeledEdit1.Visible:=
Form1.BitBtn2.Visible:=True;
Form1.LabeledEdit1.Clear;
end;
if RadioButton3.Checked=True then
begin
Form1.Height:=270;
Form1.Width:=220;
Form1.BitBtn2.Visible:=True;
Form1.BitBtn2.Width:=177;
Form1.BitBtn2.Left:=16;
Form1.BitBtn2.Top:=184;
end;
if (RadioButton1.Checked=False) and (RadioButton2.Checked=False) and (RadioButton3.Checked=False) then
begin
Application.MessageBox('
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if Form1.RadioButton1.Checked=
begin
if (Length(Form1.LabeledEdit1.
begin
if (Form1.LabeledEdit1.Text='
begin
Form2.Show;
Form1.Hide;
Form1.LabeledEdit1.Clear;
Form2.Label3.Caption:='
end
else
Application.MessageBox('
Form1.LabeledEdit1.Clear;
end
else
Application.MessageBox('Пароль не введен!','Предупреждение!');
Form1.LabeledEdit1.Clear;
end;
if Form1.RadioButton2.Checked=
begin
if (Length(Form1.LabeledEdit1.
begin
if (Form1.LabeledEdit1.Text='pro'
begin
Form3.Show;
Form1.Hide;
Form1.LabeledEdit1.Clear;
Form3.Label3.Caption:='
end
else
Application.MessageBox('
Form1.LabeledEdit1.Clear;
end
else
Application.MessageBox('Пароль не введен!','Предупреждение!');
Form1.LabeledEdit1.Clear;
end;
if Form1.RadioButton3.Checked=
begin
Form4.Show;
Form1.Hide;
Form4.Label3.Caption:='
end;
end;
end.
Форма Администратора
unit Unit2;
var
Form2: TForm2;
implementation
uses Unit1, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10,
Unit12, Unit13, Unit14, Unit15;
{$R *.dfm}
//Выход
procedure TForm2.N7Click(Sender: TObject);
var
R: Word; // переменная, в которой хранится результат
begin
R:=MessageDlg('Вы
if R=mrYes then // если нажата кнопка Yes
begin
Application.Terminate
end;
if R=mrNo then // если нажата кнопка No
begin
//
завершаем работу программы
end;
end;
//Смена пользователя
procedure TForm2.N5Click(Sender: TObject);
begin
Form2.Close;
Form1.Show;
Form1.Width:=220;
Form1.Height:=225;
Form1.LabeledEdit1.Visible:=
Form1.BitBtn2.Visible:=False;
Form1.RadioButton1.Checked:=
if Form15.Showing then
begin
Form15.Close;
end;
if Form14.Showing then
begin
Form14.Close;
end;
if Form13.Showing then
begin
Form13.Close;
end;
if Form12.Showing then
begin
Form12.Close;
end;
end;
//Excel
procedure TForm2.Excel1Click(Sender: TObject);
var
Ex: Variant;
row, col: Integer;
begin
DBGridEh1.DataSource.DataSet.
Ex:=CreateOleObject('Excel.
Ex.Workbooks.Add;
Ex.WorkBooks[1].WorkSheets[1].
for row :=0 to DBGridEh1.DataSource.DataSet.
begin
if
row=0 then DBGridEh1.DataSource.DataSet.
for col :=0 to DBGridEh1.Columns.Count-1 do
begin
Ex.WorkBooks[1].WorkSheets[1].
Ex.WorkBooks[1].WorkSheets[1].
Ex.WorkBooks[1].WorkSheets[1].
end ;
end;
Ex.Visible := True;
Unit5.DataModule5.ADOQuery1.
end;
//Печать
procedure TForm2.N3Click(Sender: TObject);
begin
PrintDBGridEh1.Preview;
end;
//Дата и время
procedure TForm2.Timer1Timer(Sender: TObject);
begin
Label1.Caption:='Время : ' + TimeToStr(time);
Label2.Caption:='Дата : '+ DateToStr(date);
Application.ProcessMessages;
end;
//Обновить автомат
procedure TForm2.Timer2Timer(Sender: TObject);
begin
try
Unit5.DataModule5.ADOQuery1.
Form2.Label3.Caption:='
Unit5.DataModule5.ADOQuery1.
except
on e:Exception do
end;
end;
//Обновить меню
procedure TForm2.N11Click(Sender: TObject);
begin
try
Unit5.DataModule5.ADOQuery1.
except
on e:Exception do
end;
Form2.Label3.Caption:='
end;
//Все записи
procedure TForm2.N10Click(Sender: TObject);
begin
try
Unit5.DataModule5.ADOQuery1.
Unit5.DataModule5.ADOQuery1.
Unit5.DataModule5.ADOQuery1.
except
on e:Exception do
end;
Form2.Label3.Caption:='
end;
procedure TForm2.LabeledEdit4KeyPress(
begin
if Key in ['А'..'Я']+['а'..'я']+['a'..'
['`']+['~']+['!']+['@']+['"']+
['%']+['^']+[':']+['&']+['?']+
['=']+['+']+['/']+[',']+['.']+
['{']+['}']+['[']+[']']+['<']+
then Key:=#0;
end;
procedure TForm2.LabeledEdit5KeyPress(
begin
if Key in ['А'..'Я']+['а'..'я']+['a'..'
['`']+['~']+['!']+['@']+['"']+
['%']+['^']+[':']+['&']+['?']+
['=']+['+']+['/']+[',']+['.']+
['{']+['}']+['[']+[']']+['<']+
then Key:=#0;
end;
procedure TForm2.LabeledEdit6KeyPress(
begin
if Key in ['А'..'Я']+['а'..'я']+['a'..'
['`']+['~']+['!']+['@']+['"']+
['%']+['^']+[':']+['&']+['?']+
['=']+['+']+['/']+[',']+['.']+
['{']+['}']+['[']+[']']+['<']+
then Key:=#0;
end;
procedure TForm2.LabeledEdit7KeyPress(
begin
if Key in ['А'..'Я']+['а'..'я']+['a'..'
['`']+['~']+['!']+['@']+['"']+
['%']+['^']+[':']+['&']+['?']+
['=']+['+']+['/']+[',']+['.']+
['{']+['}']+['[']+[']']+['<']+
then Key:=#0;
end;
//Очистить поиск
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
Form2.LabeledEdit1.Clear;
Form2.LabeledEdit2.Clear;
Form2.LabeledEdit3.Clear;
Form2.LabeledEdit4.Clear;
Form2.LabeledEdit5.Clear;
Form2.LabeledEdit6.Clear;
Form2.LabeledEdit7.Clear;
Form2.ComboBox1.ItemIndex:=0;
end;
//Поиск форма
procedure TForm2.BitBtn1Click(Sender: TObject);
var
str: String;
begin
str:= 'SELECT * FROM books WHERE 1=1 ' ;
if Form2.ComboBox1.Itemindex = 1 then str:= str + ' AND nal Like ''%Имеется%''';
if Form2.ComboBox1.Itemindex = 2 then str:= str + ' AND nal Like ''%Нет в наличии%''';
if Form2.LabeledEdit1.Text <> '' then str:= str + ' AND author LIKE "%'+ Form2.LabeledEdit1.Text+'%" ';
if Form2.LabeledEdit2.Text <> '' then str:= str + ' AND title LIKE "%'+ Form2.LabeledEdit2.Text+'%" ';
if Form2.LabeledEdit3.Text <> '' then str:= str + ' AND kateg LIKE "%'+ Form2.LabeledEdit3.Text+'%" ';
if Form2.LabeledEdit4.Text <> '' then str:= str + ' AND price >='+ Form2.LabeledEdit4.Text;
if Form2.LabeledEdit5.Text <> '' then str:= str + ' AND price <='+ Form2.LabeledEdit5.Text;
if Form2.LabeledEdit6.Text <> '' then str:= str + ' AND price >='+ Form2.LabeledEdit6.Text;
Информация о работе Разработка программы для автоматизации работы книжного каталога