Автор работы: Пользователь скрыл имя, 02 Декабря 2012 в 19:04, курсовая работа
Целю данной курсовой работы является разработка эффективного программного обеспечения для автоматизации работы книжного каталога.
Для достижения этой цели нужно выполнить две задачи: спроектировать базу данных и разработать дружественный интерфейс.
ВВЕДЕНИЕ 4
1 Постановка задачи 6
2 Проектирование структуры базы данных 7
3 Обоснование выбора среды программирования 9
4 Описание методов решения задач, алгоритмов, структуры программы 11
5 Руководство программиста 13
6 Руководство пользователя 14
ЗАКЛЮЧЕНИЕ 32
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33
ПРИЛОЖЕНИЕ 34
procedure TForm4.N9Click(Sender: TObject);
var
str: String;
begin
if Form6.ShowModal = mrOk then
begin
str:= 'SELECT * FROM books WHERE 1=1 ' ;
if Form6.ComboBox1.Itemindex = 1 then str:= str + ' AND nal Like ''%Имеется%''';
if Form6.ComboBox1.Itemindex = 2 then str:= str + ' AND nal Like ''%Нет в наличии%''';
if Form6.Edit1.Text <> '' then str:= str + ' AND author LIKE "%'+ Form6.Edit1.Text+'%" ';
if Form6.Edit2.Text <> '' then str:= str + ' AND title LIKE "%'+ Form6.Edit2.Text+'%" ';
if Form6.Edit3.Text <> '' then str:= str + ' AND kateg LIKE "%'+ Form6.Edit3.Text+'%" ';
if Form6.Edit4.Text <> '' then str:= str + ' AND price >='+ Form6.Edit4.Text;
if Form6.Edit5.Text <> '' then str:= str + ' AND price <='+ Form6.Edit5.Text;
if Form6.Edit6.Text <> '' then str:= str + ' AND price >='+ Form6.Edit6.Text;
if Form6.Edit7.Text <> '' then str:= str + ' AND price <='+ Form6.Edit7.Text;
str:=str+';';
Unit5.DataModule5.ADOQuery1.
Unit5.DataModule5.ADOQuery1.
Unit5.DataModule5.ADOQuery1.
Form4.Label3.Caption:='
end;
end;
//Добавить в корзину
procedure TForm4.BitBtn4Click(Sender: TObject);
begin
s:=Form4.SpinEdit1.Text;
n:=StrToInt(s);
if s > '0' then
begin
try
k1:=Unit5.DataModule5.
k2:=k1-n;
if n>k1 then
begin
Application.MessageBox('Много,
n:=Unit5.DataModule5.
end;
if (k2<0) then
k2:=0;
Form4.ListBox1.Items.Add(
+ Unit5.DataModule5.ADOQuery1.
+ IntToStr(n) + ' шт.');
Application.MessageBox('Ваша покупка добавлена в корзину!','Покупка!');
except
on e:Exception do
end;
end
else exit;
Form4.SpinEdit1.Text:='0';
end;
//Добавить в корзину right click
procedure TForm4.N18Click(Sender: TObject);
begin
s:=InputBox('Покупка!', 'Пожалуйста, укажите количество товара', '');
n:=StrToInt(s);
if s <> '' then
begin
try
k1:=Unit5.DataModule5.
k2:=k1-n;
if n>k1 then
begin
Application.MessageBox('Много,
n:=Unit5.DataModule5.
end;
if (k2<0) then
k2:=0;
Form4.ListBox1.Items.Add(
+ Unit5.DataModule5.ADOQuery1.
+ IntToStr(n) + ' шт.');
Application.MessageBox('Ваша покупка добавлена в корзину!','Покупка!');
except
on e:Exception do
end;
end
else exit;
end;
//Добавить в корзину меню
procedure TForm4.N14Click(Sender: TObject);
begin
if Form11.ShowModal = mrOk then
begin
s:=Form11.SpinEdit1.Text;
n:=StrToInt(s);
if s > '0' then
begin
try
k1:=Unit5.DataModule5.
k2:=k1-n;
if n>k1 then
begin
Application.MessageBox('Много,
n:=Unit5.DataModule5.
end;
if (k2<0) then
k2:=0;
Form4.ListBox1.Items.Add(
+ Unit5.DataModule5.ADOQuery1.
+ IntToStr(n) + ' шт.');
Application.MessageBox('Ваша покупка добавлена в корзину!','Покупка!');
except
on e:Exception do
end;
end
else exit;
end;
Form11.SpinEdit1.Text:='0';
end;
//Listbox del all
procedure TForm4.N21Click(Sender: TObject);
begin
Form4.ListBox1.Clear;
end;
//Listbox del
procedure TForm4.N20Click(Sender: TObject);
begin
Form4.ListBox1.DeleteSelected;
end;
//Listbox an
procedure TForm4.N19Click(Sender: TObject);
begin
Form3.ListBox1.Items.Add(
Form4.ListBox1.DeleteSelected;
Application.MessageBox('Ваша заявка отправлена продавцу!','Покупка!');
end;
//Справка
procedure TForm4.N16Click(Sender: TObject);
begin
Form13.Show;
end;
//О программе
procedure TForm4.N17Click(Sender: TObject);
begin
Form12.Show;
end;
//Listbox an button
procedure TForm4.BitBtn5Click(Sender: TObject);
begin
Form3.ListBox1.Items.Add(
Form4.ListBox1.DeleteSelected;
Application.MessageBox('Ваша заявка отправлена продавцу!','Покупка!');
end;
//Сортировка автор ASC
procedure TForm4.RadioButton1Click(
begin
Unit5.DataModule5.ADOQuery1.
end;
//Сортировка автор DESC
procedure TForm4.RadioButton2Click(
begin
Unit5.DataModule5.ADOQuery1.
end;
//Сортировка название ASC
procedure TForm4.RadioButton3Click(
begin
Unit5.DataModule5.ADOQuery1.
end;
//Сортировка название DESC
procedure TForm4.RadioButton4Click(
begin
Unit5.DataModule5.ADOQuery1.
end;
//Сортировка категория ASC
procedure TForm4.RadioButton5Click(
begin
Unit5.DataModule5.ADOQuery1.
end;
//Сортировка категория DESC
procedure TForm4.RadioButton6Click(
begin
Unit5.DataModule5.ADOQuery1.
end;
//Сортировка цена ASC
procedure TForm4.RadioButton7Click(
begin
Unit5.DataModule5.ADOQuery1.
end;
//Сортировка цена DESC
procedure TForm4.RadioButton8Click(
begin
Unit5.DataModule5.ADOQuery1.
end;
//Сортировка наличие ASC
procedure TForm4.RadioButton9Click(
begin
Unit5.DataModule5.ADOQuery1.
end;
//Сортировка наличие DESC
procedure TForm4.RadioButton10Click(
begin
Unit5.DataModule5.ADOQuery1.
end;
//Сортировка количество ASC
procedure TForm4.RadioButton11Click(
begin
Unit5.DataModule5.ADOQuery1.
end;
//Сортировка количество DESC
procedure TForm4.RadioButton12Click(
begin
Unit5.DataModule5.ADOQuery1.
end;
end.
Модуль для взаимодействия с БД
unit Unit5;
interface
uses
SysUtils, Classes, DB, ADODB;
type
TDataModule5 = class(TDataModule)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule5: TDataModule5;
implementation
uses Unit1, Unit2, Unit3, Unit4;
{$R *.dfm}
end.
Форма для осуществления поиска записей по БД
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm6 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
ComboBox1: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit1, Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TForm6.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['А'..'Я']+['а'..'я']+['a'..'
['`']+['~']+['!']+['@']+['"']+
['%']+['^']+[':']+['&']+['?']+
['=']+['+']+['/']+[',']+['.']+
['{']+['}']+['[']+[']']+['<']+
then Key:=#0;
end;
procedure TForm6.FormCreate(Sender: TObject);
begin
Form6.Edit1.MaxLength:=20;
Form6.Edit2.MaxLength:=30;
Form6.Edit3.MaxLength:=30;
Form6.Edit4.MaxLength:=6;
Form6.Edit5.MaxLength:=6;
Form6.Edit6.MaxLength:=6;
Form6.Edit7.MaxLength:=6;
end;
end.
Форма для осуществления добавления записей в БД
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Spin, StdCtrls, Buttons;
type
TForm8 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
ComboBox1: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
SpinEdit1: TSpinEdit;
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form8: TForm8;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TForm8.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['А'..'Я']+['а'..'я']+['a'..'
['`']+['~']+['!']+['@']+['"']+
['%']+['^']+[':']+['&']+['?']+
['=']+['+']+['/']+[',']+['.']+
['{']+['}']+['[']+[']']+['<']+
then Key:=#0;
end;
procedure TForm8.BitBtn1Click(Sender: TObject);
begin
if (Edit1.Text = '') then
begin
Edit1.SetFocus;
Application.MessageBox('Вы заполнили не все поля!','Предупреждение!');
Exit;
end;
if (Edit2.Text = '') then
begin
Edit2.SetFocus;
Application.MessageBox('Вы заполнили не все поля!','Предупреждение!');
Exit;
end;
if (Edit3.Text = '') then
begin
Edit3.SetFocus;
Application.MessageBox('Вы заполнили не все поля!','Предупреждение!');
Exit;
end;
if (Edit4.Text = '') then
begin
Edit4.SetFocus;
Application.MessageBox('Вы заполнили не все поля!','Предупреждение!');
Exit;
end;
if (ComboBox1.ItemIndex = -1) then
begin
ComboBox1.SetFocus;
Application.MessageBox('
Exit;
end;
end;
end.
Форма для осуществления удаления записей из БД
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBCtrls, Mask;
type
TForm9 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBComboBox1: TDBComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form9: TForm9;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
end.
Форма для осуществления редактирования записей в БД
unit Unit10;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBCtrls, Mask;
type
TForm10 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBComboBox1: TDBComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure DBEdit4KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form10: TForm10;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TForm10.DBEdit4KeyPress(
begin
if Key in ['А'..'Я']+['а'..'я']+['a'..'
['`']+['~']+['!']+['@']+['"']+
['%']+['^']+[':']+['&']+['?']+
['=']+['+']+['/']+[',']+['.']+
['{']+['}']+['[']+[']']+['<']+
then Key:=#0;
end;
end.
Форма для добавления заявок в корзину
unit Unit11;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Spin;
type
TForm11 = class(TForm)
Label1: TLabel;
SpinEdit1: TSpinEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form11: TForm11;
implementation
uses Unit3, Unit4, Unit5;
{$R *.dfm}
end.
Форма «О программе!»
unit Unit12;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, pngimage, ExtCtrls;
type
TForm12 = class(TForm)
Panel1: TPanel;
Image1: TImage;
Label1: TLabel;
Copyright: TLabel;
Version: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form12: TForm12;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
end.
Форма выбора справки текстовой или видео справки
unit Unit13;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, pngimage, ExtCtrls;
type
TForm13 = class(TForm)
Image1: TImage;
Image2: TImage;
procedure Image1Click(Sender: TObject);
procedure Image2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form13: TForm13;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit14, Unit15, Unit1;
{$R *.dfm}
procedure TForm13.Image1Click(Sender: TObject);
begin
if Form1.RadioButton1.Checked=
begin
Form14.MediaPlayer1.FileName := 'admin.mpeg';
Form14.MediaPlayer1.Display:=
Form14.MediaPlayer1.Open;
Form14.TrackBar1.Max:=Form14.
end;
if Form1.RadioButton2.Checked=
begin
Form14.MediaPlayer1.FileName := 'pro.mpeg';
Form14.MediaPlayer1.Display:=
Form14.MediaPlayer1.Open;
Form14.TrackBar1.Max:=Form14.
end;
if Form1.RadioButton3.Checked=
begin
Form14.MediaPlayer1.FileName := 'pok.mpeg';
Form14.MediaPlayer1.Display:=
Form14.MediaPlayer1.Open;
Form14.TrackBar1.Max:=Form14.
Информация о работе Разработка программы для автоматизации работы книжного каталога