Автор работы: Пользователь скрыл имя, 27 Февраля 2013 в 18:58, курсовая работа
Целью данной курсовой работы является разработка базы данных для решения задач учета сотрудников с использованием возможностей системы Delphi 7.
Задачами данной курсовой работы являются: закрепление навыков по разработке баз данных (БД) с использованием возможной системы Delphi 7; приобретение практических навыков по созданию сопроводительной документации, по описанию баз данных и программ.
ВВЕДЕНИЕ ……………………………………………………………………… 5
1 ФОРМАЛИЗАЦИЯ ЗАДАЧИ ..................................................................... 7
1.1 Постановка задач ………………………………………………………... 7
1.2 Разработка структуры базы данных ……………………………............. 7
2 СОЗДАНИЕ БД ………………………………………………………….. 10
2.1 Описание СУБД ………………………………………………………... 10
2.2 Разработка БД ………………………………………………………….. 11
3 СОЗДАНИЕ ПРИКЛАДНОЙ ПРОГРАММЫ ………………………… 16
3.1 Введение ……………………………………………………………….. 16
3.2 Функциональное назначение …………………………………………. 16
3.3 Описание логики ……………………………………………………… 18
4 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ………………………………. ……22
ЗАКЛЮЧЕНИЕ……………………………………………………………. ……28
СПИСОК ЛИТЕРАТУРЫ………………………………………………… ……30
ПРИЛОЖЕНИЕ А…………………………………………………………. ……31
ПРИЛОЖЕНИЕ Б………………………………………………………………..32
Приложение А
Тексты запросов
Запрос 1
SELECT Name_f Название, Nom_RS РС, Summa_vk Сумма_вклада, Srok Срок_вклада, Cod_vk Код_вклада
FROM WorkDir\Firma.DB
WHERE Summa_vk=:Summa
Запрос 2
SELECT Name_f Название, Nom_RS РС, Summa_vk Сумма_вклада, Srok Срок_вклада, Cod_vk Код_вклада
FROM WorkDir\Firma.DB
WHERE Summa_vk > 50000
Приложение Б
Код программы
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3},
Unit4 in 'Unit4.pas' {Form4},
Unit5 in 'Unit5.pas' {Form5},
Unit6 in 'Unit6.pas' {Form6};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm5, Form5);
Application.CreateForm(TForm6, Form6);
Application.Run;
end.
Код 1 модуля
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBTables, ExtCtrls, DBCtrls, Buttons,
StdCtrls, Menus;
type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Table1Nom_f: TAutoIncField;
Table1Name_f: TStringField;
Table1Nom_RS: TIntegerField;
Table1Summa_vk: TCurrencyField;
Table1Srok: TFloatField;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Button1: TButton;
DBGrid2: TDBGrid;
DataSource2: TDataSource;
Table2: TTable;
Table2Cod_vk: TIntegerField;
Table2Vid_vk: TStringField;
Table2Percent: TFloatField;
Table1Cod_vk: TIntegerField;
SpeedButton3: TSpeedButton;
Edit1: TEdit;
Label1: TLabel;
DBGrid3: TDBGrid;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Query1: TQuery;
DataSource3: TDataSource;
SpeedButton4: TSpeedButton;
Edit2: TEdit;
Table1Summa_n: TFloatField;
SpeedButton5: TSpeedButton;
MainMenu1: TMainMenu;
N1: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N2: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
Button2: TButton;
N7: TMenuItem;
procedure Table1Summ_nGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure Table1Summa_vkSetText(Sender: TField; const Text: String);
procedure Table1SrokSetText(Sender: TField; const Text: String);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure AutoIncField1Change(Sender: TField);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Table1.Open;
Table2.Open;
end;
procedure TForm1.Table1Summ_nGetText(
DisplayText: Boolean);
begin
if Table1Srok.Value>=6
then
Text:=FloatToStr(0.12*Table1Su
else
Text:=FloatToStr(0.08*
end;
procedure TForm1.SpeedButton1Click(
begin
Table1.IndexFieldNames:='Nom_
end;
procedure TForm1.SpeedButton2Click(
begin
Table1.IndexFieldNames:='
end;
procedure TForm1.Table1Summa_vkSetText(
var
s:double;
begin
s:=strtofloat(text);
if s<5000 then
begin
showmessage ('Значение в поле "Сумма" не может быть менее 5000');
table1Summa_vk.Value:=5000;
end
else
table1Summa_vk.Value:=s;
end;
procedure TForm1.Table1SrokSetText(
var
srok:double;
begin
srok:=strtofloat(text);
if (srok<5) or (srok>36) then
begin
showmessage ('Значение в поле "Cрок" не может быть менее 5 и более 36 месяцев');
table1Srok.Value:=5;
end
else
table1Srok.Value:=srok;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.IndexFieldNames:='';
end;
procedure TForm1.SpeedButton3Click(
begin
if SpeedButton3.Caption = 'Фильтр' then
begin
table1.Filter:= 'Srok > '+ edit1.text +' or Srok = '+ edit1.text;
table1.Filtered:=true;
SpeedButton3.Caption := 'Отменить фильтр' ;
end
else
begin
SpeedButton3.Caption := 'Фильтр' ;
table1.Filtered:=false;
edit1.Text:='';
end
end;
procedure TForm1.SpeedButton4Click(
begin
if SpeedButton4.Caption = 'Запрос "Cумма вклада"' then
begin
query1.ParamByName('Summa').
query1.Open;
SpeedButton4.Caption:= 'Закрыть запрос'
end
else
begin
SpeedButton4.Caption:= 'Запрос "Cумма вклада"' ;
query1.Close;
end;
end;
procedure TForm1.SpeedButton5Click(
var
i,c:integer;
begin
Table1.First;
c:= table1.IndexFieldCount;
For i:= 0 to c do
begin
Table1.Edit;
if Table1.FieldByName('Srok').
Table1.FieldByName('Summa_n').
else
Table1.FieldByName('Summa_n').
Table1.Next;
end;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
Form2.showmodal;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
Table1.Close;
Table1.Open;
Table1.IndexName:='Cod_vk' ;
Form3.QuickRep1.Preview ;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
//Query1.Close;
//query1.ParamByName('Summa').
//Query1.Open;
Form4.QuickRep1.Preview ;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Form5.show;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Form6.show;
end;
procedure TForm1.FormClose(Sender: TObject);
begin
Table1.Close;
Table2.Close;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
Form2.Show;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close
end;
end.
Код 2 модуля
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
Form2.Close;
end;
end.
Код 3 модуля
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, QuickRpt, QRCtrls;
type
TForm3 = class(TForm)
QuickRep1: TQuickRep;
QRBand1: TQRBand;
QRLabel1: TQRLabel;
QRBand2: TQRBand;
QRDBText1: TQRDBText;
QRDBText2: TQRDBText;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRDBText5: TQRDBText;
QRDBText7: TQRDBText;
QRBand3: TQRBand;
QRLabel2: TQRLabel;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRLabel8: TQRLabel;
QRGroup1: TQRGroup;
QRDBText6: TQRDBText;
QRBand4: TQRBand;
QRExpr1: TQRExpr;
QRLabel7: TQRLabel;
QRLabel9: TQRLabel;
procedure QRBand1AfterPrint(Sender: TQRCustomBand;
BandPrinted: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.QRBand1AfterPrint(
BandPrinted: Boolean);
begin
;
end;
end.
Код 4 модуля
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, QRCtrls, QuickRpt, ExtCtrls;
type
TForm4 = class(TForm)
QuickRep1: TQuickRep;
QRBand1: TQRBand;
QRLabel1: TQRLabel;
QRBand2: TQRBand;
QRDBText1: TQRDBText;
QRDBText2: TQRDBText;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRDBText5: TQRDBText;
QRLabel2: TQRLabel;
QRExpr1: TQRExpr;
QRBand3: TQRBand;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRLabel7: TQRLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
end.
Код 5 модуля
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, TeEngine, Series, ExtCtrls, TeeProcs, Chart,
DbChart, TeeFunci;
type
TForm5 = class(TForm)
DBChart1: TDBChart;
Series1: TBarSeries;
Table1: TTable;
Table1Nom_f: TAutoIncField;
Table1Name_f: TStringField;
Table1Nom_RS: TIntegerField;
Table1Summa_vk: TCurrencyField;
Table1Srok: TFloatField;
Table1Cod_vk: TIntegerField;
Table1Summa_n: TFloatField;
TeeFunction1: TMultiplyTeeFunction;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
end.
Код 6 модуля
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, TeEngine, Series, ExtCtrls, TeeProcs, Chart,