Разработка программы для автоматизации работы книжного каталога

Автор работы: Пользователь скрыл имя, 02 Декабря 2012 в 19:04, курсовая работа

Краткое описание

Целю данной курсовой работы является разработка эффективного программного обеспечения для автоматизации работы книжного каталога.
Для достижения этой цели нужно выполнить две задачи: спроектировать базу данных и разработать дружественный интерфейс.

Содержание

ВВЕДЕНИЕ 4
1 Постановка задачи 6
2 Проектирование структуры базы данных 7
3 Обоснование выбора среды программирования 9
4 Описание методов решения задач, алгоритмов, структуры программы 11
5 Руководство программиста 13
6 Руководство пользователя 14
ЗАКЛЮЧЕНИЕ 32
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33
ПРИЛОЖЕНИЕ 34

Вложенные файлы: 1 файл

Курсовая.docx

— 2.00 Мб (Скачать файл)

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.SQL.Clear;

        Unit5.DataModule5.ADOQuery1.SQL.Add(str);

        Unit5.DataModule5.ADOQuery1.Active:=True;

        Form4.Label3.Caption:='Количество записей : ' + InTtoStr(DBgridEh1.DataSource.DataSet.RecordCount);

    end;

end;

 

//Добавить в корзину

procedure TForm4.BitBtn4Click(Sender: TObject);

begin

  s:=Form4.SpinEdit1.Text;

  n:=StrToInt(s);

  if s > '0' then

    begin

      try

        k1:=Unit5.DataModule5.ADOQuery1.FieldByName('kol').AsInteger;

        k2:=k1-n;

        if n>k1 then

          begin

            Application.MessageBox('Много, у нас столько  нет!','Предупреждение!');

            n:=Unit5.DataModule5.ADOQuery1.FieldByName('kol').AsInteger;

          end;

        if (k2<0) then

          k2:=0;

          Form4.ListBox1.Items.Add(Unit5.DataModule5.ADOQuery1.FieldByName('author').AsString + '   '

          + Unit5.DataModule5.ADOQuery1.FieldByName('title').AsString + '   '

          + 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.ADOQuery1.FieldByName('kol').AsInteger;

        k2:=k1-n;

        if n>k1 then

          begin

            Application.MessageBox('Много, у нас столько  нет!','Предупреждение!');

            n:=Unit5.DataModule5.ADOQuery1.FieldByName('kol').AsInteger;

          end;

        if (k2<0) then

          k2:=0;

          Form4.ListBox1.Items.Add(Unit5.DataModule5.ADOQuery1.FieldByName('author').AsString + '   '

          + Unit5.DataModule5.ADOQuery1.FieldByName('title').AsString + '   '

          + 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.ADOQuery1.FieldByName('kol').AsInteger;

            k2:=k1-n;

            if n>k1 then

              begin

                Application.MessageBox('Много, у нас столько  нет!','Предупреждение!');

                n:=Unit5.DataModule5.ADOQuery1.FieldByName('kol').AsInteger;

              end;

            if (k2<0) then

              k2:=0;

              Form4.ListBox1.Items.Add(Unit5.DataModule5.ADOQuery1.FieldByName('author').AsString + '   '

              + Unit5.DataModule5.ADOQuery1.FieldByName('title').AsString + '   '

              + 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.Items[Form4.ListBox1.ItemIndex]);

  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.Items[Form4.ListBox1.ItemIndex]);

  Form4.ListBox1.DeleteSelected;

  Application.MessageBox('Ваша заявка отправлена продавцу!','Покупка!');

end;

 

 

//Сортировка автор ASC

procedure TForm4.RadioButton1Click(Sender: TObject);

begin

  Unit5.DataModule5.ADOQuery1.Sort:='[author] ASC';

end;

 

//Сортировка автор DESC

procedure TForm4.RadioButton2Click(Sender: TObject);

begin

  Unit5.DataModule5.ADOQuery1.Sort:='[author] DESC';

end;

 

//Сортировка название ASC

procedure TForm4.RadioButton3Click(Sender: TObject);

begin

  Unit5.DataModule5.ADOQuery1.Sort:='[title] ASC';

end;

 

//Сортировка название DESC

procedure TForm4.RadioButton4Click(Sender: TObject);

begin

  Unit5.DataModule5.ADOQuery1.Sort:='[title] DESC';

end;

 

//Сортировка категория ASC

procedure TForm4.RadioButton5Click(Sender: TObject);

begin

  Unit5.DataModule5.ADOQuery1.Sort:='[kateg] ASC';

end;

 

//Сортировка категория DESC

procedure TForm4.RadioButton6Click(Sender: TObject);

begin

  Unit5.DataModule5.ADOQuery1.Sort:='[kateg] DESC';

end;

 

//Сортировка цена ASC

procedure TForm4.RadioButton7Click(Sender: TObject);

begin

  Unit5.DataModule5.ADOQuery1.Sort:='[price] ASC';

end;

 

//Сортировка цена DESC

procedure TForm4.RadioButton8Click(Sender: TObject);

begin

  Unit5.DataModule5.ADOQuery1.Sort:='[price] DESC';

end;

 

//Сортировка наличие ASC

procedure TForm4.RadioButton9Click(Sender: TObject);

begin

  Unit5.DataModule5.ADOQuery1.Sort:='[nal] ASC';

end;

 

//Сортировка наличие DESC

procedure TForm4.RadioButton10Click(Sender: TObject);

begin

  Unit5.DataModule5.ADOQuery1.Sort:='[nal] DESC';

end;

 

//Сортировка количество ASC

procedure TForm4.RadioButton11Click(Sender: TObject);

begin

  Unit5.DataModule5.ADOQuery1.Sort:='[kol] ASC';

end;

 

//Сортировка количество DESC

procedure TForm4.RadioButton12Click(Sender: TObject);

begin

  Unit5.DataModule5.ADOQuery1.Sort:='[kol] DESC';

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'..'z']+['A'..'Z']+

  ['`']+['~']+['!']+['@']+['"']+['#']+['№']+[';']+['$']+

  ['%']+['^']+[':']+['&']+['?']+['(']+[')']+['-']+['_']+

  ['=']+['+']+['/']+[',']+['.']+['Ё']+['ё']+['|']+['*']+

  ['{']+['}']+['[']+[']']+['<']+['>']+[' ']

  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'..'z']+['A'..'Z']+

  ['`']+['~']+['!']+['@']+['"']+['#']+['№']+[';']+['$']+

  ['%']+['^']+[':']+['&']+['?']+['(']+[')']+['-']+['_']+

  ['=']+['+']+['/']+[',']+['.']+['Ё']+['ё']+['|']+['*']+

  ['{']+['}']+['[']+[']']+['<']+['>']+[' ']

  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(Sender: TObject; var Key: Char);

begin

  if Key in ['А'..'Я']+['а'..'я']+['a'..'z']+['A'..'Z']+

  ['`']+['~']+['!']+['@']+['"']+['#']+['№']+[';']+['$']+

  ['%']+['^']+[':']+['&']+['?']+['(']+[')']+['-']+['_']+

  ['=']+['+']+['/']+[',']+['.']+['Ё']+['ё']+['|']+['*']+

  ['{']+['}']+['[']+[']']+['<']+['>']+[' ']

  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=True then

    begin

      Form14.MediaPlayer1.FileName := 'admin.mpeg';

      Form14.MediaPlayer1.Display:=Form14.Panel1;

      Form14.MediaPlayer1.Open;

      Form14.TrackBar1.Max:=Form14.MediaPlayer1.Length;

    end;

 

  if Form1.RadioButton2.Checked=True then

    begin

      Form14.MediaPlayer1.FileName := 'pro.mpeg';

      Form14.MediaPlayer1.Display:=Form14.Panel1;

      Form14.MediaPlayer1.Open;

      Form14.TrackBar1.Max:=Form14.MediaPlayer1.Length;

    end;

 

  if Form1.RadioButton3.Checked=True then

    begin

      Form14.MediaPlayer1.FileName := 'pok.mpeg';

      Form14.MediaPlayer1.Display:=Form14.Panel1;

      Form14.MediaPlayer1.Open;

      Form14.TrackBar1.Max:=Form14.MediaPlayer1.Length;

Информация о работе Разработка программы для автоматизации работы книжного каталога