Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DP.doc
Скачиваний:
4
Добавлен:
22.09.2019
Размер:
9.54 Mб
Скачать

Заключение

Тема дипломного проекта была выбрана в соответствии с заданием, выданном руководителем преддипломной практики.

В первой главе выполнены следующие задачи, а именно: конкретизирована постановка задачи, проведён обзор существующих решений и обоснован выбор языка программирования.

Во второй главе выполнены следующие задачи, а именно: разработана структурная схема, разработан интерфейс программного продукта, определены технические требования к оборудованию, на котором будет выполняться разработанная программа, проведён тест программного продукта, разработано оператора и руководство системного программиста.

В третьей главе выполнены следующие задачи, а именно:

Составленная смета затрат на программный продукт.

Подводя итоги выполненного задания, следует отметить, что в нём были достигнуты поставленная цель и задачи.

Список используемой литературы

1. Галисеев Г. В. Программирование в среде Delphi 7. Самоучитель;

2. Жуков А. В. Изучаем Delphi. г. Санкт-Петербург: издательство «Питер», 2007 г. - 352 с.;

3. Фаронов В. В. Delphi. Программирование на языке высокого уровня г. Санкт-Перетбург: издательство «Питер», 2010 г. - 640 с.;

4. http://delphi-z.ru/tags/MySQL

5. www.delphiexpert.ru/

6. www.delphi.int.ru/

7. www.edelphi.ru/

8. www.cyberforum.ru

9. www.sql.ru

10. www.delphisources.ru

11. www.delphi-z.ru

12. www.delphicode.org

13. www.programmersforum.ru

Приложение. Код программы

Главная форма

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, Grids, DBGrids, ADODB, DB, StdCtrls, Buttons, ExtCtrls,

DBCtrls, Mask;

type

TForm1 = class(TForm)

con1: TADOConnection;

ds1: TDataSource;

ds2: TDataSource;

tbl1: TADOTable;

tbl2: TADOTable;

dbgrd1: TDBGrid;

dbgrd2: TDBGrid;

mm1: TMainMenu;

N1: TMenuItem;

tbl2DSDesigner2: TWideStringField;

tbl2DSDesigner3: TWideStringField;

pnl1: TPanel;

pnl2: TPanel;

btn1: TBitBtn;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

BitBtn7: TBitBtn;

BitBtn8: TBitBtn;

N2: TMenuItem;

Edit1: TEdit;

Label1: TLabel;

BitBtn4: TBitBtn;

BitBtn9: TBitBtn;

tbl1DSDesigner: TIntegerField;

tbl2DSDesigner: TAutoIncField;

tbl1DSDesigner3: TIntegerField;

tbl2DSDesigner4: TDateTimeField;

tbl1DSDesigner2: TWideStringField;

tbl1DSDesigner4: TWideStringField;

tbl1DSDesigner5: TDateTimeField;

procedure btn1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure Edit1Change(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

procedure BitBtn7Click(Sender: TObject);

procedure BitBtn8Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn9Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

kolihi,naim,new:string;

sosd: Integer;

implementation

uses Unit2,Unit3,Unit4;

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject); //подготавливает и открывает форму для добавления записи

begin

if sosd=9 then

ShowMessage('Извените на данный момент вы переносите запись и другие функции недоступны') else begin

unit4.Form4.Edt1.Clear;

unit4.Form4.Edt2.Clear;

unit4.Form4.Edt1.Visible:=True;

unit4.Form4.Edt2.Visible:=True;

unit4.Form4.dbEdt1.Visible:=False;

unit4.Form4.dbEdt3.Visible:=False;

sosd:=0;

unit4.Form4.ShowModal;

end;

end;

procedure TForm1.N2Click(Sender: TObject);//Открывает форму выхода из программы

begin

if sosd=9 then

ShowMessage('Извените на данный момент вы переносите запись и другие функции недоступны') else begin

unit3.Form3.Visible:=true;

end;

end;

procedure TForm1.Edit1Change(Sender: TObject);//система поиска на панели

begin

if Length(Edit1.Text)>0 then

Tbl2.Filtered:=True

else

Tbl2.Filtered:=False;

Tbl2.Filter:='Отдел='''+Edit1.Text+'''';

end;

procedure TForm1.BitBtn1Click(Sender: TObject); //подготавливает и открывает форму для редактирования записи

begin

if sosd=9 then

ShowMessage('Извените на данный момент вы переносите запись и другие функции недоступны') else begin

unit4.Form4.Edt1.Visible:=False;

unit4.Form4.Edt2.Visible:=False;

unit4.Form4.dbEdt1.Visible:=True;

unit4.Form4.dbEdt3.Visible:=True;

kolihi:=unit4.Form4.DBEdt1.text;

naim:=unit4.Form4.DBEdt3.text;

sosd:=3;

unit4.Form4.ShowModal;

end;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);// удаляет выбранную запись

begin

if sosd=9 then

ShowMessage('Извените на данный момент вы переносите запись и другие функции недоступны') else begin

Tbl2.Delete;

end;

end;

procedure TForm1.BitBtn3Click(Sender: TObject); //сортировка таблицы по алфавиту

begin

unit1.Form1.tbl2.Sort:='Отдел';

end;

procedure TForm1.BitBtn5Click(Sender: TObject);//подготавливает и открывает форму для добавления записи

begin

if sosd=9 then

ShowMessage('Извените на данный момент вы переносите запись и другие функции недоступны') else begin

unit2.Form2.Show;

Unit2.Form2.edt1.Clear;

Unit2.Form2.edt2.Clear;

Unit2.Form2.edt5.Clear;

unit2.Form2.Caption:='Добавление записи...';

unit2.Form2.Label1.Caption:='Модель оборудования';

unit2.Form2.Label2.Caption:='Инвентарный номер';

sosd:=1;

end;

end;

procedure TForm1.BitBtn6Click(Sender: TObject);//удаляет запись из таблицы

begin

if sosd=9 then

ShowMessage('Извените на данный момент вы переносите запись и другие функции недоступны') else begin

Tbl1.Delete;

end;

end;

procedure TForm1.BitBtn7Click(Sender: TObject); //подготавливает и открывает форму для редактирования записи

begin

if sosd=9 then

ShowMessage('Извените на данный момент вы переносите запись и другие функции недоступны') else begin

Unit2.Form2.edt1.Text:=Unit2.Form2.DBEdit4.Text;

Unit2.Form2.edt2.Text:=Unit2.Form2.DBEdit2.Text;

Unit2.Form2.edt5.Text:=Unit2.Form2.DBEdit7.Text;

unit2.Form2.Caption:='Редоктирование записи...';

unit2.Form2.Label1.Caption:='Модель оборудования';

unit2.Form2.Label2.Caption:='Инвентарный номер';

sosd:=2;

unit2.Form2.ShowModal;

end;

end;

procedure TForm1.BitBtn8Click(Sender: TObject);//сортировка таблицы

begin

unit1.Form1.tbl1.Sort:='Наименование';

end;

procedure TForm1.BitBtn4Click(Sender: TObject);//активация переноса записи

begin

if sosd=9 then

ShowMessage('Извените на данный момент вы переносите запись и другие функции недоступны') else begin

sosd:=9;

ShowMessage('Вы переносите запись!');

BitBtn9.Visible:=True;

naim:=unit2.Form2.dbedit4.text;

kolihi:=unit2.Form2.dbedit2.text;

new:=unit2.Form2.dbedit7.text;

tbl1.Delete;

end;

end;

procedure TForm1.BitBtn9Click(Sender: TObject);//выбор места переноса записи и проверка на одинаковые инвентарные номера

var s,s1,s2:Integer;

begin

Unit1.Form1.dbgrd1.DataSource.DataSet.First;

s2:=0;

s1:=StrToInt(Unit2.Form2.edt2.Text);

while not(Unit1.Form1.tbl1.Eof) do begin

s:=unit1.Form1.tbl1.FieldByName('Инвентарный номер').AsInteger;

unit1.Form1.Tbl1.Next;

if s1=s then begin

s2:=s2+1;

ShowMessage('Внимание! Инвентарь с данным номером в текущем отделе уже есть!');

exit;

end;

end;

if s2=0 then begin

sosd:=90;

Tbl1.Insert;

unit2.Form2.dbedit7.text:=naim;

unit2.Form2.dbedit4.text:=naim;

unit2.Form2.dbedit2.text:=kolihi;

unit2.Form2.DBEdit6.Text:=DateToStr(Date);

ShowMessage('Запись успешно перенесена');

tbl2.Refresh;

BitBtn9.Visible:=False;

end;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if sosd=9 then begin

ShowMessage('Вы переносили запись!Запись удалена!');

end;

end;

end.

Форма 2

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Mask, DBCtrls, Buttons;

type

TForm2 = class(TForm)

Button1: TButton;

btn1: TBitBtn;

DBEdit2: TDBEdit;

DBEdit4: TDBEdit;

Label1: TLabel;

Label2: TLabel;

edt1: TEdit;

edt2: TEdit;

dbedt1: TDBEdit;

DBEdit6: TDBEdit;

edt5: TEdit;

lbl1: TLabel;

DBEdit7: TDBEdit;

procedure Button1Click(Sender: TObject);

procedure btn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);//проверка на внесенные значения в поля и добавление их в таблицы

var

s,s1,s2:Integer;

begin

if sosd=1 then begin

if (edt2.Text='')or (edt1.Text='') or (edt5.Text='') then begin

showmessage('Введите все данные.');

exit;

end;

Unit1.Form1.dbgrd1.DataSource.DataSet.First;

s2:=0;

s1:=StrToInt(edt2.Text);

while not(Unit1.Form1.tbl1.Eof) do begin

s:=unit1.Form1.tbl1.FieldByName('Инвентарный номер').AsInteger;

unit1.Form1.Tbl1.Next;

if s1=s then begin

s2:=s2+1;

ShowMessage('Внимание! Инвентарь с данным номером в текущем отделе уже есть!');

exit;

end;

end;

if s2=0 then begin

Unit1.Form1.tbl1.Insert;

Unit2.Form2.DBEdit2.Text:=edt2.Text;

Unit2.Form2.DBEdit4.Text:=edt1.Text;

Unit2.Form2.DBEdit7.Text:=edt5.Text;

DBEdit6.Text:=DateToStr(Date);

Unit1.Form1.tbl2.Refresh;

end;

Unit2.Form2.lbl1.Visible:=false;

Unit2.Form2.edt5.Visible:=false;

end;

if sosd=2 then begin

if (edt1.Text='')or (edt2.Text='')or (edt5.Text='') then begin

showmessage('Введите все данные.');

exit;

end;

Unit1.Form1.tbl1.Delete;

Unit1.Form1.dbgrd1.DataSource.DataSet.First;

s2:=0;

s1:=StrToInt(edt2.Text);

while not(Unit1.Form1.tbl1.Eof) do begin

s:=unit1.Form1.tbl1.FieldByName('Инвентарный номер').AsInteger;

unit1.Form1.Tbl1.Next;

if s1=s then begin

s2:=s2+1;

Unit1.Form1.tbl1.Insert;

DBEdit4.Text:=kolihi;

DBEdit2.Text:=naim;

DBEdit6.Text:=DateToStr(Date);

ShowMessage('Внимание! Инвентарь с данным номером в текущем отделе уже есть!');

end;

end;

if s2=0 then begin

Unit1.Form1.tbl1.Insert;

Unit2.Form2.DBEdit4.Text:=edt1.Text;

Unit2.Form2.DBEdit2.Text:=edt2.Text;

Unit2.Form2.DBEdit7.Text:=edt5.Text;

DBEdit6.Text:=DateToStr(Date);

Unit1.Form1.tbl2.Refresh;

end;

end;

Unit1.Form1.tbl2.Refresh;

Form2.Close;

end;

procedure TForm2.btn1Click(Sender: TObject);//закрытие формы

begin

unit2.Form2.Close;

end;

end.

Форма 3

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Mask, DBCtrls;

type

TForm3 = class(TForm)

Button1: TButton;

Button2: TButton;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses unit1;

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);//закрытие программы

begin

unit3.Form3.Close;

unit1.Form1.Close;

end;

procedure TForm3.Button2Click(Sender: TObject);//закрытие данной формы

begin

unit3.Form3.Close;

end;

end.

Форма 4

unit Unit4;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Mask, DBCtrls;

type

TForm4 = class(TForm)

dbedt1: TDBEdit;

dbedt2: TDBEdit;

dbedt3: TDBEdit;

edt1: TEdit;

edt2: TEdit;

lbl1: TLabel;

lbl2: TLabel;

btn1: TButton;

btn2: TButton;

procedure btn1Click(Sender: TObject);

procedure btn2Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

uses Unit1, Unit2;

{$R *.dfm}

procedure TForm4.btn1Click(Sender: TObject);//Проверка на внесенные данные и добавление их в таблицы

begin

if sosd=0 then begin

if (edt1.Text='')or (edt2.Text='') then begin

showmessage('Введите все данные.');

exit;

end;

Unit1.Form1.tbl2.Insert;

Unit4.Form4.DBEdt1.Text:=edt1.Text;

Unit4.Form4.DBEdt3.Text:=edt2.Text;

DBEdt2.Text:=DateToStr(Date);

Unit1.Form1.tbl2.Refresh;

end;

if sosd=3 then begin

if (dbedt1.Text='')or (dbedt2.Text='') then begin

showmessage('Введите все данные.');

exit;

end;

end;

Unit1.Form1.tbl2.Refresh;

Form4.Close;

end;

procedure TForm4.btn2Click(Sender: TObject);

begin

if sosd=3 then begin

DBEdt1.Clear;

DBEdt3.Clear;

DBEdt1.text:=kolihi;

DBEdt3.text:=naim;

Unit1.Form1.tbl2.Refresh;

end;

unit4.Form4.Close;

end;

procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if sosd=3 then begin

DBEdt1.Clear;

DBEdt3.Clear;

DBEdt1.text:=kolihi;

DBEdt3.text:=naim;

Unit1.Form1.tbl2.Refresh;

end;

unit4.Form4.Close;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]