Автор: Пользователь скрыл имя, 26 Февраля 2013 в 15:17, курсовая работа
Задачей данного проекта является разработка программного обеспечения в среде визуального программирования Delphi для информационной системы в конкретной предметной области. Программа рассчитана на пользование сотрудниками салона мебели, и предназначена для хранения информации об имеющихся товарах, их количестве, качестве, о производителе, цене, также возможен поиск товара, сортировка, построение диаграмм для наглядности представления данных. Также возможен ввод, корректировка и сохранение данных.
1. Постановка задачи ……………………………………………………..…….3
2. Описание предметной области……………………………………………….4
3. Проектирование интерфейса
3.1. Выбор и назначение визуальных компонентов………………….…5
3.2. Формы проекта ..…………………………………………….…..……6
4. Разработка программного обеспечения
4.1. основные процедуры……………………………………..……….…11
4.2. Текст программы……………………………………………….……12
5. Визуальное представление результатов………………………………..….30
6. Список литературы……………………………………………………..…...32
Image1: TImage;
Button1: TButton;
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.btn1Click(Sender: TObject);
begin
{поиск по материалу}
if rb1.Checked then
begin
if Edt1.Text='' then exit;
Form2.tblMebelName.Filtered := false;
Form2.tblMebelName.Filter := 'Материал LIKE ''*' + Edt1.Text + '*''';
Form2.tblMebelName.Filtered := true;
end;
{поиск по цене}
if rb2.Checked then
begin
if Edt1.Text='' then exit;
Form2.tblMebelName.Filtered := false;
Form2.tblMebelName.Filter := 'Товар LIKE ''*' + Edt1.Text + '*''';
Form2.tblMebelName.Filtered := true;
end;
{поиск по стране производителя:}
if rb3.Checked then
begin
if Edt1.Text='' then exit;
Form2.tblMebelName.Filtered := false;
Form2.tblMebelName.Filter := 'Страна_производитель LIKE ''*' + Edt1.Text + '*''';
Form2.tblMebelName.Filtered := true;
end;
end;
procedure TForm2.btn2Click(Sender: TObject);
begin
{скрываем окно поиска и открываем главное окно}
form2.Hide;
form1.Show;
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TForm3 = class(TForm)
Image1: TImage;
Button1: TButton;
Label8: TLabel;
Label7: TLabel;
Label6: TLabel;
Label5: TLabel;
Label4: TLabel;
Label3: TLabel;
Label2: TLabel;
Label1: TLabel;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit1, Unit2;
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
{скрытие титульной формы}
Form3.Hide;
{открытие главного окна:}
Form1.Show;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
close;
end;
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Series, BubbleCh, TeEngine, ExtCtrls, TeeProcs, Chart, DB,
ADODB, Grids, DBGrids, GanttCh;
type
TForm4 = class(TForm)
DBGrid1: TDBGrid;
MebelName: TADOTable;
MebelNameКод: TAutoIncField;
MebelNameТовар: TWideStringField;
MebelNameМатериал: TWideStringField;
MebelNameКоличество: TIntegerField;
MebelNameЦена: TIntegerField;
MebelNameСтрана_производитель: TWideStringField;
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
Chart1: TChart;
Chart2: TChart;
Chart3: TChart;
Series1: TPieSeries;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Series3: TGanttSeries;
Label1: TLabel;
Button5: TButton;
Series2: TBarSeries;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject); {диаграммf по товару}
var
kat: array of string;
kol: array of integer;
I,f: integer;
n:boolean;
begin
chart3.hide;
chart2.hide;
chart1.show;
Chart1.Series[0].Clear;
SetLength(kat, Form4.MebelName.RecordCount);
SetLength(kol, Form4.MebelName.RecordCount);
for I := 0 to length(kat)-1 do
begin
kat[I] := '';
kol[I] := 0;
end;
Form4.MebelName.First;
I := 0;
while not Form4.MebelName.Eof do
begin
if Form4.MebelName.FieldByName('
begin
n:=false;
for f := 0 to length(kat)-1 do
if kat[f] = Form4.MebelName.FieldByName
('товар').AsString then
begin
n:=true;
end;
if n=false then
begin
kat[I] := Form4.MebelName.FieldByName('
kol[I] := 0;
end;
I := I + 1;
end;
Form4.MebelName.Next;
end;
Form4.MebelName.First;
I := 0;
Form4.MebelName.First;
while not Form4.MebelName.Eof do
begin
for I := 0 to length(kat)-1 do
if kat[I] = Form4.MebelName.FieldByName
('товар').AsString then
kol[I] := kol[I] + Form4.MebelName.FieldByName
(Form4.DBGrid1.Columns.Items[
Form4.MebelName.Next;
end;
Form4.MebelName.First;
for I := 0 to length(kat)-1 do
if kat[I] <> '' then
begin
Chart1.Series[0].Add(kol[I], kat[I], clTeeColor);
end;
end;
procedure TForm4.Button2Click(Sender: TObject); {диаграмма по материалу;}
var
kat: array of string;
kol: array of integer;
I,f: integer;
n:boolean;
begin
chart1.hide;
chart3.hide;
Chart2.show;
Chart1.Series[0].Clear;
SetLength(kat, Form4.MebelName.RecordCount);
SetLength(kol, Form4.MebelName.RecordCount);
for I := 0 to length(kat)-1 do
begin
kat[I] := '';
kol[I] := 0;
end;
Form4.MebelName.First;
I := 0;
while not Form4.MebelName.Eof do
begin
if Form4.MebelName.FieldByName('
begin
n:=false;
for f := 0 to length(kat)-1 do
if kat[f] = Form4.MebelName.FieldByName
('материал').AsString then
begin
n:=true;
end;
if n=false then
begin
kat[I] := Form4.MebelName.FieldByName('
kol[I] := 0;
end;
I := I + 1;
end;
Form4.MebelName.Next;
end;
Form4.MebelName.First;
I := 0;
Form4.MebelName.First;
while not Form4.MebelName.Eof do
begin
for I := 0 to length(kat)-1 do
if kat[I] = Form4.MebelName.FieldByName
('материал').AsString then
kol[I] := kol[I] + Form4.MebelName.FieldByName
(Form4.DBGrid1.Columns.Items[
Form4.MebelName.Next;
end;
Form4.MebelName.First;
for I := 0 to length(kat)-1 do
if kat[I] <> '' then
begin
Chart2.Series[0].Add(kol[I], kat[I], clTeeColor);
end;
end;
procedure TForm4.Button3Click(Sender: TObject); {диаграмма по стране производителя}
var
kat: array of string;
kol: array of integer;
I,f: integer;
n:boolean;
begin
chart1.hide;
chart2.hide;
Chart3.show;
Chart1.Series[0].Clear;
SetLength(kat, Form4.MebelName.RecordCount);
SetLength(kol, Form4.MebelName.RecordCount);
for I := 0 to length(kat)-1 do
begin
kat[I] := '';
kol[I] := 0;
end;
Form4.MebelName.First;
I := 0;
while not Form4.MebelName.Eof do
begin
if Form4.MebelName.FieldByName('
begin
n:=false;
for f := 0 to length(kat)-1 do
if kat[f] = Form4.MebelName.FieldByName
('страна_производитель').
begin
n:=true;
end;
if n=false then
begin
kat[I] := Form4.MebelName.FieldByName('
kol[I] := 0;
end;
I := I + 1;
end;
Form4.MebelName.Next;
end;
Form4.MebelName.First;
I := 0;
Form4.MebelName.First;
while not Form4.MebelName.Eof do
begin
for I := 0 to length(kat)-1 do
if kat[I] = Form4.MebelName.FieldByName
('страна_производитель').
kol[I] := kol[I] + Form4.MebelName.FieldByName
(Form4.DBGrid1.Columns.Items[
Form4.MebelName.Next;
end;
Form4.MebelName.First;
for I := 0 to length(kat)-1 do
if kat[I] <> '' then
begin
Chart3.Series[0].Add(kol[I], kat[I], clTeeColor);
end;
end;
procedure TForm4.Button4Click(Sender: TObject);
{скрывает окно диаграмм и открывает главное окно}
begin
form4.Hide;
form1.Show;
end;
procedure TForm4.Button5Click(Sender: TObject);
{закрытие программы}
begin
close;
end;
end.
5. Визуальное представление результатов
Рис.8 Окно с диаграммой по товару.
Рис.9 Окно с диаграммой по материалу.
Рис.10 Окно с диаграммой по стране производителя.
6. Список литературы
1. Гофман В., Хомоненко А. Delphi 7. - Спб.: “BHV”, 2008..
5. Фленов М. Программирование в Delphi глазами Хакера.
3. http://firefox.yandex.ru/