Книжный магазин

Автор работы: Пользователь скрыл имя, 26 Июня 2014 в 15:52, курсовая работа

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

Возрастающие объемы информации, необходимые для успешной деятельности различных организаций и компаний, требуют использования современных информационных технологий, основанных на применении автоматизированных информационных систем.
В базе данных сведения из каждого источника сохраняются в отдельной таблице. При работе с данными из нескольких таблиц устанавливаются связи между таблицами. Для поиска и отбора данных, удовлетворяющих определенным условиям, создается запрос. Запросы позволяют также обновить или удалить одновременно несколько записей, выполнить встроенные или специальные вычисления. Для просмотра, ввода или изменения данных прямо в таблице применяются формы. Форма позволяет отобрать данные из одной или нескольких таблиц и вывести их на экран, используя стандартный или созданный пользователем макет.

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

petrenko_i_bolgov.docx

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

  Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB, ComCtrls, ExtCtrls,

  TeEngine, Series, TeeProcs, Chart, Menus, DbChart, jpeg, Spin, Mask,

  DBCtrls, dbcgrids, DBClient;

type

  TForm1 = class(TForm)

    ADOConnection1: TADOConnection;

    ADOTable1: TADOTable;

    DataSource1: TDataSource;

    PageControl1: TPageControl;

    TabSheet1: TTabSheet;

    Label1: TLabel;

    DBGrid1: TDBGrid;

    TabSheet2: TTabSheet;

    TabSheet3: TTabSheet;

    TabSheet5: TTabSheet;

    TabSheet6: TTabSheet;

    TabSheet7: TTabSheet;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Edit4: TEdit;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Button1: TButton;

    Button2: TButton;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    DBChart1: TDBChart;

    Series1: TPieSeries;

    DBChart2: TDBChart;

    Series2: TBarSeries;

    DBChart3: TDBChart;

    RadioGroup2: TRadioGroup;

    Button5: TButton;

    StringGrid1: TStringGrid;

    Button6: TButton;

    SpinEdit1: TSpinEdit;

    Button7: TButton;

    DBEdit1: TDBEdit;

    DBEdit2: TDBEdit;

    ADOTable2: TADOTable;

    DataSource2: TDataSource;

    Label7: TLabel;

    Label8: TLabel;

    Label9: TLabel;

    Label10: TLabel;

    Label11: TLabel;

    Label12: TLabel;

    Label13: TLabel;

    ADOTable1DSDesigner: TAutoIncField;

    ADOTable1DSDesigner2: TWideStringField;

    ADOTable1DSDesigner3: TWideStringField;

    ADOTable1DSDesigner4: TBCDField;

    ADOTable1DSDesigner5: TIntegerField;

    ADOTable2DSDesigner: TAutoIncField;

    ADOTable2DSDesigner2: TWideStringField;

    ADOTable2DSDesigner3: TWideStringField;

    ADOTable2DSDesigner4: TBCDField;

    ADOTable2DSDesigner5: TIntegerField;

    Series3: TLineSeries;

    PopupMenu1: TPopupMenu;

    N2: TMenuItem;

    N3: TMenuItem;

    N4: TMenuItem;

    N5: TMenuItem;

    N6: TMenuItem;

    N7: TMenuItem;

    DBEdit3: TDBEdit;

    DBEdit4: TDBEdit;

    Label14: TLabel;

    Image1: TImage;

    Image2: TImage;

    Image3: TImage;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure RadioGroup4Click(Sender: TObject);

    procedure N1Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Button7Click(Sender: TObject);

    procedure Button6Click(Sender: TObject);

    procedure N2Click(Sender: TObject);

    procedure N4Click(Sender: TObject);

    procedure N5Click(Sender: TObject);

    procedure N6Click(Sender: TObject);

    procedure N7Click(Sender: TObject);

    procedure N9Click(Sender: TObject);

    procedure N10Click(Sender: TObject);

    procedure N12Click(Sender: TObject);

    procedure N21Click(Sender: TObject);

    procedure N31Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

uses Unit2, Unit3;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);  {Добавление}

begin

if (not (form1.Edit1.Text='')) and (not(form1.Edit2.Text='')) and (not (form1.Edit3.Text='')) and (not (form1.Edit4.Text='')) then

begin

form1.ADOTable1.Insert;

form1.ADOTable1.FieldValues['Название ']:=form1.Edit1.Text;

form1.ADOTable1.FieldValues['Издательство']:=form1.Edit2.Text;

form1.ADOTable1.FieldValues['Цена']:=form1.Edit3.Text;

form1.ADOTable1.FieldValues['Количество на складе']:=form1.Edit4.Text;

form1.ADOTable1.Post;

 

end

else

messagebox(0, pchar('Вы не ввели все необходимые значения'),pchar('ВНИМАНИЕ!'),mb_iconinformation+mb_ok);

end;

procedure TForm1.Button2Click(Sender: TObject);  {Кнопка отчистки}

begin

Edit1.Clear;

Edit2.Clear;

Edit3.Clear;

Edit4.Clear;

end;

procedure TForm1.RadioGroup4Click(Sender: TObject); {Сортировка}

begin

case RadioGroup2.ItemIndex of

  0:ADOTable1.Sort:= 'Издательство ASC';

  1:ADOTable1.Sort:= 'Цена';

  2:ADOTable1.Sort:= 'Название ASC';

  end;

end;

 

procedure TForm1.N1Click(Sender: TObject);  {Выход}

begin

Close;

Form2.Close;

end;

procedure TForm1.Button5Click(Sender: TObject); {Кнопка «Добавить в корзину»}

var k: real;    i: integer;

begin

if  ((form1.SpinEdit1.Text<>'0') and (not (strtoint(form1.SpinEdit1.Text)>strtoint(form1.DBEdit1.Text)))) then

begin

k:=strtoint(form1.DBEdit2.Text)*strtofloat(form1.SpinEdit1.text);

i:=form1.StringGrid1.RowCount-1;

form1.StringGrid1.Cells[0,i]:=form1.DBEdit3.Text;

form1.StringGrid1.Cells[1,i]:=form1.DBEdit4.Text;

form1.StringGrid1.Cells[2,i]:=form1.SpinEdit1.Text;

form1.StringGrid1.Cells[3,i]:=floattostr(k);

form1.StringGrid1.RowCount:=form1.StringGrid1.RowCount+1;

end

else

if strtoint(form1.SpinEdit1.Text)>strtoint(form1.DBEdit1.Text) then

  messagebox(0, pchar('Количество выбранного товара больше, чем имеется на складе!'),pchar('ВНИМАНИЕ!'),mb_iconinformation+mb_ok)

  else

   messagebox(0, pchar('Вы не ввели все необходимые значения!'),pchar('ВНИМАНИЕ!'),mb_iconinformation+mb_ok);

end;

procedure TForm1.Button7Click(Sender: TObject);  {Кнопка удалить"}

var i,j: integer;

begin

i:=form1.StringGrid1.Row;

if form1.StringGrid1.RowCount=i then

begin

  form1.StringGrid1.Cells[0,i]:='';

  form1.StringGrid1.Cells[1,i]:='';

  form1.StringGrid1.Cells[2,i]:='';

  form1.StringGrid1.Cells[3,i]:='';

  form1.StringGrid1.RowCount:=form1.StringGrid1.RowCount-1;

end

else

begin

  for j:=i to form1.StringGrid1.RowCount-1  do

  begin

  form1.StringGrid1.Cells[0,j]:=form1.StringGrid1.Cells[0,j+1];

  form1.StringGrid1.Cells[1,j]:=form1.StringGrid1.Cells[1,j+1];

  form1.StringGrid1.Cells[2,j]:=form1.StringGrid1.Cells[2,j+1];

  form1.StringGrid1.Cells[3,j]:=form1.StringGrid1.Cells[3,j+1];

  end;

  form1.StringGrid1.RowCount:=form1.StringGrid1.RowCount-1;

end;

end;

procedure TForm1.Button6Click(Sender: TObject); {Кнопка купить"}

var i,j,u: integer;

begin

j:=form1.StringGrid1.RowCount-2;

for i:=1 to j do

  begin

  while not ((form1.ADOTable1.FieldValues['Название']=form1.StringGrid1.Cells[0,i])or(form1.ADOTable1.EOF))do

   begin

     form1.ADOTable1.Next;

   end;

    if (form1.ADOTable1.FieldValues['Название ']=form1.StringGrid1.Cells[0,i]) then

     begin

     if  not(form1.ADOTable1.FieldValues['Количество на складе']<strtoint(form1.StringGrid1.Cells[2,i])) then

      begin

      u:=form1.ADOTable1.FieldValues['Количество на складе']-strtoint(form1.StringGrid1.Cells[2,i]);

      form1.ADOTable1.Edit;

      form1.ADOTable1.FieldValues['Количество на складе']:=u;

      form1.ADOTable1.Post;

      form1.ADOTable2.Insert;

      form1.ADOTable2.FieldValues['Название']:=form1.StringGrid1.Cells[0,i];

      form1.ADOTable2.FieldValues['Издание']:=Form1.StringGrid1.Cells[1,i];

      form1.ADOTable2.FieldValues['Количество на складе']:=strtoint(form1.StringGrid1.Cells[2,i]);

      form1.ADOTable2.FieldValues['Цена']:=strtofloat(form1.StringGrid1.Cells[3,i]);

      form1.ADOTable2.Post;

      form1.StringGrid1.Cells[0,i]:='';

      form1.StringGrid1.Cells[1,i]:='';

      form1.StringGrid1.Cells[2,i]:='';

      form1.StringGrid1.Cells[3,i]:='';

      messagebox(0, pchar('Благодарим за заказ!'), pchar ('СПАСИБО!'), mb_iconinformation+mb_ok);

      end;

     end

  else

   messagebox(0, pchar('Количество не совпадает с количеством на складе!'),pchar('ВНИМАНИЕ!'),mb_iconinformation+mb_ok);

end;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

if application.MessageBox(PChar('Удалить '+ADOTable1DSDesigner2.AsString),

'Внимание!',MB_OKCANCEL)=id_OK then

ADOTable1.Delete;

end;

procedure TForm1.N4Click(Sender: TObject);

var c:string;

begin

Form1.TabSheet1.Show;

c:=InputBox('По названию введите название:','');

if Length(c)>0 then

form1.ADOTable1.Filtered:=true

else

form1.ADOTable1.Filtered:=false;

form1.ADOTable1.Filter:='название='''+c+'''';

end;

procedure TForm1.N5Click(Sender: TObject);

var c:string;

begin

Form1.TabSheet1.Show;

c:=InputBox('по издательству, введите издательство:','');

if Length(c)>0 then

form1.ADOTable1.Filtered:=true

else

form1.ADOTable1.Filtered:=false;

form1.ADOTable1.Filter:='издательство='''+c+'''';

end;

procedure TForm1.N6Click(Sender: TObject);

var c:string;

begin

Form1.TabSheet1.Show;

c:=InputBox('По цене введите цену:','');

if Length(c)>0 then

form1.ADOTable1.Filtered:=true

else

form1.ADOTable1.Filtered:=false;

form1.ADOTable1.Filter:='Цена='''+c+'''';

end;

procedure TForm1.N7Click(Sender: TObject);

begin

form1.ADOTable1.Filtered:=false;

end;

procedure TForm1.N9Click(Sender: TObject);

begin

Form1.TabSheet2.Show;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

Form1.TabSheet3.Show;

end;

 

procedure TForm1.N12Click(Sender: TObject);

begin

Form1.TabSheet5.Show;

end;

procedure TForm1.N21Click(Sender: TObject);

begin

Form1.TabSheet6.Show;

end;

procedure TForm1.N31Click(Sender: TObject);

begin

Form1.TabSheet7.Show;

end;

end.

 

 

 

Приложение Б

 

Интерфейсная форма .

 

 


Информация о работе Книжный магазин